Skip to content

Conversation

@cecile75
Copy link
Contributor

@cecile75 cecile75 commented Oct 27, 2025

What Does This Do

Add Otel Metrics configuration keys. They are not linked to anything yet.

Motivation

OpenTelemetry Metrics API support

Additional Notes

Contributor Checklist

Jira ticket: APMAPI-1671

@datadog-datadog-prod-us1
Copy link
Contributor

datadog-datadog-prod-us1 bot commented Oct 29, 2025

🎯 Code Coverage
Patch Coverage: 2.50%
Total Coverage: 59.63% (-0.07%)

View detailed report

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: dd223a3 | Docs | Datadog PR Page | Was this helpful? Give us feedback!

@pr-commenter
Copy link

pr-commenter bot commented Oct 29, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master cecile/otelmetricstask1
git_commit_date 1761764320 1761821183
git_commit_sha d86fe55 dd223a3
release_version 1.55.0-SNAPSHOT~d86fe5521e 1.55.0-SNAPSHOT~dd223a3901
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1761824149 1761824149
ci_job_id 1206340884 1206340884
ci_pipeline_id 80725289 80725289
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-yx0k9fit 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-yx0k9fit 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 54 metrics, 11 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.55.0-SNAPSHOT~dd223a3901, baseline=1.55.0-SNAPSHOT~d86fe5521e

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.033 s) : 0, 1032801
Total [baseline] (10.906 s) : 0, 10906343
Agent [candidate] (1.03 s) : 0, 1029650
Total [candidate] (10.816 s) : 0, 10816008
section appsec
Agent [baseline] (1.201 s) : 0, 1201288
Total [baseline] (10.88 s) : 0, 10880289
Agent [candidate] (1.213 s) : 0, 1212731
Total [candidate] (10.971 s) : 0, 10970500
section iast
Agent [baseline] (1.163 s) : 0, 1162692
Total [baseline] (11.108 s) : 0, 11107817
Agent [candidate] (1.171 s) : 0, 1171424
Total [candidate] (11.144 s) : 0, 11143937
section profiling
Agent [baseline] (1.171 s) : 0, 1171280
Total [baseline] (10.804 s) : 0, 10804077
Agent [candidate] (1.172 s) : 0, 1172139
Total [candidate] (10.861 s) : 0, 10860706
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.033 s -
Agent appsec 1.201 s 168.487 ms (16.3%)
Agent iast 1.163 s 129.891 ms (12.6%)
Agent profiling 1.171 s 138.479 ms (13.4%)
Total tracing 10.906 s -
Total appsec 10.88 s -26.054 ms (-0.2%)
Total iast 11.108 s 201.474 ms (1.8%)
Total profiling 10.804 s -102.266 ms (-0.9%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.03 s -
Agent appsec 1.213 s 183.082 ms (17.8%)
Agent iast 1.171 s 141.774 ms (13.8%)
Agent profiling 1.172 s 142.489 ms (13.8%)
Total tracing 10.816 s -
Total appsec 10.971 s 154.492 ms (1.4%)
Total iast 11.144 s 327.929 ms (3.0%)
Total profiling 10.861 s 44.698 ms (0.4%)
gantt
    title petclinic - break down per module: candidate=1.55.0-SNAPSHOT~dd223a3901, baseline=1.55.0-SNAPSHOT~d86fe5521e

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.479 ms) : 0, 1479
crashtracking [candidate] (1.464 ms) : 0, 1464
BytebuddyAgent [baseline] (704.184 ms) : 0, 704184
BytebuddyAgent [candidate] (702.067 ms) : 0, 702067
GlobalTracer [baseline] (245.381 ms) : 0, 245381
GlobalTracer [candidate] (244.692 ms) : 0, 244692
AppSec [baseline] (32.439 ms) : 0, 32439
AppSec [candidate] (32.347 ms) : 0, 32347
Debugger [baseline] (6.391 ms) : 0, 6391
Debugger [candidate] (6.465 ms) : 0, 6465
Remote Config [baseline] (685.31 µs) : 0, 685
Remote Config [candidate] (682.306 µs) : 0, 682
Telemetry [baseline] (14.443 ms) : 0, 14443
Telemetry [candidate] (15.088 ms) : 0, 15088
Flare Poller [baseline] (6.571 ms) : 0, 6571
Flare Poller [candidate] (5.717 ms) : 0, 5717
section appsec
crashtracking [baseline] (1.467 ms) : 0, 1467
crashtracking [candidate] (1.46 ms) : 0, 1460
BytebuddyAgent [baseline] (725.364 ms) : 0, 725364
BytebuddyAgent [candidate] (732.076 ms) : 0, 732076
GlobalTracer [baseline] (235.447 ms) : 0, 235447
GlobalTracer [candidate] (238.167 ms) : 0, 238167
IAST [baseline] (25.018 ms) : 0, 25018
IAST [candidate] (25.369 ms) : 0, 25369
AppSec [baseline] (173.9 ms) : 0, 173900
AppSec [candidate] (175.298 ms) : 0, 175298
Debugger [baseline] (5.919 ms) : 0, 5919
Debugger [candidate] (6.015 ms) : 0, 6015
Remote Config [baseline] (637.854 µs) : 0, 638
Remote Config [candidate] (632.742 µs) : 0, 633
Telemetry [baseline] (8.407 ms) : 0, 8407
Telemetry [candidate] (8.569 ms) : 0, 8569
Flare Poller [baseline] (3.918 ms) : 0, 3918
Flare Poller [candidate] (3.925 ms) : 0, 3925
section iast
crashtracking [baseline] (1.477 ms) : 0, 1477
crashtracking [candidate] (1.476 ms) : 0, 1476
BytebuddyAgent [baseline] (824.701 ms) : 0, 824701
BytebuddyAgent [candidate] (832.105 ms) : 0, 832105
GlobalTracer [baseline] (233.699 ms) : 0, 233699
GlobalTracer [candidate] (235.343 ms) : 0, 235343
IAST [baseline] (31.763 ms) : 0, 31763
IAST [candidate] (32.57 ms) : 0, 32570
AppSec [baseline] (30.185 ms) : 0, 30185
AppSec [candidate] (29.072 ms) : 0, 29072
Debugger [baseline] (6.192 ms) : 0, 6192
Debugger [candidate] (6.111 ms) : 0, 6111
Remote Config [baseline] (611.897 µs) : 0, 612
Remote Config [candidate] (606.637 µs) : 0, 607
Telemetry [baseline] (8.545 ms) : 0, 8545
Telemetry [candidate] (8.428 ms) : 0, 8428
Flare Poller [baseline] (4.19 ms) : 0, 4190
Flare Poller [candidate] (4.177 ms) : 0, 4177
section profiling
crashtracking [baseline] (1.455 ms) : 0, 1455
crashtracking [candidate] (1.437 ms) : 0, 1437
BytebuddyAgent [baseline] (724.779 ms) : 0, 724779
BytebuddyAgent [candidate] (725.296 ms) : 0, 725296
GlobalTracer [baseline] (219.675 ms) : 0, 219675
GlobalTracer [candidate] (219.915 ms) : 0, 219915
AppSec [baseline] (32.449 ms) : 0, 32449
AppSec [candidate] (32.177 ms) : 0, 32177
Debugger [baseline] (12.359 ms) : 0, 12359
Debugger [candidate] (10.608 ms) : 0, 10608
Remote Config [baseline] (1.505 ms) : 0, 1505
Remote Config [candidate] (698.239 µs) : 0, 698
Telemetry [baseline] (10.049 ms) : 0, 10049
Telemetry [candidate] (12.289 ms) : 0, 12289
Flare Poller [baseline] (4.131 ms) : 0, 4131
Flare Poller [candidate] (4.181 ms) : 0, 4181
ProfilingAgent [baseline] (109.439 ms) : 0, 109439
ProfilingAgent [candidate] (109.146 ms) : 0, 109146
Profiling [baseline] (110.048 ms) : 0, 110048
Profiling [candidate] (109.779 ms) : 0, 109779
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.55.0-SNAPSHOT~dd223a3901, baseline=1.55.0-SNAPSHOT~d86fe5521e

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.03 s) : 0, 1029728
Total [baseline] (8.659 s) : 0, 8659384
Agent [candidate] (1.028 s) : 0, 1027901
Total [candidate] (8.651 s) : 0, 8651055
section iast
Agent [baseline] (1.16 s) : 0, 1160247
Total [baseline] (9.38 s) : 0, 9379811
Agent [candidate] (1.163 s) : 0, 1163332
Total [candidate] (9.416 s) : 0, 9416406
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.03 s -
Agent iast 1.16 s 130.52 ms (12.7%)
Total tracing 8.659 s -
Total iast 9.38 s 720.427 ms (8.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.028 s -
Agent iast 1.163 s 135.431 ms (13.2%)
Total tracing 8.651 s -
Total iast 9.416 s 765.351 ms (8.8%)
gantt
    title insecure-bank - break down per module: candidate=1.55.0-SNAPSHOT~dd223a3901, baseline=1.55.0-SNAPSHOT~d86fe5521e

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.471 ms) : 0, 1471
crashtracking [candidate] (1.446 ms) : 0, 1446
BytebuddyAgent [baseline] (701.739 ms) : 0, 701739
BytebuddyAgent [candidate] (701.219 ms) : 0, 701219
GlobalTracer [baseline] (245.312 ms) : 0, 245312
GlobalTracer [candidate] (243.947 ms) : 0, 243947
AppSec [baseline] (32.283 ms) : 0, 32283
AppSec [candidate] (32.384 ms) : 0, 32384
Debugger [baseline] (6.383 ms) : 0, 6383
Debugger [candidate] (6.326 ms) : 0, 6326
Remote Config [baseline] (680.684 µs) : 0, 681
Remote Config [candidate] (677.924 µs) : 0, 678
Telemetry [baseline] (14.54 ms) : 0, 14540
Telemetry [candidate] (14.456 ms) : 0, 14456
Flare Poller [baseline] (6.238 ms) : 0, 6238
Flare Poller [candidate] (6.408 ms) : 0, 6408
section iast
crashtracking [baseline] (1.473 ms) : 0, 1473
crashtracking [candidate] (1.479 ms) : 0, 1479
BytebuddyAgent [baseline] (822.782 ms) : 0, 822782
BytebuddyAgent [candidate] (825.318 ms) : 0, 825318
GlobalTracer [baseline] (233.488 ms) : 0, 233488
GlobalTracer [candidate] (233.582 ms) : 0, 233582
IAST [baseline] (31.741 ms) : 0, 31741
IAST [candidate] (31.085 ms) : 0, 31085
AppSec [baseline] (30.195 ms) : 0, 30195
AppSec [candidate] (31.05 ms) : 0, 31050
Debugger [baseline] (6.155 ms) : 0, 6155
Debugger [candidate] (6.151 ms) : 0, 6151
Remote Config [baseline] (613.183 µs) : 0, 613
Remote Config [candidate] (611.287 µs) : 0, 611
Telemetry [baseline] (8.446 ms) : 0, 8446
Telemetry [candidate] (8.507 ms) : 0, 8507
Flare Poller [baseline] (4.127 ms) : 0, 4127
Flare Poller [candidate] (4.238 ms) : 0, 4238
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master cecile/otelmetricstask1
git_commit_date 1761764320 1761821183
git_commit_sha d86fe55 dd223a3
release_version 1.55.0-SNAPSHOT~d86fe5521e 1.55.0-SNAPSHOT~dd223a3901
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1761824723 1761824723
ci_job_id 1206340886 1206340886
ci_pipeline_id 80725289 80725289
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-22bhnovb 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-22bhnovb 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 3 performance improvements and 5 performance regressions! Performance is the same for 4 metrics, 12 unstable metrics.

scenario Δ mean http_req_duration Δ mean throughput candidate mean http_req_duration candidate mean throughput baseline mean http_req_duration baseline mean throughput
scenario:load:insecure-bank:iast:high_load worse
[+65.177µs; +161.456µs] or [+2.052%; +5.084%]
unstable
[-203.419op/s; +106.669op/s] or [-14.127%; +7.408%]
3.289ms 1391.531op/s 3.176ms 1439.906op/s
scenario:load:insecure-bank:iast_FULL:high_load worse
[+152.409µs; +277.499µs] or [+2.693%; +4.904%]
unstable
[-113.983op/s; +54.170op/s] or [-13.952%; +6.631%]
5.874ms 787.031op/s 5.659ms 816.938op/s
scenario:load:insecure-bank:profiling:high_load worse
[+144.823µs; +180.257µs] or [+7.719%; +9.607%]
unstable
[-454.779op/s; +82.404op/s] or [-18.943%; +3.432%]
2.039ms 2214.562op/s 1.876ms 2400.750op/s
scenario:load:petclinic:iast:high_load better
[-991.042µs; -599.156µs] or [-5.306%; -3.208%]
unstable
[-15.415op/s; +37.603op/s] or [-6.171%; +15.052%]
17.881ms 260.906op/s 18.677ms 249.812op/s
scenario:load:petclinic:code_origins:high_load better
[-1116.843µs; -712.104µs] or [-5.745%; -3.663%]
unstable
[-13.574op/s; +37.262op/s] or [-5.654%; +15.522%]
18.527ms 251.906op/s 19.441ms 240.062op/s
scenario:load:petclinic:no_agent:high_load worse
[+471.146µs; +882.933µs] or [+2.567%; +4.810%]
unstable
[-36.809op/s; +18.871op/s] or [-14.479%; +7.423%]
19.033ms 245.250op/s 18.356ms 254.219op/s
scenario:load:petclinic:appsec:high_load worse
[+729.916µs; +1140.272µs] or [+3.981%; +6.219%]
unstable
[-37.639op/s; +13.139op/s] or [-14.789%; +5.163%]
19.271ms 242.250op/s 18.336ms 254.500op/s
scenario:load:petclinic:profiling:high_load better
[-982.421µs; -559.796µs] or [-5.010%; -2.855%]
unstable
[-15.578op/s; +34.890op/s] or [-6.544%; +14.658%]
18.840ms 247.688op/s 19.611ms 238.031op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~dd223a3901, baseline=1.55.0-SNAPSHOT~d86fe5521e
    dateFormat X
    axisFormat %s
