Extract metrics from communication by PerfectSlayer · Pull Request #10399 · DataDog/dd-trace-java

amarziali

AlexeyKuznetsov-DD

@bric3 bric3 mentioned this pull request

Jan 23, 2026

@PerfectSlayer

@PerfectSlayer

@PerfectSlayer

@PerfectSlayer

@PerfectSlayer

@PerfectSlayer

@PerfectSlayer

@PerfectSlayer

@PerfectSlayer

@PerfectSlayer

@PerfectSlayer

api in shared
lib in metrics

However there are still some things to think about

The tracer jar now has split packages:

> Task :dd-java-agent:generateAgentJarIndex
[main] WARN datadog.trace.bootstrap.AgentJarIndex - Detected duplicate content 'datadog.metrics.statsd.*' under 'shared', already seen in metrics. Ensure your content is under a distinct directory.
[main] WARN datadog.trace.bootstrap.AgentJarIndex - Detected duplicate content 'datadog.metrics.api.*' under 'shared', already seen in metrics. Ensure your content is under a distinct directory.

Also, the metric-agent isn't using `excludeShared`, and the metrics-lib had to be removed from shared
* Also fixes the muzzle checks
* Remove the need to exclude sketches-java when declaring metrics-lib

@bric3 @PerfectSlayer

 1. Bootstrap (root level):
    - datadog/metrics/agent/AgentMeter.class
    - datadog/metrics/api/*.class (interfaces: Counter, Histogram, Histograms, Monitoring, NoOp implementations)
  2. metrics/:
    - All metrics-lib implementation classes:
      - datadog/metrics/api/DDSketchHistogram.classdata, etc.
      - datadog/metrics/statsd/* (StatsDClient implementations)
  3. shared/:
    - com/datadoghq/sketch/** (sketches-java library)

@bric3 @PerfectSlayer

This fixes GraalVM smoke test, but I would think the issue could have broken
regular agent.

amarziali

@PerfectSlayer