Skip to content

Take defensive copy of original scope stack when restoring on different thread - #9403

Merged
mcculls merged 1 commit into
masterfrom
mcculls/maybe-copy-scope-stack-when-restoring
Aug 21, 2025
Merged

Take defensive copy of original scope stack when restoring on different thread#9403
mcculls merged 1 commit into
masterfrom
mcculls/maybe-copy-scope-stack-when-restoring

Conversation

@mcculls

Copy link
Copy Markdown
Contributor

What Does This Do

When restoring a swapped out scope-stack, take defensive copy if the current thread is not the original.

Motivation

This mitigates a potential issue if the swapped out scope-stack is ever restored more than once on different threads.

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@mcculls
mcculls requested a review from a team as a code ownerAugust 21, 2025 11:52
@mccullsmcculls added type: bug fix Bug fix inst: kotlin Kotlin instrumentation labels Aug 21, 2025
@mcculls
mcculls requested a review from amarzialiAugust 21, 2025 11:52
@datadog-datadog-prod-us1

datadog-datadog-prod-us1Bot commented Aug 21, 2025

Copy link
Copy Markdown
Contributor

🎯 Code Coverage
Patch Coverage: 100.00%
Total Coverage: 59.20% (+1.64%)

View detailed report

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

@pr-commenter

pr-commenterBot commented Aug 21, 2025

Copy link
Copy Markdown

Benchmarks

Startup

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmastermcculls/maybe-copy-scope-stack-when-restoring
git_commit_date17557803201755780191
git_commit_sha9aad755d8b3327
release_version1.53.0-SNAPSHOT~9aad75597f1.53.0-SNAPSHOT~d8b332790d
See matching parameters
BaselineCandidate
applicationinsecure-bankinsecure-bank
ci_job_date17557821181755782118
ci_job_id10918288901091828890
ci_pipeline_id7435975574359755
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_versionLinux runner-zfyrx7zua-project-304-concurrent-2-vfx8t5qg 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/LinuxLinux runner-zfyrx7zua-project-304-concurrent-2-vfx8t5qg 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
moduleAgentAgent
parentNoneNone

Summary

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

Startup time reports for insecure-bank
gantt
title insecure-bank - global startup overhead: candidate=1.53.0-SNAPSHOT~d8b332790d, baseline=1.53.0-SNAPSHOT~9aad75597f
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.05 s) : 0, 1050245
Total [baseline] (8.622 s) : 0, 8622382
Agent [candidate] (1.045 s) : 0, 1044979
Total [candidate] (8.614 s) : 0, 8613635
section iast
Agent [baseline] (1.19 s) : 0, 1190031
Total [baseline] (9.323 s) : 0, 9323258
Agent [candidate] (1.187 s) : 0, 1187054
Total [candidate] (9.37 s) : 0, 9370137
Loading
  • baseline results
ModuleVariantDurationΔ tracing
Agenttracing1.05 s-
Agentiast1.19 s139.786 ms (13.3%)
Totaltracing8.622 s-
Totaliast9.323 s700.876 ms (8.1%)
  • candidate results
ModuleVariantDurationΔ tracing
Agenttracing1.045 s-
Agentiast1.187 s142.075 ms (13.6%)
Totaltracing8.614 s-
Totaliast9.37 s756.502 ms (8.8%)
gantt
title insecure-bank - break down per module: candidate=1.53.0-SNAPSHOT~d8b332790d, baseline=1.53.0-SNAPSHOT~9aad75597f
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.473 ms) : 0, 1473
crashtracking [candidate] (1.444 ms) : 0, 1444
BytebuddyAgent [baseline] (734.403 ms) : 0, 734403
BytebuddyAgent [candidate] (730.705 ms) : 0, 730705
GlobalTracer [baseline] (243.617 ms) : 0, 243617
GlobalTracer [candidate] (242.113 ms) : 0, 242113
AppSec [baseline] (30.543 ms) : 0, 30543
AppSec [candidate] (30.117 ms) : 0, 30117
Debugger [baseline] (6.118 ms) : 0, 6118
Debugger [candidate] (6.053 ms) : 0, 6053
Remote Config [baseline] (680.573 µs) : 0, 681
Remote Config [candidate] (673.969 µs) : 0, 674
Telemetry [baseline] (12.349 ms) : 0, 12349
Telemetry [candidate] (12.835 ms) : 0, 12835
section iast
crashtracking [baseline] (1.47 ms) : 0, 1470
crashtracking [candidate] (1.464 ms) : 0, 1464
BytebuddyAgent [baseline] (859.133 ms) : 0, 859133
BytebuddyAgent [candidate] (857.503 ms) : 0, 857503
GlobalTracer [baseline] (234.687 ms) : 0, 234687
GlobalTracer [candidate] (234.747 ms) : 0, 234747
AppSec [baseline] (27.033 ms) : 0, 27033
AppSec [candidate] (25.34 ms) : 0, 25340
Debugger [baseline] (6.663 ms) : 0, 6663
Debugger [candidate] (6.672 ms) : 0, 6672
Remote Config [baseline] (626.699 µs) : 0, 627
Remote Config [candidate] (601.229 µs) : 0, 601
Telemetry [baseline] (8.342 ms) : 0, 8342
Telemetry [candidate] (8.357 ms) : 0, 8357
IAST [baseline] (30.966 ms) : 0, 30966
IAST [candidate] (31.232 ms) : 0, 31232
Loading
Startup time reports for petclinic
gantt
title petclinic - global startup overhead: candidate=1.53.0-SNAPSHOT~d8b332790d, baseline=1.53.0-SNAPSHOT~9aad75597f
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.055 s) : 0, 1055373
Total [baseline] (10.823 s) : 0, 10823312
Agent [candidate] (1.05 s) : 0, 1050308
Total [candidate] (10.89 s) : 0, 10889907
section appsec
Agent [baseline] (1.223 s) : 0, 1223041
Total [baseline] (10.773 s) : 0, 10773302
Agent [candidate] (1.226 s) : 0, 1225768
Total [candidate] (10.749 s) : 0, 10748832
section iast
Agent [baseline] (1.182 s) : 0, 1182067
Total [baseline] (10.937 s) : 0, 10937209
Agent [candidate] (1.189 s) : 0, 1189364
Total [candidate] (10.996 s) : 0, 10995812
section profiling
Agent [baseline] (1.197 s) : 0, 1197210
Total [baseline] (10.965 s) : 0, 10964591
Agent [candidate] (1.197 s) : 0, 1197084
Total [candidate] (10.934 s) : 0, 10934380
Loading
  • baseline results
ModuleVariantDurationΔ tracing
Agenttracing1.055 s-
Agentappsec1.223 s167.668 ms (15.9%)
Agentiast1.182 s126.694 ms (12.0%)
Agentprofiling1.197 s141.837 ms (13.4%)
Totaltracing10.823 s-
Totalappsec10.773 s-50.011 ms (-0.5%)
Totaliast10.937 s113.897 ms (1.1%)
Totalprofiling10.965 s141.279 ms (1.3%)
  • candidate results
ModuleVariantDurationΔ tracing
Agenttracing1.05 s-
Agentappsec1.226 s175.46 ms (16.7%)
Agentiast1.189 s139.056 ms (13.2%)
Agentprofiling1.197 s146.776 ms (14.0%)
Totaltracing10.89 s-
Totalappsec10.749 s-141.075 ms (-1.3%)
Totaliast10.996 s105.905 ms (1.0%)
Totalprofiling10.934 s44.473 ms (0.4%)
gantt
title petclinic - break down per module: candidate=1.53.0-SNAPSHOT~d8b332790d, baseline=1.53.0-SNAPSHOT~9aad75597f
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.475 ms) : 0, 1475
crashtracking [candidate] (1.457 ms) : 0, 1457
BytebuddyAgent [baseline] (738.218 ms) : 0, 738218
BytebuddyAgent [candidate] (733.532 ms) : 0, 733532
GlobalTracer [baseline] (244.771 ms) : 0, 244771
GlobalTracer [candidate] (243.472 ms) : 0, 243472
AppSec [baseline] (30.454 ms) : 0, 30454
AppSec [candidate] (30.334 ms) : 0, 30334
Debugger [baseline] (6.108 ms) : 0, 6108
Debugger [candidate] (6.034 ms) : 0, 6034
Remote Config [baseline] (676.913 µs) : 0, 677
Remote Config [candidate] (668.342 µs) : 0, 668
Telemetry [baseline] (12.367 ms) : 0, 12367
Telemetry [candidate] (13.651 ms) : 0, 13651
section appsec
crashtracking [baseline] (1.456 ms) : 0, 1456
crashtracking [candidate] (1.456 ms) : 0, 1456
BytebuddyAgent [baseline] (755.081 ms) : 0, 755081
BytebuddyAgent [candidate] (756.932 ms) : 0, 756932
GlobalTracer [baseline] (235.558 ms) : 0, 235558
GlobalTracer [candidate] (235.978 ms) : 0, 235978
AppSec [baseline] (169.84 ms) : 0, 169840
AppSec [candidate] (171.006 ms) : 0, 171006
Debugger [baseline] (5.734 ms) : 0, 5734
Debugger [candidate] (6.479 ms) : 0, 6479
Remote Config [baseline] (650.898 µs) : 0, 651
Remote Config [candidate] (646.359 µs) : 0, 646
Telemetry [baseline] (9.989 ms) : 0, 9989
Telemetry [candidate] (8.529 ms) : 0, 8529
IAST [baseline] (23.588 ms) : 0, 23588
IAST [candidate] (23.48 ms) : 0, 23480
section iast
crashtracking [baseline] (1.453 ms) : 0, 1453
crashtracking [candidate] (1.464 ms) : 0, 1464
BytebuddyAgent [baseline] (852.353 ms) : 0, 852353
BytebuddyAgent [candidate] (858.808 ms) : 0, 858808
GlobalTracer [baseline] (233.839 ms) : 0, 233839
GlobalTracer [candidate] (234.782 ms) : 0, 234782
AppSec [baseline] (27.024 ms) : 0, 27024
AppSec [candidate] (26.006 ms) : 0, 26006
Debugger [baseline] (6.663 ms) : 0, 6663
Debugger [candidate] (6.729 ms) : 0, 6729
Remote Config [baseline] (991.607 µs) : 0, 992
Remote Config [candidate] (612.8 µs) : 0, 613
Telemetry [baseline] (8.372 ms) : 0, 8372
Telemetry [candidate] (8.379 ms) : 0, 8379
IAST [baseline] (30.225 ms) : 0, 30225
IAST [candidate] (31.358 ms) : 0, 31358
section profiling
crashtracking [baseline] (1.419 ms) : 0, 1419
crashtracking [candidate] (1.41 ms) : 0, 1410
BytebuddyAgent [baseline] (762.87 ms) : 0, 762870
BytebuddyAgent [candidate] (762.11 ms) : 0, 762110
GlobalTracer [baseline] (221.76 ms) : 0, 221760
GlobalTracer [candidate] (222.872 ms) : 0, 222872
AppSec [baseline] (29.998 ms) : 0, 29998
AppSec [candidate] (29.942 ms) : 0, 29942
Debugger [baseline] (7.059 ms) : 0, 7059
Debugger [candidate] (7.834 ms) : 0, 7834
Remote Config [baseline] (731.592 µs) : 0, 732
Remote Config [candidate] (692.751 µs) : 0, 693
Telemetry [baseline] (14.843 ms) : 0, 14843
Telemetry [candidate] (14.942 ms) : 0, 14942
ProfilingAgent [baseline] (108.776 ms) : 0, 108776
ProfilingAgent [candidate] (107.594 ms) : 0, 107594
Profiling [baseline] (109.418 ms) : 0, 109418
Profiling [candidate] (108.291 ms) : 0, 108291
Loading

Load

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmastermcculls/maybe-copy-scope-stack-when-restoring
git_commit_date17557803201755780191
git_commit_sha9aad755d8b3327
release_version1.53.0-SNAPSHOT~9aad75597f1.53.0-SNAPSHOT~d8b332790d
See matching parameters
BaselineCandidate
applicationinsecure-bankinsecure-bank
ci_job_date17557817161755781716
ci_job_id10918288911091828891
ci_pipeline_id7435975574359755
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_versionLinux runner-zfyrx7zua-project-304-concurrent-3-d2qwihdb 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/LinuxLinux runner-zfyrx7zua-project-304-concurrent-3-d2qwihdb 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 1 performance improvements and 2 performance regressions! Performance is the same for 9 metrics, 12 unstable metrics.

scenarioΔ mean http_req_durationΔ mean throughputcandidate mean http_req_durationcandidate mean throughputbaseline mean http_req_durationbaseline mean throughput
scenario:load:insecure-bank:iast:high_loadworse
[+225.456µs; +566.009µs] or [+2.402%; +6.030%]
unstable
[-82.489op/s; +42.926op/s] or [-16.683%; +8.682%]
9.783ms474.656op/s9.387ms494.438op/s
scenario:load:insecure-bank:tracing:high_loadworse
[+152.358µs; +386.010µs] or [+2.028%; +5.138%]
unstable
[-100.215op/s; +57.840op/s] or [-16.263%; +9.386%]
7.782ms595.031op/s7.513ms616.219op/s
scenario:load:insecure-bank:no_agent:high_loadbetter
[-203.346µs; -93.118µs] or [-4.581%; -2.098%]
unstable
[-92.926op/s; +161.926op/s] or [-8.983%; +15.654%]
4.290ms1068.938op/s4.439ms1034.438op/s
Request duration reports for insecure-bank
gantt
title insecure-bank - request duration [CI 0.99] : candidate=1.53.0-SNAPSHOT~d8b332790d, baseline=1.53.0-SNAPSHOT~9aad75597f
dateFormat X
axisFormat %s
section baseline
no_agent (4.439 ms) : 4384, 4493
. : milestone, 4439,
iast (9.387 ms) : 9230, 9544
. : milestone, 9387,
iast_FULL (13.824 ms) : 13553, 14094
. : milestone, 13824,
iast_GLOBAL (10.606 ms) : 10418, 10794
. : milestone, 10606,
profiling (8.95 ms) : 8811, 9089
. : milestone, 8950,
tracing (7.513 ms) : 7408, 7617
. : milestone, 7513,
section candidate
no_agent (4.29 ms) : 4243, 4338
. : milestone, 4290,
iast (9.783 ms) : 9623, 9942
. : milestone, 9783,
iast_FULL (14.263 ms) : 13976, 14550
. : milestone, 14263,
iast_GLOBAL (10.626 ms) : 10438, 10813
. : milestone, 10626,
profiling (9.2 ms) : 9038, 9363
. : milestone, 9200,
tracing (7.782 ms) : 7669, 7894
. : milestone, 7782,
Loading
  • baseline results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent4.439 ms [4.384 ms, 4.493 ms]-
iast9.387 ms [9.23 ms, 9.544 ms]4.948 ms (111.5%)
iast_FULL13.824 ms [13.553 ms, 14.094 ms]9.385 ms (211.4%)
iast_GLOBAL10.606 ms [10.418 ms, 10.794 ms]6.168 ms (139.0%)
profiling8.95 ms [8.811 ms, 9.089 ms]4.511 ms (101.6%)
tracing7.513 ms [7.408 ms, 7.617 ms]3.074 ms (69.3%)
  • candidate results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent4.29 ms [4.243 ms, 4.338 ms]-
iast9.783 ms [9.623 ms, 9.942 ms]5.492 ms (128.0%)
iast_FULL14.263 ms [13.976 ms, 14.55 ms]9.972 ms (232.4%)
iast_GLOBAL10.626 ms [10.438 ms, 10.813 ms]6.335 ms (147.7%)
profiling9.2 ms [9.038 ms, 9.363 ms]4.91 ms (114.4%)
tracing7.782 ms [7.669 ms, 7.894 ms]3.491 ms (81.4%)
Request duration reports for petclinic
gantt
title petclinic - request duration [CI 0.99] : candidate=1.53.0-SNAPSHOT~d8b332790d, baseline=1.53.0-SNAPSHOT~9aad75597f
dateFormat X
axisFormat %s
section baseline
no_agent (37.242 ms) : 36953, 37532
. : milestone, 37242,
appsec (48.009 ms) : 47583, 48435
. : milestone, 48009,
code_origins (46.64 ms) : 46225, 47055
. : milestone, 46640,
iast (45.018 ms) : 44632, 45404
. : milestone, 45018,
profiling (47.377 ms) : 46952, 47803
. : milestone, 47377,
tracing (44.492 ms) : 44102, 44882
. : milestone, 44492,
section candidate
no_agent (36.237 ms) : 35944, 36531
. : milestone, 36237,
appsec (46.983 ms) : 46573, 47392
. : milestone, 46983,
code_origins (46.351 ms) : 45939, 46763
. : milestone, 46351,
iast (45.13 ms) : 44736, 45525
. : milestone, 45130,
profiling (48.377 ms) : 47911, 48843
. : milestone, 48377,
tracing (44.507 ms) : 44118, 44896
. : milestone, 44507,
Loading
  • baseline results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent37.242 ms [36.953 ms, 37.532 ms]-
appsec48.009 ms [47.583 ms, 48.435 ms]10.767 ms (28.9%)
code_origins46.64 ms [46.225 ms, 47.055 ms]9.398 ms (25.2%)
iast45.018 ms [44.632 ms, 45.404 ms]7.775 ms (20.9%)
profiling47.377 ms [46.952 ms, 47.803 ms]10.135 ms (27.2%)
tracing44.492 ms [44.102 ms, 44.882 ms]7.25 ms (19.5%)
  • candidate results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent36.237 ms [35.944 ms, 36.531 ms]-
appsec46.983 ms [46.573 ms, 47.392 ms]10.746 ms (29.7%)
code_origins46.351 ms [45.939 ms, 46.763 ms]10.114 ms (27.9%)
iast45.13 ms [44.736 ms, 45.525 ms]8.893 ms (24.5%)
profiling48.377 ms [47.911 ms, 48.843 ms]12.14 ms (33.5%)
tracing44.507 ms [44.118 ms, 44.896 ms]8.27 ms (22.8%)

