Skip to content

Introduce shared OtelMetricRegistry to track metrics by instrumentation scope#10854

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 9 commits intomasterfrom
mcculls/otel-metric-registry
Mar 17, 2026
Merged

Introduce shared OtelMetricRegistry to track metrics by instrumentation scope#10854
gh-worker-dd-mergequeue-cf854d[bot] merged 9 commits intomasterfrom
mcculls/otel-metric-registry

Conversation

@mcculls
Copy link
Contributor

@mcculls mcculls commented Mar 16, 2026

What Does This Do

Introduce shared OtelMetricRegistry to track metrics by instrumentation scope.

At the same time move any OTel support classes not tied to the OTel API to otel-bootstrap - this avoids duplication of these classes (no need to have two copies for OTel drop-in vs OTel application) and also reduces the amount of helpers needing injection.

Motivation

This will allow metrics produced by drop-in support and the OTel API to coexist within the same registry, rather than have two disconnected registries.

Additional Notes

To achieve a single metric registry we cannot use the specific Attributes class in the generic type of the map or certain method argument types. This is because the Attributes type for drop-in will be different to the Attributes type provided on the application class-path. We use Object since there is no other common type.

At collection time we'll use the appropriate function to map either Attributes type to the right OTLP content.

Contributor Checklist

Jira ticket: [PROJ-IDENT]

Note: Once your PR is ready to merge, add it to the merge queue by commenting /merge. /merge -c cancels the queue request. /merge -f --reason "reason" skips all merge queue checks; please use this judiciously, as some checks do not run at the PR-level. For more information, see this doc.

@mcculls mcculls added the tag: no release notes Changes to exclude from release notes label Mar 16, 2026
@mcculls mcculls requested review from a team as code owners March 16, 2026 14:08
@mcculls mcculls requested review from mhlidd and removed request for a team March 16, 2026 14:08
@mcculls mcculls added the inst: opentelemetry OpenTelemetry instrumentation label Mar 16, 2026
@PerfectSlayer PerfectSlayer self-requested a review March 16, 2026 14:29
@mcculls mcculls requested a review from mtoffl01 March 16, 2026 14:54
Copy link
Contributor

@PerfectSlayer PerfectSlayer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good but I will let the SDK Cap have a look!
I left one quick question for my understand, thanks!

}

