Skip to content

Add in LLM Observability Span Processor API - #12112

Draft
sabrenner wants to merge 12 commits into
masterfrom
sabrenner/llmobs-span-processor
Draft

Add in LLM Observability Span Processor API#12112
sabrenner wants to merge 12 commits into
masterfrom
sabrenner/llmobs-span-processor

Conversation

@sabrenner

@sabrenner sabrenner commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

What Does This Do

Adds in a user span processor API to process LLM Observability / Agent Observability spans before they are flushed to Datadog.

Motivation

Being able to redact input / output on certain spans, by analyzing tags on the LLM Observability span.

Additional Notes

Contributor Checklist

Jira ticket: MLOB-7902

@sabrenner sabrenner added type: feature Enhancements and improvements comp: mlobs ML Observability (LLMObs) labels Jul 30, 2026
@sabrenner

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Swish!

Reviewed commit: 9f02ef6973

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@dd-octo-sts

dd-octo-sts Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

🟡 Java Benchmark SLOs — Performance SLO warning (near threshold)

Suite Status
Startup 🟡 warning

SLO thresholds are defined here based on automatically generated metrics. A warning is raised when results are within 5% of the threshold.

PR vs. master results
Scenario Candidate master Δ (95% CI of mean)
startup:insecure-bank:iast:Agent 14.87 s 14.72 s [+0.0%; +1.9%] (maybe worse)
startup:insecure-bank:tracing:Agent 13.63 s 13.73 s [-1.8%; +0.2%] (no difference)
startup:petclinic:appsec:Agent 17.42 s 17.38 s [-0.8%; +1.3%] (no difference)
startup:petclinic:iast:Agent 17.41 s 17.49 s [-1.4%; +0.5%] (no difference)
startup:petclinic:profiling:Agent 17.50 s 17.41 s [-0.7%; +1.8%] (no difference)
startup:petclinic:sca:Agent 17.62 s 17.05 s [+2.3%; +4.4%] (significantly worse)
startup:petclinic:tracing:Agent 16.11 s 16.61 s [-7.2%; +1.1%] (no difference)

Commit: f02ee92d · CI Pipeline · Benchmarking Platform UI


Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion.

@datadog-prod-us1-6

This comment has been minimized.

@sabrenner sabrenner left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

self-review

@sabrenner

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a6c3dfe35d

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@sabrenner

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: edca6229c6

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@sabrenner

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review


P2 Badge Validate retrieval document list elements

For retrieval spans where _ml_obs_tag.output is a List that is not actually List<LLMObs.Document>, this loop performs the unchecked element cast and throws ClassCastException during serialization. Since the branch only checks val instanceof List, a malformed or user-provided list can drop the LLMObs payload instead of being skipped/logged like the non-list case; verify the elements are documents before serializing them as documents.

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@sabrenner

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e6492238d7

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@sabrenner

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6998e5192f

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

public interface Mapper<T> {
void map(T data, Writable packer);

default void map(T data, Writable packer, boolean retry) {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added this to help with knowing when mapping is retried for our LLMObsSpanMapper, as we do not want to re-trigger the user span-proessor in that case. I think I've set it up so that it's backwards compatible and CI seems to agree, but let me know if this is an issue!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: mlobs ML Observability (LLMObs) type: feature Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant