Repository navigation
Conversation
Overall package sizeSelf size: 9.46 MB Dependency sizes| name | version | self size | total size | |------|---------|-----------|------------| | import-in-the-middle | 3.5.1 | 127.66 kB | 531.94 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | dc-polyfill | 0.1.11 | 25.74 kB | 25.74 kB |🤖 This report was automatically generated by heaviest-objects-in-the-universe |
❌ ErrorsYour PR has failed checks. Please review the issues below and take necessary action before merging. 🚦 3 Pipeline jobs failed
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #10536 +/- ##
==========================================
- Coverage 86.38% 84.42% -1.96%
==========================================
Files 1043 1048 +5
Lines 167050 167336 +286
Branches 74 59 -15
==========================================
- Hits 144298 141279 -3019
- Misses 22752 26057 +3305
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
BenchmarksBenchmark execution time: 2026-10-09 18:44:17 Comparing candidate commit bc291ca in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 2394 metrics, 9 unstable metrics.
|
7c81b89 to
813fe04
Compare
567ec65 to
3017732
Compare
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d834a4ebf7
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e7c745bf1f
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const agentVersion = mlObsTags?.[SPAN_KIND] === 'agent' | ||
| ? mlObsTags[AGENT_VERSION] | ||
| : LLMObsTagger.tagMap.get(mlObsTags?.[PARENT_AGENT])?.[AGENT_VERSION] | ||
| if (agentVersion) tags[AGENT_VERSION_TAG_KEY] = agentVersion |
There was a problem hiding this comment.
Reject versions that cannot survive tag serialization
When an agent version contains a comma (for example, release,canary), this copies it verbatim into the tag map, and #objectTagsToStringArrayTags later emits agent_version:release,canary. That serializer explicitly documents commas as intake-side delimiters, so the value is split into agent_version:release plus an orphan tag instead of being reported as the supplied version. Validate or safely encode agent versions before adding this tag.
Useful? React with 👍 / 👎.
Adds `version` to the `agent` annotation option. It is reported as an `agent_version` tag on agent spans, resolved when the span finishes, and wins over a user tag of the same name. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Adds `version` to the `trace`, `wrap` and `decorate` options, matching `LLMObs.agent(version=...)` and `@agent(version=...)` in dd-trace-py. It applies to agent spans only, is kept out of the APM span options, and wins over a version declared by an enclosing annotation context. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A numeric version lost its formatting when converted (1.10 became 1.1, 2.0 became 2), merging distinct versions. dd-trace-py and dd-trace-java accept strings only. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The agent panel attributes tokens and cost to a version by reading agent_version on an agent's llm and embedding spans, matched to the agent by pagent_name. Each span now reports the version of the agent it is attributed to, resolved with the attribution at registration, matching dd-trace-java. A nested agent without a version does not inherit its ancestor's, since its spans are attributed to it. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…a non-string one Spans cached their agent's version at registration, so a version annotated after an intermediate span started was missed or stale on the spans under it. Each span now keeps a reference to its agent and reads the agent's version when it finishes. A set but non-string version is now dropped with a warning, as the Agent type documents. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
e7c745b to
0ae80a1
Compare
…race-java Each span copies its nearest agent's version when it starts. An agent without its own version reports the one it inherited, so an unversioned nested agent and its children carry the outer agent's version. A version changed after a child starts is not guaranteed to reach it. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
| }) | ||
| } | ||
|
|
||
| it('emits the declared version over a user tag of the same name, and leaves the tag on other spans', () => { |
There was a problem hiding this comment.
This kinda seems like a weird behavior? I would expect the declared version to win even for the descendant spans. Wdyt?
Co-authored-by: ncybul <124532568+ncybul@users.noreply.github.com>
Co-authored-by: ncybul <124532568+ncybul@users.noreply.github.com>
What does this PR do?
Adds an agent version, reported as an
agent_versiontag on the agent span and its child spans in the same process.Strings only. Each span copies its nearest agent's version when it starts. A nested agent without its own version, and its children, carry the outer agent's version, matching dd-trace-java. A version changed after a child span starts is not guaranteed to reach it.
Motivation
The agent panel attributes tokens and cost to a version through the agent's child spans. Matches dd-trace-py (DataDog/dd-trace-py#20693) and dd-trace-java (DataDog/dd-trace-java#12291).
Additional Notes
No cross-service propagation.
🤖 Generated with Claude Code