Skip to content

Conversation

@bric3
Copy link
Contributor

@bric3 bric3 commented Jan 22, 2026

Exploration PR to fix issues on

First attempt

I first attempted to use this organization in the final agent jar:

metrics-api in shared/
metrics-lib (and sketches-java) in metrics/

This forced to declare an exclude of sketches-java on each dependency declaration of metrics-lib.

Second attempt The `sketches-java` is used for metrics in the metrics product and for encoding utils in the trace-core (for datastreams). So I choose to make `sketches-java` under shared. The final agent now looks like that.
bootstrap (root, files are classes)
  metrics-api
  metrics-agent

metrics/
  metrics-lib

tracer/
  dd-trace-core

shared/
  metrics-api
  sketches-java
  dogstatsd (as before)

Third attempt layed out things this way :

bootstrap (root, files are classes)
  metrics-api
  metrics-agent

metrics/
  metrics-lib

tracer/
  dd-trace-core

shared/
  sketches-java
  dogstatsd (as before)

Initialization of the histogram was tackled by using a Factory.

sequenceDiagram
    participant Agent as Agent Startup
    participant MeterInstaller
    participant CoreTracer
    participant Timer
    participant DDSketchHistograms
    participant Factory as Histograms.Factory
    participant DDTraceCore as dd-trace-core code

    Agent->>MeterInstaller: startup
    MeterInstaller->>MeterInstaller: creates MonitoringImpl
    MeterInstaller->>CoreTracer: construction begins
    CoreTracer->>Timer: creates first Timer (e.g., traceWriteTimer)
    Timer->>DDSketchHistograms: triggers class load
    DDSketchHistograms->>DDSketchHistograms: static initializer executes
    DDSketchHistograms->>Factory: register(INSTANCE)
    Note over Factory: Factory now holds DDSketchHistograms
    DDTraceCore->>Factory: Factory.get()
    Factory-->>DDTraceCore: returns DDSketchHistograms instance
Loading

In my opinion, the initialisation of the histograms deserves to be more explicit in the early init stage, i.e. around MeterInstaller or MonitoringImpl.

The fact that metrics-lib and metrics-api both share the package datadog.metrics.api is actually a problem, as bootstrap classloader tried to load metrics-lib classes in the bootstrap, rather than under metrics "domain".

I also moved datadog.metrics.statsd, under api/impl to avoid the same problem. In particular this failed in graalvm smoke tests, this issue should have been found earlier than smoke tests in my opinion.

Caused by: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved type during parsing: datadog.metrics.statsd.DDAgentStatsDClientManager. This error is reported at image build time because class datadog.trace.agent.tooling.nativeimage.TracerActivation is registered for linking at image build time by system default
  • The dd-trace-core's AggregateMetricTest need to initialize the metrics lib.
  • The integration-testing's InstrumentSpecification need to initialize the metrics lib.

Takeaway: Registering a product is not a straightforward task.

  1. It's not properly modelled in our build.
  2. The process of splitting and exposing API / Impl and "Agent", is not well defined.

Commits for review on this branch (since GitHub now says there's 0 commits)

image

@pr-commenter
Copy link

pr-commenter bot commented Jan 22, 2026

Debugger benchmarks

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
ci_job_date 1769202470 1769202815
end_time 2026-01-23T21:09:09 2026-01-23T21:14:55
git_branch master bdu/communications
git_commit_sha a89f803 e0daf0f
start_time 2026-01-23T21:07:51 2026-01-23T21:13:36
See matching parameters
Baseline Candidate
ci_job_id 1374464209 1374464209
ci_pipeline_id 92599163 92599163
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
git_commit_date 1769201869 1769201869

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 9 metrics, 6 unstable metrics.

See unchanged results
scenario Δ mean agg_http_req_duration_min Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p75 Δ mean agg_http_req_duration_p99 Δ mean throughput
scenario:noprobe unstable
[-21.066µs; +42.424µs] or [-7.768%; +15.644%]
unstable
[-30.062µs; +60.665µs] or [-9.671%; +19.515%]
unstable
[-38.711µs; +74.217µs] or [-11.924%; +22.861%]
unstable
[-26.098µs; +214.492µs] or [-2.859%; +23.498%]
same
scenario:basic same same same unstable
[-118.816µs; +82.000µs] or [-15.272%; +10.540%]
unstable
[-282.560op/s; +140.312op/s] or [-10.455%; +5.192%]
scenario:loop unsure
[-7.657µs; -1.960µs] or [-0.086%; -0.022%]
unsure
[-13.099µs; -1.747µs] or [-0.146%; -0.020%]
unsure
[-14.268µs; -3.213µs] or [-0.158%; -0.036%]
same same
Request duration reports for reports
gantt
    title reports - request duration [CI 0.99] : candidate=None, baseline=None
    dateFormat X
    axisFormat %s
section baseline
noprobe (310.862 µs) : 281, 341
.   : milestone, 311,
basic (272.39 µs) : 267, 278
.   : milestone, 272,
loop (8.955 ms) : 8950, 8961
.   : milestone, 8955,
section candidate
noprobe (326.163 µs) : 273, 379
.   : milestone, 326,
basic (275.562 µs) : 269, 282
.   : milestone, 276,
loop (8.948 ms) : 8943, 8953
.   : milestone, 8948,
Loading
  • baseline results
Scenario Request median duration [CI 0.99]
noprobe 310.862 µs [281.053 µs, 340.671 µs]
basic 272.39 µs [266.983 µs, 277.798 µs]
loop 8.955 ms [8.95 ms, 8.961 ms]
  • candidate results
Scenario Request median duration [CI 0.99]
noprobe 326.163 µs [272.832 µs, 379.494 µs]
basic 275.562 µs [268.83 µs, 282.294 µs]
loop 8.948 ms [8.943 ms, 8.953 ms]

@pr-commenter
Copy link

pr-commenter bot commented Jan 22, 2026

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bdu/communications
git_commit_date 1768929215 1769201869
git_commit_sha 25a3dc3 e0daf0f
release_version 1.59.0-SNAPSHOT~25a3dc370c 1.59.0-SNAPSHOT~e0daf0f19c
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1769203770 1769203770
ci_job_id 1374464198 1374464198
ci_pipeline_id 92599163 92599163
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-1-jgbmc717 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-1-jgbmc717 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None

Summary

Found 6 performance improvements and 0 performance regressions! Performance is the same for 51 metrics, 8 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:insecure-bank:iast:GlobalTracer better
[-10.852ms; -8.489ms] or [-4.231%; -3.310%]
246.815ms 256.485ms
scenario:startup:insecure-bank:tracing:GlobalTracer better
[-27.172ms; -21.756ms] or [-9.602%; -7.688%]
258.527ms 282.990ms
scenario:startup:petclinic:appsec:GlobalTracer better
[-13.693ms; -7.191ms] or [-5.266%; -2.766%]
249.581ms 260.024ms
scenario:startup:petclinic:iast:GlobalTracer better
[-10.738ms; -8.861ms] or [-4.193%; -3.460%]
246.310ms 256.110ms
scenario:startup:petclinic:profiling:GlobalTracer better
[-12.323ms; -5.647ms] or [-5.501%; -2.520%]
215.050ms 224.035ms
scenario:startup:petclinic:tracing:GlobalTracer better
[-29.923ms; -21.113ms] or [-10.511%; -7.417%]
259.151ms 284.668ms
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.59.0-SNAPSHOT~e0daf0f19c, baseline=1.59.0-SNAPSHOT~25a3dc370c

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.086 s) : 0, 1086262
Total [baseline] (8.757 s) : 0, 8756947
Agent [candidate] (1.096 s) : 0, 1095877
Total [candidate] (8.735 s) : 0, 8735393
section iast
Agent [baseline] (1.226 s) : 0, 1225933
Total [baseline] (9.327 s) : 0, 9327467
Agent [candidate] (1.227 s) : 0, 1226671
Total [candidate] (9.321 s) : 0, 9320953
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.086 s -
Agent iast 1.226 s 139.671 ms (12.9%)
Total tracing 8.757 s -
Total iast 9.327 s 570.52 ms (6.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.096 s -
Agent iast 1.227 s 130.793 ms (11.9%)
Total tracing 8.735 s -
Total iast 9.321 s 585.56 ms (6.7%)
gantt
    title insecure-bank - break down per module: candidate=1.59.0-SNAPSHOT~e0daf0f19c, baseline=1.59.0-SNAPSHOT~25a3dc370c

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.189 ms) : 0, 1189
crashtracking [candidate] (1.189 ms) : 0, 1189
BytebuddyAgent [baseline] (653.427 ms) : 0, 653427
BytebuddyAgent [candidate] (656.939 ms) : 0, 656939
AgentMeter [candidate] (30.242 ms) : 0, 30242
GlobalTracer [baseline] (282.99 ms) : 0, 282990
GlobalTracer [candidate] (258.527 ms) : 0, 258527
AppSec [baseline] (32.693 ms) : 0, 32693
AppSec [candidate] (32.807 ms) : 0, 32807
Debugger [baseline] (66.834 ms) : 0, 66834
Debugger [candidate] (67.196 ms) : 0, 67196
Remote Config [baseline] (681.986 µs) : 0, 682
Remote Config [candidate] (625.846 µs) : 0, 626
Telemetry [baseline] (9.017 ms) : 0, 9017
Telemetry [candidate] (8.99 ms) : 0, 8990
Flare Poller [baseline] (3.834 ms) : 0, 3834
Flare Poller [candidate] (3.76 ms) : 0, 3760
section iast
crashtracking [baseline] (1.213 ms) : 0, 1213
crashtracking [candidate] (1.195 ms) : 0, 1195
BytebuddyAgent [baseline] (794.372 ms) : 0, 794372
BytebuddyAgent [candidate] (792.662 ms) : 0, 792662
AgentMeter [candidate] (11.995 ms) : 0, 11995
GlobalTracer [baseline] (256.485 ms) : 0, 256485
GlobalTracer [candidate] (246.815 ms) : 0, 246815
AppSec [baseline] (34.34 ms) : 0, 34340
AppSec [candidate] (35.338 ms) : 0, 35338
Debugger [baseline] (64.616 ms) : 0, 64616
Debugger [candidate] (63.923 ms) : 0, 63923
Remote Config [baseline] (559.114 µs) : 0, 559
Remote Config [candidate] (562.174 µs) : 0, 562
Telemetry [baseline] (8.334 ms) : 0, 8334
Telemetry [candidate] (8.354 ms) : 0, 8354
Flare Poller [baseline] (3.637 ms) : 0, 3637
Flare Poller [candidate] (3.558 ms) : 0, 3558
IAST [baseline] (27.064 ms) : 0, 27064
IAST [candidate] (26.99 ms) : 0, 26990
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.59.0-SNAPSHOT~e0daf0f19c, baseline=1.59.0-SNAPSHOT~25a3dc370c

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.093 s) : 0, 1093184
Total [baseline] (10.811 s) : 0, 10810942
Agent [candidate] (1.098 s) : 0, 1098352
Total [candidate] (10.718 s) : 0, 10718149
section appsec
Agent [baseline] (1.272 s) : 0, 1271791
Total [baseline] (10.978 s) : 0, 10977905
Agent [candidate] (1.269 s) : 0, 1268591
Total [candidate] (11.098 s) : 0, 11098285
section iast
Agent [baseline] (1.227 s) : 0, 1226715
Total [baseline] (11.122 s) : 0, 11121814
Agent [candidate] (1.23 s) : 0, 1229961
Total [candidate] (11.146 s) : 0, 11145683
section profiling
Agent [baseline] (1.217 s) : 0, 1216789
Total [baseline] (10.969 s) : 0, 10969010
Agent [candidate] (1.205 s) : 0, 1204938
Total [candidate] (10.831 s) : 0, 10831372
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.093 s -
Agent appsec 1.272 s 178.607 ms (16.3%)
Agent iast 1.227 s 133.531 ms (12.2%)
Agent profiling 1.217 s 123.605 ms (11.3%)
Total tracing 10.811 s -
Total appsec 10.978 s 166.963 ms (1.5%)
Total iast 11.122 s 310.872 ms (2.9%)
Total profiling 10.969 s 158.068 ms (1.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.098 s -
Agent appsec 1.269 s 170.239 ms (15.5%)
Agent iast 1.23 s 131.61 ms (12.0%)
Agent profiling 1.205 s 106.586 ms (9.7%)
Total tracing 10.718 s -
Total appsec 11.098 s 380.136 ms (3.5%)
Total iast 11.146 s 427.534 ms (4.0%)
Total profiling 10.831 s 113.223 ms (1.1%)
gantt
    title petclinic - break down per module: candidate=1.59.0-SNAPSHOT~e0daf0f19c, baseline=1.59.0-SNAPSHOT~25a3dc370c

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.189 ms) : 0, 1189
crashtracking [candidate] (1.23 ms) : 0, 1230
BytebuddyAgent [baseline] (656.854 ms) : 0, 656854
BytebuddyAgent [candidate] (657.251 ms) : 0, 657251
AgentMeter [candidate] (30.387 ms) : 0, 30387
GlobalTracer [baseline] (284.668 ms) : 0, 284668
GlobalTracer [candidate] (259.151 ms) : 0, 259151
AppSec [baseline] (32.983 ms) : 0, 32983
AppSec [candidate] (32.749 ms) : 0, 32749
Debugger [baseline] (68.295 ms) : 0, 68295
Debugger [candidate] (67.777 ms) : 0, 67777
Remote Config [baseline] (647.889 µs) : 0, 648
Remote Config [candidate] (649.201 µs) : 0, 649
Telemetry [baseline] (9.029 ms) : 0, 9029
Telemetry [candidate] (9.762 ms) : 0, 9762
Flare Poller [baseline] (3.861 ms) : 0, 3861
Flare Poller [candidate] (3.869 ms) : 0, 3869
section appsec
crashtracking [baseline] (1.197 ms) : 0, 1197
crashtracking [candidate] (1.174 ms) : 0, 1174
BytebuddyAgent [baseline] (696.005 ms) : 0, 696005
BytebuddyAgent [candidate] (689.649 ms) : 0, 689649
AgentMeter [candidate] (12.679 ms) : 0, 12679
GlobalTracer [baseline] (260.024 ms) : 0, 260024
GlobalTracer [candidate] (249.581 ms) : 0, 249581
AppSec [baseline] (174.045 ms) : 0, 174045
AppSec [candidate] (173.362 ms) : 0, 173362
Debugger [baseline] (66.375 ms) : 0, 66375
Debugger [candidate] (68.159 ms) : 0, 68159
Remote Config [baseline] (794.823 µs) : 0, 795
Remote Config [candidate] (774.848 µs) : 0, 775
Telemetry [baseline] (9.359 ms) : 0, 9359
Telemetry [candidate] (9.445 ms) : 0, 9445
Flare Poller [baseline] (3.724 ms) : 0, 3724
Flare Poller [candidate] (3.805 ms) : 0, 3805
IAST [baseline] (24.702 ms) : 0, 24702
IAST [candidate] (24.603 ms) : 0, 24603
section iast
crashtracking [baseline] (1.172 ms) : 0, 1172
crashtracking [candidate] (1.185 ms) : 0, 1185
BytebuddyAgent [baseline] (793.847 ms) : 0, 793847
BytebuddyAgent [candidate] (795.045 ms) : 0, 795045
AgentMeter [candidate] (12.012 ms) : 0, 12012
GlobalTracer [baseline] (256.11 ms) : 0, 256110
GlobalTracer [candidate] (246.31 ms) : 0, 246310
AppSec [baseline] (33.618 ms) : 0, 33618
AppSec [candidate] (35.196 ms) : 0, 35196
Debugger [baseline] (66.968 ms) : 0, 66968
Debugger [candidate] (65.178 ms) : 0, 65178
Remote Config [baseline] (590.052 µs) : 0, 590
Remote Config [candidate] (578.817 µs) : 0, 579
Telemetry [baseline] (8.431 ms) : 0, 8431
Telemetry [candidate] (8.446 ms) : 0, 8446
Flare Poller [baseline] (3.571 ms) : 0, 3571
Flare Poller [candidate] (3.599 ms) : 0, 3599
IAST [baseline] (26.967 ms) : 0, 26967
IAST [candidate] (27.032 ms) : 0, 27032
section profiling
crashtracking [baseline] (1.225 ms) : 0, 1225
crashtracking [candidate] (1.222 ms) : 0, 1222
BytebuddyAgent [baseline] (707.158 ms) : 0, 707158
BytebuddyAgent [candidate] (700.43 ms) : 0, 700430
AgentMeter [candidate] (8.724 ms) : 0, 8724
GlobalTracer [baseline] (224.035 ms) : 0, 224035
GlobalTracer [candidate] (215.05 ms) : 0, 215050
AppSec [baseline] (32.809 ms) : 0, 32809
AppSec [candidate] (32.219 ms) : 0, 32219
Debugger [baseline] (69.319 ms) : 0, 69319
Debugger [candidate] (67.309 ms) : 0, 67309
Remote Config [baseline] (671.022 µs) : 0, 671
Remote Config [candidate] (652.934 µs) : 0, 653
Telemetry [baseline] (9.017 ms) : 0, 9017
Telemetry [candidate] (9.025 ms) : 0, 9025
Flare Poller [baseline] (3.819 ms) : 0, 3819
Flare Poller [candidate] (3.794 ms) : 0, 3794
ProfilingAgent [baseline] (98.443 ms) : 0, 98443
ProfilingAgent [candidate] (96.765 ms) : 0, 96765
Profiling [baseline] (99.032 ms) : 0, 99032
Profiling [candidate] (97.341 ms) : 0, 97341
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bdu/communications
git_commit_date 1768929215 1769201869
git_commit_sha 25a3dc3 e0daf0f
release_version 1.59.0-SNAPSHOT~25a3dc370c 1.59.0-SNAPSHOT~e0daf0f19c
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1769204156 1769204156
ci_job_id 1374464201 1374464201
ci_pipeline_id 92599163 92599163
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-1-ah4bimfe 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-1-ah4bimfe 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 2 performance improvements and 0 performance regressions! Performance is the same for 17 metrics, 17 unstable metrics.

scenario Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p95 Δ mean throughput candidate mean agg_http_req_duration_p50 candidate mean agg_http_req_duration_p95 candidate mean throughput baseline mean agg_http_req_duration_p50 baseline mean agg_http_req_duration_p95 baseline mean throughput
scenario:load:insecure-bank:iast_FULL:high_load better
[-316.440µs; -155.045µs] or [-5.958%; -2.919%]
unsure
[-734.247µs; -128.857µs] or [-5.858%; -1.028%]
unstable
[-48.461op/s; +105.649op/s] or [-6.229%; +13.579%]
5.075ms 12.103ms 806.625op/s 5.311ms 12.535ms 778.031op/s
scenario:load:petclinic:no_agent:high_load better
[-2.581ms; -1.080ms] or [-13.934%; -5.831%]
unstable
[-4.404ms; -1.278ms] or [-14.271%; -4.140%]
unstable
[-4.690op/s; +51.065op/s] or [-1.889%; +20.570%]
16.691ms 28.020ms 271.438op/s 18.521ms 30.862ms 248.250op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.59.0-SNAPSHOT~e0daf0f19c, baseline=1.59.0-SNAPSHOT~25a3dc370c
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.163 ms) : 1152, 1173
.   : milestone, 1163,
iast (3.107 ms) : 3068, 3147
.   : milestone, 3107,
iast_FULL (5.945 ms) : 5885, 6005
.   : milestone, 5945,
iast_GLOBAL (3.703 ms) : 3641, 3765
.   : milestone, 3703,
profiling (2.07 ms) : 2049, 2091
.   : milestone, 2070,
tracing (1.772 ms) : 1757, 1786
.   : milestone, 1772,
section candidate
no_agent (1.159 ms) : 1148, 1170
.   : milestone, 1159,
iast (3.234 ms) : 3196, 3273
.   : milestone, 3234,
iast_FULL (5.731 ms) : 5675, 5787
.   : milestone, 5731,
iast_GLOBAL (3.612 ms) : 3551, 3672
.   : milestone, 3612,
profiling (2.097 ms) : 2079, 2116
.   : milestone, 2097,
tracing (1.795 ms) : 1779, 1811
.   : milestone, 1795,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.163 ms [1.152 ms, 1.173 ms] -
iast 3.107 ms [3.068 ms, 3.147 ms] 1.945 ms (167.3%)
iast_FULL 5.945 ms [5.885 ms, 6.005 ms] 4.782 ms (411.4%)
iast_GLOBAL 3.703 ms [3.641 ms, 3.765 ms] 2.541 ms (218.5%)
profiling 2.07 ms [2.049 ms, 2.091 ms] 907.507 µs (78.1%)
tracing 1.772 ms [1.757 ms, 1.786 ms] 609.112 µs (52.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.159 ms [1.148 ms, 1.17 ms] -
iast 3.234 ms [3.196 ms, 3.273 ms] 2.075 ms (179.0%)
iast_FULL 5.731 ms [5.675 ms, 5.787 ms] 4.572 ms (394.4%)
iast_GLOBAL 3.612 ms [3.551 ms, 3.672 ms] 2.452 ms (211.6%)
profiling 2.097 ms [2.079 ms, 2.116 ms] 938.299 µs (80.9%)
tracing 1.795 ms [1.779 ms, 1.811 ms] 635.687 µs (54.8%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.59.0-SNAPSHOT~e0daf0f19c, baseline=1.59.0-SNAPSHOT~25a3dc370c
    dateFormat X
    axisFormat %s
section baseline
no_agent (18.799 ms) : 18607, 18992
.   : milestone, 18799,
appsec (18.757 ms) : 18567, 18948
.   : milestone, 18757,
code_origins (17.46 ms) : 17286, 17633
.   : milestone, 17460,
iast (18.169 ms) : 17986, 18352
.   : milestone, 18169,
profiling (18.502 ms) : 18319, 18685
.   : milestone, 18502,
tracing (17.888 ms) : 17712, 18064
.   : milestone, 17888,
section candidate
no_agent (17.188 ms) : 17020, 17356
.   : milestone, 17188,
appsec (18.702 ms) : 18512, 18892
.   : milestone, 18702,
code_origins (17.881 ms) : 17705, 18058
.   : milestone, 17881,
iast (17.864 ms) : 17689, 18038
.   : milestone, 17864,
profiling (18.5 ms) : 18314, 18686
.   : milestone, 18500,
tracing (17.899 ms) : 17719, 18079
.   : milestone, 17899,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.799 ms [18.607 ms, 18.992 ms] -
appsec 18.757 ms [18.567 ms, 18.948 ms] -41.842 µs (-0.2%)
code_origins 17.46 ms [17.286 ms, 17.633 ms] -1.34 ms (-7.1%)
iast 18.169 ms [17.986 ms, 18.352 ms] -630.056 µs (-3.4%)
profiling 18.502 ms [18.319 ms, 18.685 ms] -297.064 µs (-1.6%)
tracing 17.888 ms [17.712 ms, 18.064 ms] -911.258 µs (-4.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 17.188 ms [17.02 ms, 17.356 ms] -
appsec 18.702 ms [18.512 ms, 18.892 ms] 1.513 ms (8.8%)
code_origins 17.881 ms [17.705 ms, 18.058 ms] 692.947 µs (4.0%)
iast 17.864 ms [17.689 ms, 18.038 ms] 675.245 µs (3.9%)
profiling 18.5 ms [18.314 ms, 18.686 ms] 1.312 ms (7.6%)
tracing 17.899 ms [17.719 ms, 18.079 ms] 710.797 µs (4.1%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bdu/communications
git_commit_date 1768929215 1769201869
git_commit_sha 25a3dc3 e0daf0f
release_version 1.59.0-SNAPSHOT~25a3dc370c 1.59.0-SNAPSHOT~e0daf0f19c
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1769204014 1769204014
ci_job_id 1374464202 1374464202
ci_pipeline_id 92599163 92599163
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-1-4toye9fv 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-1-4toye9fv 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics.

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.59.0-SNAPSHOT~e0daf0f19c, baseline=1.59.0-SNAPSHOT~25a3dc370c
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.474 ms) : 1462, 1485
.   : milestone, 1474,
appsec (2.541 ms) : 2484, 2597
.   : milestone, 2541,
iast (2.226 ms) : 2160, 2291
.   : milestone, 2226,
iast_GLOBAL (2.275 ms) : 2209, 2341
.   : milestone, 2275,
profiling (2.089 ms) : 2036, 2143
.   : milestone, 2089,
tracing (2.066 ms) : 2015, 2118
.   : milestone, 2066,
section candidate
no_agent (1.487 ms) : 1475, 1498
.   : milestone, 1487,
appsec (3.744 ms) : 3523, 3965
.   : milestone, 3744,
iast (2.243 ms) : 2178, 2309
.   : milestone, 2243,
iast_GLOBAL (2.268 ms) : 2202, 2334
.   : milestone, 2268,
profiling (2.083 ms) : 2030, 2136
.   : milestone, 2083,
tracing (2.065 ms) : 2013, 2117
.   : milestone, 2065,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.474 ms [1.462 ms, 1.485 ms] -
appsec 2.541 ms [2.484 ms, 2.597 ms] 1.067 ms (72.4%)
iast 2.226 ms [2.16 ms, 2.291 ms] 752.191 µs (51.0%)
iast_GLOBAL 2.275 ms [2.209 ms, 2.341 ms] 801.642 µs (54.4%)
profiling 2.089 ms [2.036 ms, 2.143 ms] 615.63 µs (41.8%)
tracing 2.066 ms [2.015 ms, 2.118 ms] 592.868 µs (40.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.487 ms [1.475 ms, 1.498 ms] -
appsec 3.744 ms [3.523 ms, 3.965 ms] 2.257 ms (151.8%)
iast 2.243 ms [2.178 ms, 2.309 ms] 756.595 µs (50.9%)
iast_GLOBAL 2.268 ms [2.202 ms, 2.334 ms] 780.987 µs (52.5%)
profiling 2.083 ms [2.03 ms, 2.136 ms] 596.164 µs (40.1%)
tracing 2.065 ms [2.013 ms, 2.117 ms] 578.135 µs (38.9%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.59.0-SNAPSHOT~e0daf0f19c, baseline=1.59.0-SNAPSHOT~25a3dc370c
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.036 s) : 15036000, 15036000
.   : milestone, 15036000,
appsec (14.582 s) : 14582000, 14582000
.   : milestone, 14582000,
iast (18.233 s) : 18233000, 18233000
.   : milestone, 18233000,
iast_GLOBAL (18.016 s) : 18016000, 18016000
.   : milestone, 18016000,
profiling (14.843 s) : 14843000, 14843000
.   : milestone, 14843000,
tracing (14.67 s) : 14670000, 14670000
.   : milestone, 14670000,
section candidate
no_agent (14.778 s) : 14778000, 14778000
.   : milestone, 14778000,
appsec (14.938 s) : 14938000, 14938000
.   : milestone, 14938000,
iast (17.906 s) : 17906000, 17906000
.   : milestone, 17906000,
iast_GLOBAL (18.002 s) : 18002000, 18002000
.   : milestone, 18002000,
profiling (14.625 s) : 14625000, 14625000
.   : milestone, 14625000,
tracing (14.627 s) : 14627000, 14627000
.   : milestone, 14627000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.036 s [15.036 s, 15.036 s] -
appsec 14.582 s [14.582 s, 14.582 s] -454.0 ms (-3.0%)
iast 18.233 s [18.233 s, 18.233 s] 3.197 s (21.3%)
iast_GLOBAL 18.016 s [18.016 s, 18.016 s] 2.98 s (19.8%)
profiling 14.843 s [14.843 s, 14.843 s] -193.0 ms (-1.3%)
tracing 14.67 s [14.67 s, 14.67 s] -366.0 ms (-2.4%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.778 s [14.778 s, 14.778 s] -
appsec 14.938 s [14.938 s, 14.938 s] 160.0 ms (1.1%)
iast 17.906 s [17.906 s, 17.906 s] 3.128 s (21.2%)
iast_GLOBAL 18.002 s [18.002 s, 18.002 s] 3.224 s (21.8%)
profiling 14.625 s [14.625 s, 14.625 s] -153.0 ms (-1.0%)
tracing 14.627 s [14.627 s, 14.627 s] -151.0 ms (-1.0%)

@bric3 bric3 force-pushed the bdu/communications branch 2 times, most recently from 33c2cac to a6ccf49 Compare January 23, 2026 18:25
@bric3 bric3 changed the title DRAFT Make metrics-lib land correctly in the tracer jar Extract metrics as a separate product Jan 23, 2026
@bric3 bric3 requested a review from PerfectSlayer January 23, 2026 20:58
@bric3 bric3 added type: enhancement Enhancements and improvements comp: metrics Metrics labels Jan 23, 2026
@bric3 bric3 marked this pull request as ready for review January 23, 2026 22:41
@bric3 bric3 requested review from a team as code owners January 23, 2026 22:42
@bric3 bric3 requested review from shatzi and removed request for a team January 23, 2026 22:42
@PerfectSlayer PerfectSlayer merged commit e5bda67 into bbujon/communications Jan 26, 2026
402 checks passed
@PerfectSlayer PerfectSlayer deleted the bdu/communications branch January 26, 2026 07:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: metrics Metrics type: enhancement Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants