Repository navigation
Conversation
Remote config tracing_tags replaces the global tags (DD_TAGS), and removing the override restores them. This pins the intent stated in system-tests' TestDynamicConfigV2.test_tracing_client_tracing_tags, which only asserts that the RC tags are present. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Flag: an RC I first wrote this test as a table with a second row: Why:
I left that row out, so this PR doesn't lock in either behavior. If RC Written by Claude, reviewed by @dougqh |
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.
More details
The added assertions distinguish replacement from merging and verify restoration of DD_TAGS after removing the remote override. The completed static review found no actionable defects.
🤖 Bits Code Review · Commit 6f54e3e
🟢 Java Benchmark SLOs — All performance SLOs passed
PR vs. master results
Commit: Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion. |
What Does This Do
Adds
CoreTracerTest.remoteConfigTracingTagsOverrideGlobalTags. WithDD_TAGS=local_key:local_val, it checks that:tracing_tagsreplaces the global tags (local_keyis gone,rc_keyis present);DD_TAGS.Test-only; no behavior change.
Motivation
Our general rule is that remote config overrides the corresponding local config. For tracing tags, the cross-language test (system-tests
TestDynamicConfigV2.test_tracing_client_tracing_tags) says "Ensure local tags are overridden and RC tags applied", but its assertion (assert_trace_has_tags) only checks that the RC tags are present. A library that merged RC tags withDD_TAGSwould still pass. The existing Java test,verifyConfigurationPollingWithCustomTags, starts with no local tags, so it can't tell "replace" from "merge" either.This matters for upcoming core work: splitting
DD_TAGSfrom span defaults in the config snapshot, so the OTLP exporter can putDD_TAGSon the Resource without repeating them on every span (see #12813). That split needs to know which local config RCtracing_tagscorresponds to.Additional Notes
Question: what should RC
tracing_tagsdo toDD_SPAN_TAGS?Today, the tracer keeps one
tracingTagsmap, initialized fromConfig.getMergedSpanTags()(DD_TAGS+DD_SPAN_TAGS). The RC override replaces that whole map, soDD_SPAN_TAGSare dropped while an RC tag override is active, and come back when it's removed. I confirmed this with a test (details in a comment below).If RC
tracing_tagscorresponds toDD_TAGSonly, as the system-test's wording suggests, then droppingDD_SPAN_TAGSis a bug. This PR deliberately doesn't pin either behavior forDD_SPAN_TAGS. If anyone knows the intended behavior (or of a cross-language spec for it), please comment.Jira ticket: [PROJ-IDENT]
🤖 Generated with Claude Code