Dacapo

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmastermcculls/maybe-copy-scope-stack-when-restoring
git_commit_date17557803201755780191
git_commit_sha9aad755d8b3327
release_version1.53.0-SNAPSHOT~9aad75597f1.53.0-SNAPSHOT~d8b332790d
See matching parameters
BaselineCandidate
applicationbiojavabiojava
ci_job_date17557822711755782271
ci_job_id10918288921091828892
ci_pipeline_id7435975574359755
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_versionLinux runner-zfyrx7zua-project-304-concurrent-0-74h7v0qu 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/LinuxLinux runner-zfyrx7zua-project-304-concurrent-0-74h7v0qu 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 biojava
gantt
title biojava - execution time [CI 0.99] : candidate=1.53.0-SNAPSHOT~d8b332790d, baseline=1.53.0-SNAPSHOT~9aad75597f
dateFormat X
axisFormat %s
section baseline
no_agent (14.801 s) : 14801000, 14801000
. : milestone, 14801000,
appsec (15.108 s) : 15108000, 15108000
. : milestone, 15108000,
iast (18.096 s) : 18096000, 18096000
. : milestone, 18096000,
iast_GLOBAL (18.023 s) : 18023000, 18023000
. : milestone, 18023000,
profiling (15.114 s) : 15114000, 15114000
. : milestone, 15114000,
tracing (15.084 s) : 15084000, 15084000
. : milestone, 15084000,
section candidate
no_agent (14.763 s) : 14763000, 14763000
. : milestone, 14763000,
appsec (14.951 s) : 14951000, 14951000
. : milestone, 14951000,
iast (18.344 s) : 18344000, 18344000
. : milestone, 18344000,
iast_GLOBAL (18.155 s) : 18155000, 18155000
. : milestone, 18155000,
profiling (15.557 s) : 15557000, 15557000
. : milestone, 15557000,
tracing (15.126 s) : 15126000, 15126000
. : milestone, 15126000,
Loading
  • baseline results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent14.801 s [14.801 s, 14.801 s]-
appsec15.108 s [15.108 s, 15.108 s]307.0 ms (2.1%)
iast18.096 s [18.096 s, 18.096 s]3.295 s (22.3%)
iast_GLOBAL18.023 s [18.023 s, 18.023 s]3.222 s (21.8%)
profiling15.114 s [15.114 s, 15.114 s]313.0 ms (2.1%)
tracing15.084 s [15.084 s, 15.084 s]283.0 ms (1.9%)
  • candidate results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent14.763 s [14.763 s, 14.763 s]-
appsec14.951 s [14.951 s, 14.951 s]188.0 ms (1.3%)
iast18.344 s [18.344 s, 18.344 s]3.581 s (24.3%)
iast_GLOBAL18.155 s [18.155 s, 18.155 s]3.392 s (23.0%)
profiling15.557 s [15.557 s, 15.557 s]794.0 ms (5.4%)
tracing15.126 s [15.126 s, 15.126 s]363.0 ms (2.5%)
Execution time for tomcat
gantt
title tomcat - execution time [CI 0.99] : candidate=1.53.0-SNAPSHOT~d8b332790d, baseline=1.53.0-SNAPSHOT~9aad75597f
dateFormat X
axisFormat %s
section baseline
no_agent (1.482 ms) : 1470, 1494
. : milestone, 1482,
appsec (3.69 ms) : 3470, 3911
. : milestone, 3690,
iast (2.206 ms) : 2142, 2269
. : milestone, 2206,
iast_GLOBAL (2.254 ms) : 2190, 2318
. : milestone, 2254,
profiling (2.072 ms) : 2019, 2124
. : milestone, 2072,
tracing (2.038 ms) : 1988, 2088
. : milestone, 2038,
section candidate
no_agent (1.484 ms) : 1472, 1495
. : milestone, 1484,
appsec (3.669 ms) : 3450, 3888
. : milestone, 3669,
iast (2.208 ms) : 2145, 2272
. : milestone, 2208,
iast_GLOBAL (2.252 ms) : 2189, 2315
. : milestone, 2252,
profiling (2.079 ms) : 2027, 2131
. : milestone, 2079,
tracing (2.026 ms) : 1977, 2074
. : milestone, 2026,
Loading
  • baseline results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent1.482 ms [1.47 ms, 1.494 ms]-
appsec3.69 ms [3.47 ms, 3.911 ms]2.208 ms (149.0%)
iast2.206 ms [2.142 ms, 2.269 ms]723.604 µs (48.8%)
iast_GLOBAL2.254 ms [2.19 ms, 2.318 ms]771.777 µs (52.1%)
profiling2.072 ms [2.019 ms, 2.124 ms]589.764 µs (39.8%)
tracing2.038 ms [1.988 ms, 2.088 ms]556.342 µs (37.5%)
  • candidate results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent1.484 ms [1.472 ms, 1.495 ms]-
appsec3.669 ms [3.45 ms, 3.888 ms]2.185 ms (147.3%)
iast2.208 ms [2.145 ms, 2.272 ms]724.653 µs (48.8%)
iast_GLOBAL2.252 ms [2.189 ms, 2.315 ms]768.291 µs (51.8%)
profiling2.079 ms [2.027 ms, 2.131 ms]595.068 µs (40.1%)
tracing2.026 ms [1.977 ms, 2.074 ms]541.84 µs (36.5%)

…current thread is not the original.
This mitigates a potential issue if the swapped out scope-stack is ever restored more than once on different threads.
@mcculls
mccullsforce-pushed the mcculls/maybe-copy-scope-stack-when-restoring branch from 384508c to d8b3327CompareAugust 21, 2025 12:43
@mcculls
mcculls merged commit 2fa9986 into masterAug 21, 2025
499 checks passed
@mcculls
mcculls deleted the mcculls/maybe-copy-scope-stack-when-restoring branch August 21, 2025 13:41
@github-actionsgithub-actionsBot added this to the 1.53.0 milestone Aug 21, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Sep 4, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.52.1` -> `1.53.0` |
---
### Release Notes
<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>
###
[`v1.53.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.53.0):
1.53.0
### Components
#### Application Security Management (WAF)
- 🐛 Fix NullPointerException log in AppSec
([#&#8203;9355](DataDog/dd-trace-java#9355) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Add Forwarded header as a source to client IP resolution
([#&#8203;9310](DataDog/dd-trace-java#9310) -
[@&#8203;jandro996](https://github.com/jandro996))
#### Build & Tooling
- 📖 Update CODEOWNERS
([#&#8203;9294](DataDog/dd-trace-java#9294) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Add dependency on Maven Central deployment to OCI publish
jobs
([#&#8203;9204](DataDog/dd-trace-java#9204) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
#### Continuous Integration Visibility
- ✨ Upload code coverage reports to Datadog
([#&#8203;9425](DataDog/dd-trace-java#9425) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨⚡ Do not follow symlinks by default when building
repository index
([#&#8203;9318](DataDog/dd-trace-java#9318) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Improve tag propagation between test event levels
([#&#8203;9278](DataDog/dd-trace-java#9278) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
#### Data Streams Monitoring
- ✨ Create container hash tags propagation
([#&#8203;9282](DataDog/dd-trace-java#9282) -
[@&#8203;ygree](https://github.com/ygree))
#### Database Monitoring
- 🐛 Prevent crash in SQL Server's JDBC when tracing execute methods
with generated keys
([#&#8203;9321](DataDog/dd-trace-java#9321) -
[@&#8203;na-ji](https://github.com/na-ji))
- ✨ Create container hash tags propagation
([#&#8203;9282](DataDog/dd-trace-java#9282) -
[@&#8203;ygree](https://github.com/ygree))
#### GraalVM native-image
- 🐛 Update GraalVM config to reflect TempLocationManager's new
package
([#&#8203;9337](DataDog/dd-trace-java#9337) -
[@&#8203;luneo7](https://github.com/luneo7) - thanks for the
contribution!)
#### Metrics
- 🐛 Add reflect config for CSS and graalvm
([#&#8203;9449](DataDog/dd-trace-java#9449) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Align CSS health metrics
([#&#8203;9444](DataDog/dd-trace-java#9444) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Aggregate peer tags for consumer span kind
([#&#8203;9442](DataDog/dd-trace-java#9442) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Implement health metrics for client stats
([#&#8203;9377](DataDog/dd-trace-java#9377) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add peer tags, span kind and trace root flag to MetricKey
bucket
([#&#8203;9178](DataDog/dd-trace-java#9178) -
[@&#8203;bric3](https://github.com/bric3))
#### Profiling
- ✨ Create a profile flare reporter (requires tracing or CI vis
to be enabled)
([#&#8203;9433](DataDog/dd-trace-java#9433) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 🐛 Properly fall-back on UDS profiling URL
([#&#8203;9401](DataDog/dd-trace-java#9401) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- 🐛 Properly handle trace agent IPv6 URL in profiling
([#&#8203;9334](DataDog/dd-trace-java#9334) -
[@&#8203;jbachorik](https://github.com/jbachorik))
#### Realtime User Monitoring
- 🐛 Avoid multiple injections on dispatch on jboss
([#&#8203;9392](DataDog/dd-trace-java#9392) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Support async servlet for RUM injection
([#&#8203;9333](DataDog/dd-trace-java#9333) -
[@&#8203;amarziali](https://github.com/amarziali))
- 🐛 Improve RUM injection matching and avoid truncating responses
([#&#8203;9323](DataDog/dd-trace-java#9323) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Add telemetry for the RUM injector
([#&#8203;9267](DataDog/dd-trace-java#9267) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- ✨ Make rum injector stream/writer more resilient to errors
([#&#8203;9184](DataDog/dd-trace-java#9184) -
[@&#8203;amarziali](https://github.com/amarziali))
#### Telemetry
- 🐛 Remediate error logs
([#&#8203;9459](DataDog/dd-trace-java#9459) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Report config\_id for Hands Off Config files
([#&#8203;9299](DataDog/dd-trace-java#9299) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨ Adding Config Inversion Telemetry component
([#&#8203;9244](DataDog/dd-trace-java#9244) -
[@&#8203;mhlidd](https://github.com/mhlidd))
#### Trace context propagation
- 🧹 Migrate instrumentations to Context API
([#&#8203;9384](DataDog/dd-trace-java#9384),
[#&#8203;9378](DataDog/dd-trace-java#9378),
[#&#8203;9358](DataDog/dd-trace-java#9358) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨🔍 Add baggage propagation telemetry
([#&#8203;9289](DataDog/dd-trace-java#9289) -
[@&#8203;rachelyangdog](https://github.com/rachelyangdog))
- 🧹 Improve Instrumenter API to use Context instead of Span
([#&#8203;9211](DataDog/dd-trace-java#9211) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
#### Tracer core
- 💡:test\_tube: Enable process level tags for java 21 applications
([#&#8203;9458](DataDog/dd-trace-java#9458) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Move base and peer service adder before span is published
([#&#8203;9408](DataDog/dd-trace-java#9408) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add ErrorPriorities level for manual instrumentation
([#&#8203;9387](DataDog/dd-trace-java#9387) -
[@&#8203;cecile75](https://github.com/cecile75))
- ✨ Throw InvalidBooleanValueException in
ConfigConverter.booleanValueOf
([#&#8203;9370](DataDog/dd-trace-java#9370) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- 🐛 Avoid NPE on featureDiscovery creation
([#&#8203;9353](DataDog/dd-trace-java#9353) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Stable Config improvements
([#&#8203;9259](DataDog/dd-trace-java#9259) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
### Instrumentations
#### gRPC instrumentation
- 🐛 Changing GRPC instrumentation codes from `status.code` to
`grpc.status.code`
([#&#8203;9367](DataDog/dd-trace-java#9367) -
[@&#8203;mhlidd](https://github.com/mhlidd))
#### JDBC instrumentation
- 🐛 Prevent crash in SQL Server's JDBC when tracing execute methods
with generated keys
([#&#8203;9321](DataDog/dd-trace-java#9321) -
[@&#8203;na-ji](https://github.com/na-ji))
#### Kotlin instrumentation
- 🐛 Take defensive copy of original scope stack when restoring on
different thread
([#&#8203;9403](DataDog/dd-trace-java#9403) -
[@&#8203;mcculls](https://github.com/mcculls))
#### OpenTelemetry instrumentation
- 🐛 Fix using SpanAttribute annotation on multiple parameters
([#&#8203;9412](DataDog/dd-trace-java#9412) -
[@&#8203;cecile75](https://github.com/cecile75))
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am
every weekday" in timezone Australia/Melbourne, Automerge - At any time
(no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).
GitOrigin-RevId: e23ec866cef91afc6b5226d5f0dc7da538d947e8
eizus pushed a commit to cdrxyz/misk that referenced this pull request Jul 18, 2026
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.52.1` -> `1.53.0` |
---
### Release Notes
<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>
###
[`v1.53.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.53.0):
1.53.0
### Components
#### Application Security Management (WAF)
- 🐛 Fix NullPointerException log in AppSec
([#&#8203;9355](DataDog/dd-trace-java#9355) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Add Forwarded header as a source to client IP resolution
([#&#8203;9310](DataDog/dd-trace-java#9310) -
[@&#8203;jandro996](https://github.com/jandro996))
#### Build & Tooling
- 📖 Update CODEOWNERS
([#&#8203;9294](DataDog/dd-trace-java#9294) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Add dependency on Maven Central deployment to OCI publish
jobs
([#&#8203;9204](DataDog/dd-trace-java#9204) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
#### Continuous Integration Visibility
- ✨ Upload code coverage reports to Datadog
([#&#8203;9425](DataDog/dd-trace-java#9425) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨⚡ Do not follow symlinks by default when building
repository index
([#&#8203;9318](DataDog/dd-trace-java#9318) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Improve tag propagation between test event levels
([#&#8203;9278](DataDog/dd-trace-java#9278) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
#### Data Streams Monitoring
- ✨ Create container hash tags propagation
([#&#8203;9282](DataDog/dd-trace-java#9282) -
[@&#8203;ygree](https://github.com/ygree))
#### Database Monitoring
- 🐛 Prevent crash in SQL Server's JDBC when tracing execute methods
with generated keys
([#&#8203;9321](DataDog/dd-trace-java#9321) -
[@&#8203;na-ji](https://github.com/na-ji))
- ✨ Create container hash tags propagation
([#&#8203;9282](DataDog/dd-trace-java#9282) -
[@&#8203;ygree](https://github.com/ygree))
#### GraalVM native-image
- 🐛 Update GraalVM config to reflect TempLocationManager's new
package
([#&#8203;9337](DataDog/dd-trace-java#9337) -
[@&#8203;luneo7](https://github.com/luneo7) - thanks for the
contribution!)
#### Metrics
- 🐛 Add reflect config for CSS and graalvm
([#&#8203;9449](DataDog/dd-trace-java#9449) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Align CSS health metrics
([#&#8203;9444](DataDog/dd-trace-java#9444) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Aggregate peer tags for consumer span kind
([#&#8203;9442](DataDog/dd-trace-java#9442) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Implement health metrics for client stats
([#&#8203;9377](DataDog/dd-trace-java#9377) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add peer tags, span kind and trace root flag to MetricKey
bucket
([#&#8203;9178](DataDog/dd-trace-java#9178) -
[@&#8203;bric3](https://github.com/bric3))
#### Profiling
- ✨ Create a profile flare reporter (requires tracing or CI vis
to be enabled)
([#&#8203;9433](DataDog/dd-trace-java#9433) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 🐛 Properly fall-back on UDS profiling URL
([#&#8203;9401](DataDog/dd-trace-java#9401) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- 🐛 Properly handle trace agent IPv6 URL in profiling
([#&#8203;9334](DataDog/dd-trace-java#9334) -
[@&#8203;jbachorik](https://github.com/jbachorik))
#### Realtime User Monitoring
- 🐛 Avoid multiple injections on dispatch on jboss
([#&#8203;9392](DataDog/dd-trace-java#9392) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Support async servlet for RUM injection
([#&#8203;9333](DataDog/dd-trace-java#9333) -
[@&#8203;amarziali](https://github.com/amarziali))
- 🐛 Improve RUM injection matching and avoid truncating responses
([#&#8203;9323](DataDog/dd-trace-java#9323) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Add telemetry for the RUM injector
([#&#8203;9267](DataDog/dd-trace-java#9267) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- ✨ Make rum injector stream/writer more resilient to errors
([#&#8203;9184](DataDog/dd-trace-java#9184) -
[@&#8203;amarziali](https://github.com/amarziali))
#### Telemetry
- 🐛 Remediate error logs
([#&#8203;9459](DataDog/dd-trace-java#9459) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Report config\_id for Hands Off Config files
([#&#8203;9299](DataDog/dd-trace-java#9299) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨ Adding Config Inversion Telemetry component
([#&#8203;9244](DataDog/dd-trace-java#9244) -
[@&#8203;mhlidd](https://github.com/mhlidd))
#### Trace context propagation
- 🧹 Migrate instrumentations to Context API
([#&#8203;9384](DataDog/dd-trace-java#9384),
[#&#8203;9378](DataDog/dd-trace-java#9378),
[#&#8203;9358](DataDog/dd-trace-java#9358) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨🔍 Add baggage propagation telemetry
([#&#8203;9289](DataDog/dd-trace-java#9289) -
[@&#8203;rachelyangdog](https://github.com/rachelyangdog))
- 🧹 Improve Instrumenter API to use Context instead of Span
([#&#8203;9211](DataDog/dd-trace-java#9211) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
#### Tracer core
- 💡:test\_tube: Enable process level tags for java 21 applications
([#&#8203;9458](DataDog/dd-trace-java#9458) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Move base and peer service adder before span is published
([#&#8203;9408](DataDog/dd-trace-java#9408) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add ErrorPriorities level for manual instrumentation
([#&#8203;9387](DataDog/dd-trace-java#9387) -
[@&#8203;cecile75](https://github.com/cecile75))
- ✨ Throw InvalidBooleanValueException in
ConfigConverter.booleanValueOf
([#&#8203;9370](DataDog/dd-trace-java#9370) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- 🐛 Avoid NPE on featureDiscovery creation
([#&#8203;9353](DataDog/dd-trace-java#9353) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Stable Config improvements
([#&#8203;9259](DataDog/dd-trace-java#9259) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
### Instrumentations
#### gRPC instrumentation
- 🐛 Changing GRPC instrumentation codes from `status.code` to
`grpc.status.code`
([#&#8203;9367](DataDog/dd-trace-java#9367) -
[@&#8203;mhlidd](https://github.com/mhlidd))
#### JDBC instrumentation
- 🐛 Prevent crash in SQL Server's JDBC when tracing execute methods
with generated keys
([#&#8203;9321](DataDog/dd-trace-java#9321) -
[@&#8203;na-ji](https://github.com/na-ji))
#### Kotlin instrumentation
- 🐛 Take defensive copy of original scope stack when restoring on
different thread
([#&#8203;9403](DataDog/dd-trace-java#9403) -
[@&#8203;mcculls](https://github.com/mcculls))
#### OpenTelemetry instrumentation
- 🐛 Fix using SpanAttribute annotation on multiple parameters
([#&#8203;9412](DataDog/dd-trace-java#9412) -
[@&#8203;cecile75](https://github.com/cecile75))
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am
every weekday" in timezone Australia/Melbourne, Automerge - At any time
(no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).
GitOrigin-RevId: e23ec866cef91afc6b5226d5f0dc7da538d947e8
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

inst: kotlinKotlin instrumentationtype: bug fixBug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@mcculls@amarziali