section baseline
no_agent (18.356 ms) : 18162, 18549
.   : milestone, 18356,
appsec (18.336 ms) : 18151, 18521
.   : milestone, 18336,
code_origins (19.441 ms) : 19246, 19636
.   : milestone, 19441,
iast (18.677 ms) : 18492, 18861
.   : milestone, 18677,
profiling (19.611 ms) : 19410, 19811
.   : milestone, 19611,
tracing (19.629 ms) : 19432, 19825
.   : milestone, 19629,
section candidate
no_agent (19.033 ms) : 18843, 19222
.   : milestone, 19033,
appsec (19.271 ms) : 19075, 19467
.   : milestone, 19271,
code_origins (18.527 ms) : 18346, 18708
.   : milestone, 18527,
iast (17.881 ms) : 17702, 18061
.   : milestone, 17881,
profiling (18.84 ms) : 18647, 19032
.   : milestone, 18840,
tracing (19.85 ms) : 19650, 20051
.   : milestone, 19850,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.356 ms [18.162 ms, 18.549 ms] -
appsec 18.336 ms [18.151 ms, 18.521 ms] -19.659 µs (-0.1%)
code_origins 19.441 ms [19.246 ms, 19.636 ms] 1.086 ms (5.9%)
iast 18.677 ms [18.492 ms, 18.861 ms] 320.99 µs (1.7%)
profiling 19.611 ms [19.41 ms, 19.811 ms] 1.255 ms (6.8%)
tracing 19.629 ms [19.432 ms, 19.825 ms] 1.273 ms (6.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 19.033 ms [18.843 ms, 19.222 ms] -
appsec 19.271 ms [19.075 ms, 19.467 ms] 238.396 µs (1.3%)
code_origins 18.527 ms [18.346 ms, 18.708 ms] -505.83 µs (-2.7%)
iast 17.881 ms [17.702 ms, 18.061 ms] -1.151 ms (-6.0%)
profiling 18.84 ms [18.647 ms, 19.032 ms] -193.01 µs (-1.0%)
tracing 19.85 ms [19.65 ms, 20.051 ms] 817.893 µs (4.3%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~dd223a3901, baseline=1.55.0-SNAPSHOT~d86fe5521e
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.199 ms) : 1187, 1211
.   : milestone, 1199,
iast (3.176 ms) : 3136, 3216
.   : milestone, 3176,
iast_FULL (5.659 ms) : 5603, 5715
.   : milestone, 5659,
iast_GLOBAL (3.558 ms) : 3507, 3609
.   : milestone, 3558,
profiling (1.876 ms) : 1861, 1891
.   : milestone, 1876,
tracing (1.82 ms) : 1804, 1837
.   : milestone, 1820,
section candidate
no_agent (1.183 ms) : 1172, 1194
.   : milestone, 1183,
iast (3.289 ms) : 3240, 3338
.   : milestone, 3289,
iast_FULL (5.874 ms) : 5814, 5934
.   : milestone, 5874,
iast_GLOBAL (3.669 ms) : 3610, 3727
.   : milestone, 3669,
profiling (2.039 ms) : 2021, 2057
.   : milestone, 2039,
tracing (1.826 ms) : 1811, 1840
.   : milestone, 1826,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.199 ms [1.187 ms, 1.211 ms] -
iast 3.176 ms [3.136 ms, 3.216 ms] 1.977 ms (164.9%)
iast_FULL 5.659 ms [5.603 ms, 5.715 ms] 4.46 ms (372.0%)
iast_GLOBAL 3.558 ms [3.507 ms, 3.609 ms] 2.359 ms (196.7%)
profiling 1.876 ms [1.861 ms, 1.891 ms] 677.233 µs (56.5%)
tracing 1.82 ms [1.804 ms, 1.837 ms] 621.255 µs (51.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.183 ms [1.172 ms, 1.194 ms] -
iast 3.289 ms [3.24 ms, 3.338 ms] 2.106 ms (178.0%)
iast_FULL 5.874 ms [5.814 ms, 5.934 ms] 4.691 ms (396.6%)
iast_GLOBAL 3.669 ms [3.61 ms, 3.727 ms] 2.486 ms (210.1%)
profiling 2.039 ms [2.021 ms, 2.057 ms] 855.866 µs (72.4%)
tracing 1.826 ms [1.811 ms, 1.84 ms] 642.571 µs (54.3%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master cecile/otelmetricstask1
git_commit_date 1761764320 1761821183
git_commit_sha d86fe55 dd223a3
release_version 1.55.0-SNAPSHOT~d86fe5521e 1.55.0-SNAPSHOT~dd223a3901
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1761824387 1761824387
ci_job_id 1206340888 1206340888
ci_pipeline_id 80725289 80725289
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-7q0ejdwq 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-7q0ejdwq 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.55.0-SNAPSHOT~dd223a3901, baseline=1.55.0-SNAPSHOT~d86fe5521e
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.479 ms) : 1467, 1491
.   : milestone, 1479,
appsec (3.719 ms) : 3502, 3936
.   : milestone, 3719,
iast (2.205 ms) : 2142, 2269
.   : milestone, 2205,
iast_GLOBAL (2.248 ms) : 2184, 2312
.   : milestone, 2248,
profiling (2.059 ms) : 2007, 2110
.   : milestone, 2059,
tracing (2.022 ms) : 1972, 2072
.   : milestone, 2022,
section candidate
no_agent (1.475 ms) : 1464, 1487
.   : milestone, 1475,
appsec (3.708 ms) : 3490, 3927
.   : milestone, 3708,
iast (2.207 ms) : 2144, 2271
.   : milestone, 2207,
iast_GLOBAL (2.256 ms) : 2192, 2320
.   : milestone, 2256,
profiling (2.046 ms) : 1995, 2097
.   : milestone, 2046,
tracing (2.043 ms) : 1993, 2093
.   : milestone, 2043,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.479 ms [1.467 ms, 1.491 ms] -
appsec 3.719 ms [3.502 ms, 3.936 ms] 2.24 ms (151.4%)
iast 2.205 ms [2.142 ms, 2.269 ms] 726.4 µs (49.1%)
iast_GLOBAL 2.248 ms [2.184 ms, 2.312 ms] 768.669 µs (52.0%)
profiling 2.059 ms [2.007 ms, 2.11 ms] 579.509 µs (39.2%)
tracing 2.022 ms [1.972 ms, 2.072 ms] 542.855 µs (36.7%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.475 ms [1.464 ms, 1.487 ms] -
appsec 3.708 ms [3.49 ms, 3.927 ms] 2.233 ms (151.4%)
iast 2.207 ms [2.144 ms, 2.271 ms] 732.207 µs (49.6%)
iast_GLOBAL 2.256 ms [2.192 ms, 2.32 ms] 780.865 µs (52.9%)
profiling 2.046 ms [1.995 ms, 2.097 ms] 571.103 µs (38.7%)
tracing 2.043 ms [1.993 ms, 2.093 ms] 568.027 µs (38.5%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~dd223a3901, baseline=1.55.0-SNAPSHOT~d86fe5521e
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.96 s) : 14960000, 14960000
.   : milestone, 14960000,
appsec (14.793 s) : 14793000, 14793000
.   : milestone, 14793000,
iast (18.499 s) : 18499000, 18499000
.   : milestone, 18499000,
iast_GLOBAL (18.187 s) : 18187000, 18187000
.   : milestone, 18187000,
profiling (15.811 s) : 15811000, 15811000
.   : milestone, 15811000,
tracing (14.884 s) : 14884000, 14884000
.   : milestone, 14884000,
section candidate
no_agent (15.012 s) : 15012000, 15012000
.   : milestone, 15012000,
appsec (14.966 s) : 14966000, 14966000
.   : milestone, 14966000,
iast (18.179 s) : 18179000, 18179000
.   : milestone, 18179000,
iast_GLOBAL (17.855 s) : 17855000, 17855000
.   : milestone, 17855000,
profiling (15.4 s) : 15400000, 15400000
.   : milestone, 15400000,
tracing (15.159 s) : 15159000, 15159000
.   : milestone, 15159000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.96 s [14.96 s, 14.96 s] -
appsec 14.793 s [14.793 s, 14.793 s] -167.0 ms (-1.1%)
iast 18.499 s [18.499 s, 18.499 s] 3.539 s (23.7%)
iast_GLOBAL 18.187 s [18.187 s, 18.187 s] 3.227 s (21.6%)
profiling 15.811 s [15.811 s, 15.811 s] 851.0 ms (5.7%)
tracing 14.884 s [14.884 s, 14.884 s] -76.0 ms (-0.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.012 s [15.012 s, 15.012 s] -
appsec 14.966 s [14.966 s, 14.966 s] -46.0 ms (-0.3%)
iast 18.179 s [18.179 s, 18.179 s] 3.167 s (21.1%)
iast_GLOBAL 17.855 s [17.855 s, 17.855 s] 2.843 s (18.9%)
profiling 15.4 s [15.4 s, 15.4 s] 388.0 ms (2.6%)
tracing 15.159 s [15.159 s, 15.159 s] 147.0 ms (1.0%)

@cecile75 cecile75 added inst: opentelemetry OpenTelemetry instrumentation tag: no release notes Changes to exclude from release notes type: enhancement Enhancements and improvements labels Oct 29, 2025
@cecile75 cecile75 marked this pull request as ready for review October 29, 2025 16:46
@cecile75 cecile75 requested review from a team as code owners October 29, 2025 16:46
@cecile75 cecile75 requested review from mcculls, mhlidd and sarahchen6 and removed request for a team October 29, 2025 16:46
Copy link
Contributor

@mhlidd mhlidd left a comment

Choose a reason for hiding this comment

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

Didn't have time to review all test files, but I have a general concern about where we should handle OTel configurations. We already have OTelEnvironmentConfigSource, which is effectively sets Datadog Configs as aliases for OTel Configs when DD_TRACE_OTEL_ENABLED=true.

IMO we should handle all OTel configs in one place to have one source of truth, and to me it makes sense to isolate them in OTelEnvironmentConfigSource. WDYT?

runtimeMetricsEnabled = configProvider.getBoolean(RUNTIME_METRICS_ENABLED, true);
metricsOtelEnabled =
configProvider.getBoolean(METRICS_OTEL_ENABLED, DEFAULT_METRICS_OTEL_ENABLED);
otelResourceAttributes = configProvider.getMergedMap(OTEL_RESOURCE_ATTRIBUTES, '=');
Copy link
Contributor

Choose a reason for hiding this comment

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

This is already queried in OtelEnvironmentConfigSource, and it appears that the existing way of handling of this config is slightly more specific than what is happening here.

Do we have a consensus of how we would like to handle this config?

This also brings up a bigger question of whether or not we want to reclassify what OtelEnvironmentConfigSource does. It really is not its own config source, but rather prioritizing OTEL configs instead of their DD equivalents when DD_TRACE_OTEL_ENABLED = true. Should we have all OTEL configs handled in the OtelEnvironmentConfigSource, or should we migrate all of the configs handled there to be handled in Config.java?

IMO, it makes sense to handle all OTel Configs in OtelEnvironmentConfigSource to separate them from regular DD config handling, and to keep the handling of OTel Configs all in one place.

@cecile75
Copy link
Contributor Author

Didn't have time to review all test files, but I have a general concern about where we should handle OTel configurations. We already have OTelEnvironmentConfigSource, which is effectively sets Datadog Configs as aliases for OTel Configs when DD_TRACE_OTEL_ENABLED=true.

IMO we should handle all OTel configs in one place to have one source of truth, and to me it makes sense to isolate them in OTelEnvironmentConfigSource. WDYT?

Hi @mhlidd,
Thank you for your review!
OtelEnvironmentConfigSource.java was created to "Map OpenTelemetry system properties and environment variables to their Datadog equivalents" for the traces.
Here, for the metrics, we are using directly otel configuration keys, like any other configuration keys, there is no mapping with Datadog equivalent keys.
For me, it makes more sense to manage the otel metrics config like any other feature and therefore, to create a file under dd-trace-api/src/main/java/datadog/trace/api/config/.
This being said, maybe the file can be renamed OtelMetricsConfig to be less confusing and making it clear that otel config for traces are not here. WDYT?

@mhlidd
Copy link
Contributor

mhlidd commented Oct 30, 2025

@cecile75 Yes you're right about the OtelEnvironmentConfigSource, you're right that under the current config setup that we should keep Otel Config querying in Config.java 😅.

I do think that the OtelEnvironmentConfigSource is confusing and should be refactored, but that's out of scope for this PR. (Not sure what is the best way to do that right now and maintain existing behavior)

This being said, maybe the file can be renamed OtelMetricsConfig to be less confusing and making it clear that otel config for traces are not here. WDYT?

Renaming to OtelMetricsConfig makes sense to me!

@cecile75
Copy link
Contributor Author

cecile75 commented Oct 30, 2025

@mhlidd Looking more into this as there are shared configuration keys between otel metric and otel traces that need remapping: you have mentioned otel.resource.attributes but there is also otel.sdk.disabled, otel.log.level..

@cecile75 cecile75 marked this pull request as draft October 30, 2025 18:02
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: enhancement Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants