From fb4ca13a010d72db355f4c5e18140db96479ebd7 Mon Sep 17 00:00:00 2001 From: Andrea Marziali Date: Mon, 1 Sep 2025 12:04:02 +0200 Subject: [PATCH 1/2] Align CSS health metrics --- .../core/monitor/TracerHealthMetrics.java | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/dd-trace-core/src/main/java/datadog/trace/core/monitor/TracerHealthMetrics.java b/dd-trace-core/src/main/java/datadog/trace/core/monitor/TracerHealthMetrics.java index 81a64c0fb39..cdffe8db358 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/monitor/TracerHealthMetrics.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/monitor/TracerHealthMetrics.java @@ -1,5 +1,6 @@ package datadog.trace.core.monitor; +import static datadog.communication.ddagent.TracerVersion.TRACER_VERSION; import static datadog.trace.api.DDSpanId.ZERO; import static datadog.trace.api.sampling.PrioritySampling.SAMPLER_DROP; import static datadog.trace.api.sampling.PrioritySampling.SAMPLER_KEEP; @@ -9,6 +10,7 @@ import static datadog.trace.bootstrap.instrumentation.api.Tags.SPAN_KIND_CLIENT; import static java.util.concurrent.TimeUnit.SECONDS; +import datadog.trace.api.Config; import datadog.trace.api.StatsDClient; import datadog.trace.api.cache.RadixTreeCache; import datadog.trace.common.writer.RemoteApi; @@ -33,6 +35,10 @@ public class TracerHealthMetrics extends HealthMetrics implements AutoCloseable private static final String[] STATUS_OK_TAGS = STATUS_TAGS.apply(200); private final RadixTreeCache statusTagsCache = new RadixTreeCache<>(16, 32, STATUS_TAGS, 200, 400); + private static final String[] BASE_TAGS = + new String[] { + "lang:java", "env:" + Config.get().getEnv(), "tracer_version:" + TRACER_VERSION + }; private final AtomicBoolean started = new AtomicBoolean(false); private volatile AgentTaskScheduler.Scheduled cancellation; @@ -529,18 +535,18 @@ public void run(TracerHealthMetrics target) { target.statsd, "long-running.expired", target.longRunningTracesExpired, NO_TAGS); reportIfChanged( - target.statsd, "stats.traces_in", target.clientStatsProcessedTraces, NO_TAGS); - - reportIfChanged(target.statsd, "stats.spans_in", target.clientStatsProcessedSpans, NO_TAGS); + target.statsd, "stats.traces_in", target.clientStatsProcessedTraces, BASE_TAGS); + reportIfChanged( + target.statsd, "stats.spans_in", target.clientStatsProcessedSpans, BASE_TAGS); reportIfChanged( - target.statsd, "stats.p0_dropped_traces", target.clientStatsP0DroppedTraces, NO_TAGS); + target.statsd, "stats.dropped_p0_traces", target.clientStatsP0DroppedTraces, BASE_TAGS); reportIfChanged( - target.statsd, "stats.p0_dropped_spans", target.clientStatsP0DroppedSpans, NO_TAGS); + target.statsd, "stats.dropped_p0_spans", target.clientStatsP0DroppedSpans, BASE_TAGS); reportIfChanged( - target.statsd, "stats.flushed_payloads", target.clientStatsRequests, NO_TAGS); - reportIfChanged(target.statsd, "stats.flush_errors", target.clientStatsErrors, NO_TAGS); + target.statsd, "stats.flush_payloads", target.clientStatsRequests, BASE_TAGS); + reportIfChanged(target.statsd, "stats.flush_errors", target.clientStatsErrors, BASE_TAGS); reportIfChanged( - target.statsd, "stats.agent_downgrades", target.clientStatsDowngrades, NO_TAGS); + target.statsd, "stats.agent_downgrades", target.clientStatsDowngrades, BASE_TAGS); } catch (ArrayIndexOutOfBoundsException e) { log.warn( From d4c85955805314c74abf6d031ec7f27772eb8462 Mon Sep 17 00:00:00 2001 From: Andrea Marziali Date: Mon, 1 Sep 2025 14:04:19 +0200 Subject: [PATCH 2/2] Base tags are already added by statsd --- .../core/monitor/TracerHealthMetrics.java | 22 ++++++------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/dd-trace-core/src/main/java/datadog/trace/core/monitor/TracerHealthMetrics.java b/dd-trace-core/src/main/java/datadog/trace/core/monitor/TracerHealthMetrics.java index cdffe8db358..e5e609e4b12 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/monitor/TracerHealthMetrics.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/monitor/TracerHealthMetrics.java @@ -1,6 +1,5 @@ package datadog.trace.core.monitor; -import static datadog.communication.ddagent.TracerVersion.TRACER_VERSION; import static datadog.trace.api.DDSpanId.ZERO; import static datadog.trace.api.sampling.PrioritySampling.SAMPLER_DROP; import static datadog.trace.api.sampling.PrioritySampling.SAMPLER_KEEP; @@ -10,7 +9,6 @@ import static datadog.trace.bootstrap.instrumentation.api.Tags.SPAN_KIND_CLIENT; import static java.util.concurrent.TimeUnit.SECONDS; -import datadog.trace.api.Config; import datadog.trace.api.StatsDClient; import datadog.trace.api.cache.RadixTreeCache; import datadog.trace.common.writer.RemoteApi; @@ -35,10 +33,6 @@ public class TracerHealthMetrics extends HealthMetrics implements AutoCloseable private static final String[] STATUS_OK_TAGS = STATUS_TAGS.apply(200); private final RadixTreeCache statusTagsCache = new RadixTreeCache<>(16, 32, STATUS_TAGS, 200, 400); - private static final String[] BASE_TAGS = - new String[] { - "lang:java", "env:" + Config.get().getEnv(), "tracer_version:" + TRACER_VERSION - }; private final AtomicBoolean started = new AtomicBoolean(false); private volatile AgentTaskScheduler.Scheduled cancellation; @@ -535,18 +529,16 @@ public void run(TracerHealthMetrics target) { target.statsd, "long-running.expired", target.longRunningTracesExpired, NO_TAGS); reportIfChanged( - target.statsd, "stats.traces_in", target.clientStatsProcessedTraces, BASE_TAGS); + target.statsd, "stats.traces_in", target.clientStatsProcessedTraces, NO_TAGS); + reportIfChanged(target.statsd, "stats.spans_in", target.clientStatsProcessedSpans, NO_TAGS); reportIfChanged( - target.statsd, "stats.spans_in", target.clientStatsProcessedSpans, BASE_TAGS); + target.statsd, "stats.dropped_p0_traces", target.clientStatsP0DroppedTraces, NO_TAGS); reportIfChanged( - target.statsd, "stats.dropped_p0_traces", target.clientStatsP0DroppedTraces, BASE_TAGS); + target.statsd, "stats.dropped_p0_spans", target.clientStatsP0DroppedSpans, NO_TAGS); + reportIfChanged(target.statsd, "stats.flush_payloads", target.clientStatsRequests, NO_TAGS); + reportIfChanged(target.statsd, "stats.flush_errors", target.clientStatsErrors, NO_TAGS); reportIfChanged( - target.statsd, "stats.dropped_p0_spans", target.clientStatsP0DroppedSpans, BASE_TAGS); - reportIfChanged( - target.statsd, "stats.flush_payloads", target.clientStatsRequests, BASE_TAGS); - reportIfChanged(target.statsd, "stats.flush_errors", target.clientStatsErrors, BASE_TAGS); - reportIfChanged( - target.statsd, "stats.agent_downgrades", target.clientStatsDowngrades, BASE_TAGS); + target.statsd, "stats.agent_downgrades", target.clientStatsDowngrades, NO_TAGS); } catch (ArrayIndexOutOfBoundsException e) { log.warn(