public void recordLong(long value, Attributes attributes) {
public void recordLong(long value, Object attributes) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❔ question: ‏I guess the type was erased to not have OTel attributes into agent bootstrap.
How is that working with the CARDINALITY_OVERFLOW constant then?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct:

To achieve a single metric registry we cannot use the specific Attributes class in the generic type of the map or certain method argument types. This is because the Attributes type for drop-in will be different to the Attributes type provided on the application class-path. We use Object since there is no other common type.

At collection time we'll use the appropriate function to map either Attributes type to the right OTLP content.

CARDINALITY_OVERFLOW is a shared internal constant, so both drop-in and the instrumentation will end up using the same key for that case.

mcculls added 8 commits March 16, 2026 23:09
using OTel attributes from both bootstrap and application classpaths
…on scope.

This will allow metrics produced by drop-in support and the OTel API to coexist.
…extended mid-build

(Needed for the extra muzzleBootstrap entry in opentelemetry-1.47 to take effect in CI)
@mcculls mcculls force-pushed the mcculls/otel-metric-registry branch from 4dc8767 to c7bbdcc Compare March 16, 2026 23:10
@mcculls mcculls requested a review from a team as a code owner March 16, 2026 23:10
@pr-commenter
Copy link

pr-commenter bot commented Mar 16, 2026

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/otel-metric-registry
git_commit_date 1773715688 1773724158
git_commit_sha 95b7859 7148b82
release_version 1.61.0-SNAPSHOT~95b7859b82 1.61.0-SNAPSHOT~7148b8205b
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1773725982 1773725982
ci_job_id 1511666567 1511666567
ci_pipeline_id 102877634 102877634
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-0-4cxpwc2q 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-0-4cxpwc2q 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 0 performance improvements and 0 performance regressions! Performance is the same for 58 metrics, 13 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.61.0-SNAPSHOT~7148b8205b, baseline=1.61.0-SNAPSHOT~95b7859b82

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.055 s) : 0, 1055321
Total [baseline] (8.842 s) : 0, 8842487
Agent [candidate] (1.069 s) : 0, 1068539
Total [candidate] (8.845 s) : 0, 8845046
section iast
Agent [baseline] (1.243 s) : 0, 1242633
Total [baseline] (9.57 s) : 0, 9569705
Agent [candidate] (1.229 s) : 0, 1228752
Total [candidate] (9.558 s) : 0, 9558436
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.055 s -
Agent iast 1.243 s 187.312 ms (17.7%)
Total tracing 8.842 s -
Total iast 9.57 s 727.218 ms (8.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.069 s -
Agent iast 1.229 s 160.213 ms (15.0%)
Total tracing 8.845 s -
Total iast 9.558 s 713.39 ms (8.1%)
gantt
    title insecure-bank - break down per module: candidate=1.61.0-SNAPSHOT~7148b8205b, baseline=1.61.0-SNAPSHOT~95b7859b82

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.196 ms) : 0, 1196
crashtracking [candidate] (1.204 ms) : 0, 1204
BytebuddyAgent [baseline] (626.635 ms) : 0, 626635
BytebuddyAgent [candidate] (633.922 ms) : 0, 633922
AgentMeter [baseline] (29.059 ms) : 0, 29059
AgentMeter [candidate] (29.3 ms) : 0, 29300
GlobalTracer [baseline] (256.284 ms) : 0, 256284
GlobalTracer [candidate] (259.175 ms) : 0, 259175
AppSec [baseline] (31.686 ms) : 0, 31686
AppSec [candidate] (31.888 ms) : 0, 31888
Debugger [baseline] (59.376 ms) : 0, 59376
Debugger [candidate] (59.984 ms) : 0, 59984
Remote Config [baseline] (585.895 µs) : 0, 586
Remote Config [candidate] (607.59 µs) : 0, 608
Telemetry [baseline] (8.059 ms) : 0, 8059
Telemetry [candidate] (8.153 ms) : 0, 8153
Flare Poller [baseline] (6.399 ms) : 0, 6399
Flare Poller [candidate] (8.101 ms) : 0, 8101
section iast
crashtracking [baseline] (1.22 ms) : 0, 1220
crashtracking [candidate] (1.203 ms) : 0, 1203
BytebuddyAgent [baseline] (807.337 ms) : 0, 807337
BytebuddyAgent [candidate] (796.966 ms) : 0, 796966
AgentMeter [baseline] (11.86 ms) : 0, 11860
AgentMeter [candidate] (11.343 ms) : 0, 11343
GlobalTracer [baseline] (249.944 ms) : 0, 249944
GlobalTracer [candidate] (248.261 ms) : 0, 248261
AppSec [baseline] (26.864 ms) : 0, 26864
AppSec [candidate] (26.456 ms) : 0, 26456
Debugger [baseline] (68.352 ms) : 0, 68352
Debugger [candidate] (68.038 ms) : 0, 68038
Remote Config [baseline] (516.505 µs) : 0, 517
Remote Config [candidate] (518.012 µs) : 0, 518
Telemetry [baseline] (10.661 ms) : 0, 10661
Telemetry [candidate] (10.729 ms) : 0, 10729
Flare Poller [baseline] (3.765 ms) : 0, 3765
Flare Poller [candidate] (3.798 ms) : 0, 3798
IAST [baseline] (25.691 ms) : 0, 25691
IAST [candidate] (25.27 ms) : 0, 25270
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.61.0-SNAPSHOT~7148b8205b, baseline=1.61.0-SNAPSHOT~95b7859b82

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.058 s) : 0, 1058068
Total [baseline] (10.959 s) : 0, 10958879
Agent [candidate] (1.061 s) : 0, 1060581
Total [candidate] (11.018 s) : 0, 11017588
section appsec
Agent [baseline] (1.258 s) : 0, 1258193
Total [baseline] (11.31 s) : 0, 11309662
Agent [candidate] (1.245 s) : 0, 1244848
Total [candidate] (11.144 s) : 0, 11143741
section iast
Agent [baseline] (1.237 s) : 0, 1236905
Total [baseline] (11.391 s) : 0, 11390610
Agent [candidate] (1.24 s) : 0, 1240053
Total [candidate] (11.517 s) : 0, 11516844
section profiling
Agent [baseline] (1.184 s) : 0, 1184464
Total [baseline] (10.966 s) : 0, 10965584
Agent [candidate] (1.19 s) : 0, 1190155
Total [candidate] (11.125 s) : 0, 11125152
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.058 s -
Agent appsec 1.258 s 200.126 ms (18.9%)
Agent iast 1.237 s 178.837 ms (16.9%)
Agent profiling 1.184 s 126.396 ms (11.9%)
Total tracing 10.959 s -
Total appsec 11.31 s 350.782 ms (3.2%)
Total iast 11.391 s 431.731 ms (3.9%)
Total profiling 10.966 s 6.705 ms (0.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.061 s -
Agent appsec 1.245 s 184.267 ms (17.4%)
Agent iast 1.24 s 179.472 ms (16.9%)
Agent profiling 1.19 s 129.574 ms (12.2%)
Total tracing 11.018 s -
Total appsec 11.144 s 126.153 ms (1.1%)
Total iast 11.517 s 499.256 ms (4.5%)
Total profiling 11.125 s 107.563 ms (1.0%)
gantt
    title petclinic - break down per module: candidate=1.61.0-SNAPSHOT~7148b8205b, baseline=1.61.0-SNAPSHOT~95b7859b82

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.204 ms) : 0, 1204
crashtracking [candidate] (1.191 ms) : 0, 1191
BytebuddyAgent [baseline] (627.353 ms) : 0, 627353
BytebuddyAgent [candidate] (627.842 ms) : 0, 627842
AgentMeter [baseline] (29.017 ms) : 0, 29017
AgentMeter [candidate] (29.019 ms) : 0, 29019
GlobalTracer [baseline] (256.828 ms) : 0, 256828
GlobalTracer [candidate] (257.109 ms) : 0, 257109
AppSec [baseline] (31.683 ms) : 0, 31683
AppSec [candidate] (31.617 ms) : 0, 31617
Debugger [baseline] (60.068 ms) : 0, 60068
Debugger [candidate] (60.229 ms) : 0, 60229
Remote Config [baseline] (610.234 µs) : 0, 610
Remote Config [candidate] (592.115 µs) : 0, 592
Telemetry [baseline] (7.96 ms) : 0, 7960
Telemetry [candidate] (8.067 ms) : 0, 8067
Flare Poller [baseline] (7.278 ms) : 0, 7278
Flare Poller [candidate] (8.812 ms) : 0, 8812
section appsec
crashtracking [baseline] (1.205 ms) : 0, 1205
crashtracking [candidate] (1.205 ms) : 0, 1205
BytebuddyAgent [baseline] (663.456 ms) : 0, 663456
BytebuddyAgent [candidate] (656.749 ms) : 0, 656749
AgentMeter [baseline] (12.195 ms) : 0, 12195
AgentMeter [candidate] (12.05 ms) : 0, 12050
GlobalTracer [baseline] (261.118 ms) : 0, 261118
GlobalTracer [candidate] (258.068 ms) : 0, 258068
AppSec [baseline] (179.193 ms) : 0, 179193
AppSec [candidate] (177.507 ms) : 0, 177507
Debugger [baseline] (67.058 ms) : 0, 67058
Debugger [candidate] (66.34 ms) : 0, 66340
Remote Config [baseline] (633.931 µs) : 0, 634
Remote Config [candidate] (616.755 µs) : 0, 617
Telemetry [baseline] (8.481 ms) : 0, 8481
Telemetry [candidate] (8.243 ms) : 0, 8243
Flare Poller [baseline] (3.703 ms) : 0, 3703
Flare Poller [candidate] (3.605 ms) : 0, 3605
IAST [baseline] (24.579 ms) : 0, 24579
IAST [candidate] (24.123 ms) : 0, 24123
section iast
crashtracking [baseline] (1.203 ms) : 0, 1203
crashtracking [candidate] (1.21 ms) : 0, 1210
BytebuddyAgent [baseline] (801.855 ms) : 0, 801855
BytebuddyAgent [candidate] (804.553 ms) : 0, 804553
AgentMeter [baseline] (11.609 ms) : 0, 11609
AgentMeter [candidate] (11.658 ms) : 0, 11658
GlobalTracer [baseline] (249.031 ms) : 0, 249031
GlobalTracer [candidate] (249.113 ms) : 0, 249113
AppSec [baseline] (26.842 ms) : 0, 26842
AppSec [candidate] (26.777 ms) : 0, 26777
Debugger [baseline] (71.316 ms) : 0, 71316
Debugger [candidate] (70.768 ms) : 0, 70768
Remote Config [baseline] (527.093 µs) : 0, 527
Remote Config [candidate] (549.493 µs) : 0, 549
Telemetry [baseline] (9.216 ms) : 0, 9216
Telemetry [candidate] (9.846 ms) : 0, 9846
Flare Poller [baseline] (3.384 ms) : 0, 3384
Flare Poller [candidate] (3.572 ms) : 0, 3572
IAST [baseline] (25.6 ms) : 0, 25600
IAST [candidate] (25.586 ms) : 0, 25586
section profiling
ProfilingAgent [baseline] (93.522 ms) : 0, 93522
ProfilingAgent [candidate] (93.878 ms) : 0, 93878
crashtracking [baseline] (1.179 ms) : 0, 1179
crashtracking [candidate] (1.176 ms) : 0, 1176
BytebuddyAgent [baseline] (683.969 ms) : 0, 683969
BytebuddyAgent [candidate] (687.385 ms) : 0, 687385
AgentMeter [baseline] (8.68 ms) : 0, 8680
AgentMeter [candidate] (8.741 ms) : 0, 8741
GlobalTracer [baseline] (216.052 ms) : 0, 216052
GlobalTracer [candidate] (217.071 ms) : 0, 217071
AppSec [baseline] (32.289 ms) : 0, 32289
AppSec [candidate] (32.458 ms) : 0, 32458
Debugger [baseline] (62.348 ms) : 0, 62348
Debugger [candidate] (64.035 ms) : 0, 64035
Remote Config [baseline] (578.413 µs) : 0, 578
Remote Config [candidate] (590.994 µs) : 0, 591
Telemetry [baseline] (10.748 ms) : 0, 10748
Telemetry [candidate] (9.998 ms) : 0, 9998
Flare Poller [baseline] (4.226 ms) : 0, 4226
Flare Poller [candidate] (3.541 ms) : 0, 3541
Profiling [baseline] (94.09 ms) : 0, 94090
Profiling [candidate] (94.431 ms) : 0, 94431
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/otel-metric-registry
git_commit_date 1773715688 1773724158
git_commit_sha 95b7859 7148b82
release_version 1.61.0-SNAPSHOT~95b7859b82 1.61.0-SNAPSHOT~7148b8205b
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1773726606 1773726606
ci_job_id 1511666568 1511666568
ci_pipeline_id 102877634 102877634
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-7ez0fn0s 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-7ez0fn0s 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 5 performance improvements and 2 performance regressions! Performance is the same for 13 metrics, 16 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:profiling:high_load better
[-293.003µs; -125.144µs] or [-15.756%; -6.729%]
unstable
[-1456.828µs; -524.347µs] or [-25.640%; -9.228%]
unstable
[+85.623op/s; +577.939op/s] or [+4.468%; +30.157%]
1.651ms 4.691ms 2248.219op/s 1.860ms 5.682ms 1916.438op/s
scenario:load:insecure-bank:iast_FULL:high_load unsure
[-383.702µs; -103.134µs] or [-7.039%; -1.892%]
better
[-1079.893µs; -317.859µs] or [-8.202%; -2.414%]
unstable
[-39.855op/s; +106.043op/s] or [-5.276%; +14.037%]
5.208ms 12.467ms 788.531op/s 5.451ms 13.166ms 755.438op/s
scenario:load:petclinic:code_origins:high_load better
[-1236.108µs; -503.240µs] or [-6.831%; -2.781%]
better
[-2.024ms; -0.806ms] or [-6.844%; -2.726%]
unstable
[-12.456op/s; +37.331op/s] or [-4.928%; +14.768%]
17.225ms 28.165ms 265.219op/s 18.095ms 29.580ms 252.781op/s
scenario:load:petclinic:iast:high_load better
[-1.498ms; -0.614ms] or [-8.195%; -3.356%]
unsure
[-1.907ms; -0.563ms] or [-6.459%; -1.906%]
unstable
[-12.644op/s; +37.456op/s] or [-5.018%; +14.865%]
17.226ms 28.288ms 264.375op/s 18.281ms 29.523ms 251.969op/s
scenario:load:petclinic:profiling:high_load worse
[+2.368ms; +2.744ms] or [+13.234%; +15.335%]
worse
[+2.013ms; +3.623ms] or [+6.888%; +12.399%]
unstable
[-51.032op/s; -5.093op/s] or [-20.015%; -1.998%]
20.449ms 32.035ms 226.906op/s 17.893ms 29.218ms 254.969op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~7148b8205b, baseline=1.61.0-SNAPSHOT~95b7859b82
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.189 ms) : 1177, 1201
.   : milestone, 1189,
iast (3.176 ms) : 3134, 3218
.   : milestone, 3176,
iast_FULL (6.125 ms) : 6060, 6190
.   : milestone, 6125,
iast_GLOBAL (3.493 ms) : 3442, 3545
.   : milestone, 3493,
profiling (2.367 ms) : 2343, 2390
.   : milestone, 2367,
tracing (1.905 ms) : 1889, 1922
.   : milestone, 1905,
section candidate
no_agent (1.19 ms) : 1178, 1202
.   : milestone, 1190,
iast (3.247 ms) : 3204, 3291
.   : milestone, 3247,
iast_FULL (5.865 ms) : 5806, 5924
.   : milestone, 5865,
iast_GLOBAL (3.627 ms) : 3563, 3692
.   : milestone, 3627,
profiling (2.008 ms) : 1990, 2026
.   : milestone, 2008,
tracing (1.78 ms) : 1766, 1795
.   : milestone, 1780,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.189 ms [1.177 ms, 1.201 ms] -
iast 3.176 ms [3.134 ms, 3.218 ms] 1.987 ms (167.1%)
iast_FULL 6.125 ms [6.06 ms, 6.19 ms] 4.936 ms (415.1%)
iast_GLOBAL 3.493 ms [3.442 ms, 3.545 ms] 2.304 ms (193.8%)
profiling 2.367 ms [2.343 ms, 2.39 ms] 1.178 ms (99.0%)
tracing 1.905 ms [1.889 ms, 1.922 ms] 715.987 µs (60.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.19 ms [1.178 ms, 1.202 ms] -
iast 3.247 ms [3.204 ms, 3.291 ms] 2.058 ms (173.0%)
iast_FULL 5.865 ms [5.806 ms, 5.924 ms] 4.675 ms (393.0%)
iast_GLOBAL 3.627 ms [3.563 ms, 3.692 ms] 2.438 ms (204.9%)
profiling 2.008 ms [1.99 ms, 2.026 ms] 818.56 µs (68.8%)
tracing 1.78 ms [1.766 ms, 1.795 ms] 590.339 µs (49.6%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~7148b8205b, baseline=1.61.0-SNAPSHOT~95b7859b82
    dateFormat X
    axisFormat %s
section baseline
no_agent (18.218 ms) : 18033, 18404
.   : milestone, 18218,
appsec (18.473 ms) : 18283, 18663
.   : milestone, 18473,
code_origins (18.468 ms) : 18284, 18652
.   : milestone, 18468,
iast (18.524 ms) : 18337, 18711
.   : milestone, 18524,
profiling (18.302 ms) : 18121, 18483
.   : milestone, 18302,
tracing (17.595 ms) : 17418, 17772
.   : milestone, 17595,
section candidate
no_agent (18.323 ms) : 18131, 18515
.   : milestone, 18323,
appsec (18.567 ms) : 18380, 18753
.   : milestone, 18567,
code_origins (17.59 ms) : 17420, 17760
.   : milestone, 17590,
iast (17.652 ms) : 17481, 17823
.   : milestone, 17652,
profiling (20.579 ms) : 20376, 20781
.   : milestone, 20579,
tracing (17.492 ms) : 17319, 17666
.   : milestone, 17492,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.218 ms [18.033 ms, 18.404 ms] -
appsec 18.473 ms [18.283 ms, 18.663 ms] 254.766 µs (1.4%)
code_origins 18.468 ms [18.284 ms, 18.652 ms] 249.602 µs (1.4%)
iast 18.524 ms [18.337 ms, 18.711 ms] 305.471 µs (1.7%)
profiling 18.302 ms [18.121 ms, 18.483 ms] 83.539 µs (0.5%)
tracing 17.595 ms [17.418 ms, 17.772 ms] -623.33 µs (-3.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.323 ms [18.131 ms, 18.515 ms] -
appsec 18.567 ms [18.38 ms, 18.753 ms] 243.549 µs (1.3%)
code_origins 17.59 ms [17.42 ms, 17.76 ms] -733.202 µs (-4.0%)
iast 17.652 ms [17.481 ms, 17.823 ms] -671.623 µs (-3.7%)
profiling 20.579 ms [20.376 ms, 20.781 ms] 2.255 ms (12.3%)
tracing 17.492 ms [17.319 ms, 17.666 ms] -831.061 µs (-4.5%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/otel-metric-registry
git_commit_date 1773715688 1773724158
git_commit_sha 95b7859 7148b82
release_version 1.61.0-SNAPSHOT~95b7859b82 1.61.0-SNAPSHOT~7148b8205b
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1773726337 1773726337
ci_job_id 1511666569 1511666569
ci_pipeline_id 102877634 102877634
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-0-dlk0eqa0 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-0-dlk0eqa0 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 10 metrics, 2 unstable metrics.

Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~7148b8205b, baseline=1.61.0-SNAPSHOT~95b7859b82
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.027 s) : 15027000, 15027000
.   : milestone, 15027000,
appsec (14.904 s) : 14904000, 14904000
.   : milestone, 14904000,
iast (18.277 s) : 18277000, 18277000
.   : milestone, 18277000,
iast_GLOBAL (17.953 s) : 17953000, 17953000
.   : milestone, 17953000,
profiling (15.118 s) : 15118000, 15118000
.   : milestone, 15118000,
tracing (14.796 s) : 14796000, 14796000
.   : milestone, 14796000,
section candidate
no_agent (15.538 s) : 15538000, 15538000
.   : milestone, 15538000,
appsec (14.645 s) : 14645000, 14645000
.   : milestone, 14645000,
iast (18.51 s) : 18510000, 18510000
.   : milestone, 18510000,
iast_GLOBAL (18.178 s) : 18178000, 18178000
.   : milestone, 18178000,
profiling (14.896 s) : 14896000, 14896000
.   : milestone, 14896000,
tracing (14.695 s) : 14695000, 14695000
.   : milestone, 14695000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.027 s [15.027 s, 15.027 s] -
appsec 14.904 s [14.904 s, 14.904 s] -123.0 ms (-0.8%)
iast 18.277 s [18.277 s, 18.277 s] 3.25 s (21.6%)
iast_GLOBAL 17.953 s [17.953 s, 17.953 s] 2.926 s (19.5%)
profiling 15.118 s [15.118 s, 15.118 s] 91.0 ms (0.6%)
tracing 14.796 s [14.796 s, 14.796 s] -231.0 ms (-1.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.538 s [15.538 s, 15.538 s] -
appsec 14.645 s [14.645 s, 14.645 s] -893.0 ms (-5.7%)
iast 18.51 s [18.51 s, 18.51 s] 2.972 s (19.1%)
iast_GLOBAL 18.178 s [18.178 s, 18.178 s] 2.64 s (17.0%)
profiling 14.896 s [14.896 s, 14.896 s] -642.0 ms (-4.1%)
tracing 14.695 s [14.695 s, 14.695 s] -843.0 ms (-5.4%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~7148b8205b, baseline=1.61.0-SNAPSHOT~95b7859b82
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.477 ms) : 1466, 1489
.   : milestone, 1477,
appsec (3.885 ms) : 3656, 4115
.   : milestone, 3885,
iast (2.261 ms) : 2192, 2331
.   : milestone, 2261,
iast_GLOBAL (2.301 ms) : 2231, 2370
.   : milestone, 2301,
profiling (2.097 ms) : 2042, 2152
.   : milestone, 2097,
tracing (2.063 ms) : 2009, 2116
.   : milestone, 2063,
section candidate
no_agent (1.473 ms) : 1462, 1485
.   : milestone, 1473,
appsec (3.724 ms) : 3510, 3938
.   : milestone, 3724,
iast (2.251 ms) : 2182, 2321
.   : milestone, 2251,
iast_GLOBAL (2.303 ms) : 2233, 2373
.   : milestone, 2303,
profiling (2.516 ms) : 2351, 2680
.   : milestone, 2516,
tracing (2.066 ms) : 2012, 2119
.   : milestone, 2066,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.477 ms [1.466 ms, 1.489 ms] -
appsec 3.885 ms [3.656 ms, 4.115 ms] 2.408 ms (163.0%)
iast 2.261 ms [2.192 ms, 2.331 ms] 784.253 µs (53.1%)
iast_GLOBAL 2.301 ms [2.231 ms, 2.37 ms] 823.508 µs (55.8%)
profiling 2.097 ms [2.042 ms, 2.152 ms] 619.804 µs (42.0%)
tracing 2.063 ms [2.009 ms, 2.116 ms] 585.85 µs (39.7%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.473 ms [1.462 ms, 1.485 ms] -
appsec 3.724 ms [3.51 ms, 3.938 ms] 2.251 ms (152.8%)
iast 2.251 ms [2.182 ms, 2.321 ms] 778.256 µs (52.8%)
iast_GLOBAL 2.303 ms [2.233 ms, 2.373 ms] 829.981 µs (56.3%)
profiling 2.516 ms [2.351 ms, 2.68 ms] 1.043 ms (70.8%)
tracing 2.066 ms [2.012 ms, 2.119 ms] 592.825 µs (40.2%)

@mcculls
Copy link
Contributor Author

mcculls commented Mar 17, 2026

/merge

@gh-worker-devflow-routing-ef8351
Copy link

gh-worker-devflow-routing-ef8351 bot commented Mar 17, 2026

View all feedbacks in Devflow UI.

2026-03-17 07:41:03 UTC ℹ️ Start processing command /merge


2026-03-17 07:41:07 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 3h (p90).


2026-03-17 07:41:52 UTC ⚠️ MergeQueue: This merge request build was cancelled

stuart.mcculloch@datadoghq.com cancelled this merge request build

@mcculls
Copy link
Contributor Author

mcculls commented Mar 17, 2026

/merge -c

@gh-worker-devflow-routing-ef8351
Copy link

gh-worker-devflow-routing-ef8351 bot commented Mar 17, 2026

View all feedbacks in Devflow UI.

2026-03-17 07:41:46 UTC ℹ️ Start processing command /merge -c

@mcculls
Copy link
Contributor Author

mcculls commented Mar 17, 2026

/merge

@gh-worker-devflow-routing-ef8351
Copy link

gh-worker-devflow-routing-ef8351 bot commented Mar 17, 2026

View all feedbacks in Devflow UI.

2026-03-17 07:44:31 UTC ℹ️ Start processing command /merge


2026-03-17 07:44:35 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 3h (p90).


2026-03-17 08:47:09 UTC ℹ️ MergeQueue: This merge request was merged

@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot merged commit ea11e60 into master Mar 17, 2026
574 checks passed
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot deleted the mcculls/otel-metric-registry branch March 17, 2026 08:47
@github-actions github-actions bot added this to the 1.61.0 milestone Mar 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

inst: opentelemetry OpenTelemetry instrumentation tag: no release notes Changes to exclude from release notes type: refactoring

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants