Skip to content

Cleanup Zio fiber instrumentation to avoid repeated activation of continuation #8798

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 12, 2025

Conversation

mcculls
Copy link
Contributor

@mcculls mcculls commented May 11, 2025

What Does This Do

Along that same lines as #8774 - if we capture the scope state when the fiber is created then there is no need to (re)activate the continuation when switching contexts because we have already captured it in the scope state. We only need to cancel it when the fiber ends.

Motivation

This simpler instrumentation will be easier to move over to the new Context API

Contributor Checklist

Jira ticket: APMAPI-1396

@mcculls mcculls added inst: others All other instrumentations type: refactoring labels May 11, 2025
@mcculls mcculls force-pushed the mcculls/cleanup-zio-instrumentation branch from 1b4e46a to 8bc35ce Compare May 11, 2025 20:50
@pr-commenter
Copy link

pr-commenter bot commented May 11, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/cleanup-zio-instrumentation
git_commit_date 1746825821 1746996586
git_commit_sha f494c33 8bc35ce
release_version 1.50.0-SNAPSHOT~f494c33b01 1.50.0-SNAPSHOT~8bc35cefaa
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1746998884 1746998884
ci_job_id 932729819 932729819
ci_pipeline_id 64734407 64734407
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-ebcu-tmw-project-304-concurrent-1-s16x4ro6 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-ebcu-tmw-project-304-concurrent-1-s16x4ro6 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

Summary

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

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.50.0-SNAPSHOT~8bc35cefaa, baseline=1.50.0-SNAPSHOT~f494c33b01

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.019 s) : 0, 1019431
Total [baseline] (8.677 s) : 0, 8677092
Agent [candidate] (1.025 s) : 0, 1024961
Total [candidate] (8.664 s) : 0, 8663694
section iast
Agent [baseline] (1.153 s) : 0, 1152856
Total [baseline] (9.287 s) : 0, 9287000
Agent [candidate] (1.154 s) : 0, 1154345
Total [candidate] (9.259 s) : 0, 9259199
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.152 s) : 0, 1152200
Total [baseline] (9.216 s) : 0, 9215601
Agent [candidate] (1.151 s) : 0, 1150886
Total [candidate] (9.207 s) : 0, 9207412
section iast_TELEMETRY_OFF
Agent [baseline] (1.146 s) : 0, 1146455
Total [baseline] (9.259 s) : 0, 9258992
Agent [candidate] (1.152 s) : 0, 1151947
Total [candidate] (9.269 s) : 0, 9269125
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.019 s -
Agent iast 1.153 s 133.425 ms (13.1%)
Agent iast_HARDCODED_SECRET_DISABLED 1.152 s 132.769 ms (13.0%)
Agent iast_TELEMETRY_OFF 1.146 s 127.024 ms (12.5%)
Total tracing 8.677 s -
Total iast 9.287 s 609.908 ms (7.0%)
Total iast_HARDCODED_SECRET_DISABLED 9.216 s 538.51 ms (6.2%)
Total iast_TELEMETRY_OFF 9.259 s 581.901 ms (6.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.025 s -
Agent iast 1.154 s 129.384 ms (12.6%)
Agent iast_HARDCODED_SECRET_DISABLED 1.151 s 125.925 ms (12.3%)
Agent iast_TELEMETRY_OFF 1.152 s 126.986 ms (12.4%)
Total tracing 8.664 s -
Total iast 9.259 s 595.506 ms (6.9%)
Total iast_HARDCODED_SECRET_DISABLED 9.207 s 543.718 ms (6.3%)
Total iast_TELEMETRY_OFF 9.269 s 605.432 ms (7.0%)
gantt
    title insecure-bank - break down per module: candidate=1.50.0-SNAPSHOT~8bc35cefaa, baseline=1.50.0-SNAPSHOT~f494c33b01

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (682.728 ms) : 0, 682728
BytebuddyAgent [candidate] (684.355 ms) : 0, 684355
GlobalTracer [baseline] (240.688 ms) : 0, 240688
GlobalTracer [candidate] (241.333 ms) : 0, 241333
AppSec [baseline] (54.354 ms) : 0, 54354
AppSec [candidate] (56.084 ms) : 0, 56084
Debugger [baseline] (7.651 ms) : 0, 7651
Debugger [candidate] (9.26 ms) : 0, 9260
Remote Config [baseline] (690.556 µs) : 0, 691
Remote Config [candidate] (678.917 µs) : 0, 679
Telemetry [baseline] (9.758 ms) : 0, 9758
Telemetry [candidate] (9.751 ms) : 0, 9751
section iast
BytebuddyAgent [baseline] (804.165 ms) : 0, 804165
BytebuddyAgent [candidate] (805.068 ms) : 0, 805068
GlobalTracer [baseline] (231.619 ms) : 0, 231619
GlobalTracer [candidate] (231.758 ms) : 0, 231758
IAST [baseline] (27.565 ms) : 0, 27565
IAST [candidate] (27.691 ms) : 0, 27691
AppSec [baseline] (50.584 ms) : 0, 50584
AppSec [candidate] (51.697 ms) : 0, 51697
Debugger [baseline] (5.978 ms) : 0, 5978
Debugger [candidate] (6.0 ms) : 0, 6000
Remote Config [baseline] (616.442 µs) : 0, 616
Remote Config [candidate] (592.77 µs) : 0, 593
Telemetry [baseline] (7.963 ms) : 0, 7963
Telemetry [candidate] (7.997 ms) : 0, 7997
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (804.219 ms) : 0, 804219
BytebuddyAgent [candidate] (803.172 ms) : 0, 803172
GlobalTracer [baseline] (231.66 ms) : 0, 231660
GlobalTracer [candidate] (230.961 ms) : 0, 230961
IAST [baseline] (29.066 ms) : 0, 29066
IAST [candidate] (26.814 ms) : 0, 26814
AppSec [baseline] (48.573 ms) : 0, 48573
AppSec [candidate] (51.185 ms) : 0, 51185
Debugger [baseline] (5.895 ms) : 0, 5895
Debugger [candidate] (5.911 ms) : 0, 5911
Remote Config [baseline] (581.36 µs) : 0, 581
Remote Config [candidate] (583.658 µs) : 0, 584
Telemetry [baseline] (7.866 ms) : 0, 7866
Telemetry [candidate] (7.947 ms) : 0, 7947
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (799.388 ms) : 0, 799388
BytebuddyAgent [candidate] (802.338 ms) : 0, 802338
GlobalTracer [baseline] (231.047 ms) : 0, 231047
GlobalTracer [candidate] (232.577 ms) : 0, 232577
IAST [baseline] (23.832 ms) : 0, 23832
IAST [candidate] (23.404 ms) : 0, 23404
AppSec [baseline] (54.342 ms) : 0, 54342
AppSec [candidate] (55.589 ms) : 0, 55589
Debugger [baseline] (6.006 ms) : 0, 6006
Debugger [candidate] (6.045 ms) : 0, 6045
Remote Config [baseline] (602.068 µs) : 0, 602
Remote Config [candidate] (603.435 µs) : 0, 603
Telemetry [baseline] (7.795 ms) : 0, 7795
Telemetry [candidate] (7.918 ms) : 0, 7918
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.50.0-SNAPSHOT~8bc35cefaa, baseline=1.50.0-SNAPSHOT~f494c33b01

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.023 s) : 0, 1022967
Total [baseline] (10.502 s) : 0, 10501660
Agent [candidate] (1.024 s) : 0, 1023956
Total [candidate] (10.573 s) : 0, 10573342
section appsec
Agent [baseline] (1.168 s) : 0, 1168027
Total [baseline] (10.72 s) : 0, 10720044
Agent [candidate] (1.169 s) : 0, 1168742
Total [candidate] (10.752 s) : 0, 10751891
section iast
Agent [baseline] (1.154 s) : 0, 1154015
Total [baseline] (10.954 s) : 0, 10954372
Agent [candidate] (1.159 s) : 0, 1158701
Total [candidate] (10.997 s) : 0, 10997297
section profiling
Agent [baseline] (1.288 s) : 0, 1288401
Total [baseline] (10.937 s) : 0, 10936623
Agent [candidate] (1.282 s) : 0, 1281788
Total [candidate] (10.943 s) : 0, 10943409
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.023 s -
Agent appsec 1.168 s 145.06 ms (14.2%)
Agent iast 1.154 s 131.048 ms (12.8%)
Agent profiling 1.288 s 265.434 ms (25.9%)
Total tracing 10.502 s -
Total appsec 10.72 s 218.385 ms (2.1%)
Total iast 10.954 s 452.712 ms (4.3%)
Total profiling 10.937 s 434.963 ms (4.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.024 s -
Agent appsec 1.169 s 144.786 ms (14.1%)
Agent iast 1.159 s 134.745 ms (13.2%)
Agent profiling 1.282 s 257.832 ms (25.2%)
Total tracing 10.573 s -
Total appsec 10.752 s 178.549 ms (1.7%)
Total iast 10.997 s 423.954 ms (4.0%)
Total profiling 10.943 s 370.067 ms (3.5%)
gantt
    title petclinic - break down per module: candidate=1.50.0-SNAPSHOT~8bc35cefaa, baseline=1.50.0-SNAPSHOT~f494c33b01

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (684.466 ms) : 0, 684466
BytebuddyAgent [candidate] (684.971 ms) : 0, 684971
GlobalTracer [baseline] (241.691 ms) : 0, 241691
GlobalTracer [candidate] (241.293 ms) : 0, 241293
AppSec [baseline] (54.967 ms) : 0, 54967
AppSec [candidate] (56.017 ms) : 0, 56017
Debugger [baseline] (7.719 ms) : 0, 7719
Debugger [candidate] (8.395 ms) : 0, 8395
Remote Config [baseline] (690.199 µs) : 0, 690
Remote Config [candidate] (679.592 µs) : 0, 680
Telemetry [baseline] (9.79 ms) : 0, 9790
Telemetry [candidate] (8.962 ms) : 0, 8962
section appsec
BytebuddyAgent [baseline] (705.798 ms) : 0, 705798
BytebuddyAgent [candidate] (704.975 ms) : 0, 704975
GlobalTracer [baseline] (238.199 ms) : 0, 238199
GlobalTracer [candidate] (238.83 ms) : 0, 238830
IAST [baseline] (21.671 ms) : 0, 21671
IAST [candidate] (21.748 ms) : 0, 21748
AppSec [baseline] (175.53 ms) : 0, 175530
AppSec [candidate] (176.395 ms) : 0, 176395
Debugger [baseline] (5.919 ms) : 0, 5919
Debugger [candidate] (5.987 ms) : 0, 5987
Remote Config [baseline] (617.219 µs) : 0, 617
Remote Config [candidate] (630.1 µs) : 0, 630
Telemetry [baseline] (7.406 ms) : 0, 7406
Telemetry [candidate] (7.436 ms) : 0, 7436
section iast
BytebuddyAgent [baseline] (805.476 ms) : 0, 805476
BytebuddyAgent [candidate] (809.154 ms) : 0, 809154
GlobalTracer [baseline] (231.772 ms) : 0, 231772
GlobalTracer [candidate] (232.506 ms) : 0, 232506
IAST [baseline] (27.527 ms) : 0, 27527
IAST [candidate] (26.843 ms) : 0, 26843
AppSec [baseline] (51.144 ms) : 0, 51144
AppSec [candidate] (50.594 ms) : 0, 50594
Debugger [baseline] (5.976 ms) : 0, 5976
Debugger [candidate] (5.955 ms) : 0, 5955
Remote Config [baseline] (595.997 µs) : 0, 596
Remote Config [candidate] (596.747 µs) : 0, 597
Telemetry [baseline] (7.987 ms) : 0, 7987
Telemetry [candidate] (7.944 ms) : 0, 7944
section profiling
BytebuddyAgent [baseline] (676.08 ms) : 0, 676080
BytebuddyAgent [candidate] (673.99 ms) : 0, 673990
GlobalTracer [baseline] (380.778 ms) : 0, 380778
GlobalTracer [candidate] (378.797 ms) : 0, 378797
AppSec [baseline] (55.074 ms) : 0, 55074
AppSec [candidate] (53.362 ms) : 0, 53362
Debugger [baseline] (6.218 ms) : 0, 6218
Debugger [candidate] (6.124 ms) : 0, 6124
Remote Config [baseline] (652.375 µs) : 0, 652
Remote Config [candidate] (642.577 µs) : 0, 643
Telemetry [baseline] (8.175 ms) : 0, 8175
Telemetry [candidate] (8.097 ms) : 0, 8097
ProfilingAgent [baseline] (110.663 ms) : 0, 110663
ProfilingAgent [candidate] (110.314 ms) : 0, 110314
Profiling [baseline] (110.689 ms) : 0, 110689
Profiling [candidate] (110.339 ms) : 0, 110339
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-05-11T20:58:17 2025-05-11T21:06:02
git_branch master mcculls/cleanup-zio-instrumentation
git_commit_date 1746825821 1746996586
git_commit_sha f494c33 8bc35ce
release_version 1.50.0-SNAPSHOT~f494c33b01 1.50.0-SNAPSHOT~8bc35cefaa
start_time 2025-05-11T20:58:03 2025-05-11T21:05:48
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1746997962 1746997962
ci_job_id 932729820 932729820
ci_pipeline_id 64734407 64734407
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-ebcu-tmw-project-304-concurrent-2-04sa97jw 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-ebcu-tmw-project-304-concurrent-2-04sa97jw 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant iast iast

Summary

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

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~8bc35cefaa, baseline=1.50.0-SNAPSHOT~f494c33b01
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.355 ms) : 1335, 1374
.   : milestone, 1355,
appsec (1.74 ms) : 1716, 1763
.   : milestone, 1740,
appsec_no_iast (1.727 ms) : 1703, 1751
.   : milestone, 1727,
code_origins (1.676 ms) : 1648, 1703
.   : milestone, 1676,
iast (1.535 ms) : 1510, 1559
.   : milestone, 1535,
profiling (1.524 ms) : 1500, 1547
.   : milestone, 1524,
tracing (1.502 ms) : 1478, 1526
.   : milestone, 1502,
section candidate
no_agent (1.376 ms) : 1357, 1395
.   : milestone, 1376,
appsec (1.731 ms) : 1707, 1755
.   : milestone, 1731,
appsec_no_iast (1.721 ms) : 1697, 1744
.   : milestone, 1721,
code_origins (1.672 ms) : 1645, 1699
.   : milestone, 1672,
iast (1.506 ms) : 1481, 1530
.   : milestone, 1506,
profiling (1.544 ms) : 1519, 1570
.   : milestone, 1544,
tracing (1.494 ms) : 1469, 1519
.   : milestone, 1494,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.355 ms [1.335 ms, 1.374 ms] -
appsec 1.74 ms [1.716 ms, 1.763 ms] 384.825 µs (28.4%)
appsec_no_iast 1.727 ms [1.703 ms, 1.751 ms] 372.247 µs (27.5%)
code_origins 1.676 ms [1.648 ms, 1.703 ms] 321.008 µs (23.7%)
iast 1.535 ms [1.51 ms, 1.559 ms] 180.207 µs (13.3%)
profiling 1.524 ms [1.5 ms, 1.547 ms] 169.107 µs (12.5%)
tracing 1.502 ms [1.478 ms, 1.526 ms] 147.376 µs (10.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.376 ms [1.357 ms, 1.395 ms] -
appsec 1.731 ms [1.707 ms, 1.755 ms] 354.814 µs (25.8%)
appsec_no_iast 1.721 ms [1.697 ms, 1.744 ms] 344.528 µs (25.0%)
code_origins 1.672 ms [1.645 ms, 1.699 ms] 296.144 µs (21.5%)
iast 1.506 ms [1.481 ms, 1.53 ms] 129.805 µs (9.4%)
profiling 1.544 ms [1.519 ms, 1.57 ms] 168.346 µs (12.2%)
tracing 1.494 ms [1.469 ms, 1.519 ms] 118.095 µs (8.6%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~8bc35cefaa, baseline=1.50.0-SNAPSHOT~f494c33b01
    dateFormat X
    axisFormat %s
section baseline
no_agent (382.54 µs) : 363, 402
.   : milestone, 383,
iast (530.832 µs) : 507, 554
.   : milestone, 531,
iast_FULL (737.346 µs) : 714, 761
.   : milestone, 737,
iast_GLOBAL (564.494 µs) : 543, 586
.   : milestone, 564,
iast_HARDCODED_SECRET_DISABLED (527.886 µs) : 504, 552
.   : milestone, 528,
iast_INACTIVE (466.892 µs) : 444, 490
.   : milestone, 467,
iast_TELEMETRY_OFF (506.464 µs) : 483, 530
.   : milestone, 506,
tracing (465.131 µs) : 442, 488
.   : milestone, 465,
section candidate
no_agent (390.942 µs) : 371, 411
.   : milestone, 391,
iast (515.137 µs) : 492, 538
.   : milestone, 515,
iast_FULL (735.977 µs) : 714, 758
.   : milestone, 736,
iast_GLOBAL (577.176 µs) : 554, 601
.   : milestone, 577,
iast_HARDCODED_SECRET_DISABLED (528.478 µs) : 506, 551
.   : milestone, 528,
iast_INACTIVE (465.291 µs) : 443, 488
.   : milestone, 465,
iast_TELEMETRY_OFF (513.193 µs) : 490, 536
.   : milestone, 513,
tracing (465.257 µs) : 443, 488
.   : milestone, 465,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 382.54 µs [362.805 µs, 402.276 µs] -
iast 530.832 µs [507.409 µs, 554.255 µs] 148.292 µs (38.8%)
iast_FULL 737.346 µs [713.802 µs, 760.891 µs] 354.806 µs (92.8%)
iast_GLOBAL 564.494 µs [542.998 µs, 585.989 µs] 181.953 µs (47.6%)
iast_HARDCODED_SECRET_DISABLED 527.886 µs [504.225 µs, 551.548 µs] 145.346 µs (38.0%)
iast_INACTIVE 466.892 µs [444.14 µs, 489.643 µs] 84.351 µs (22.1%)
iast_TELEMETRY_OFF 506.464 µs [483.335 µs, 529.593 µs] 123.924 µs (32.4%)
tracing 465.131 µs [442.084 µs, 488.178 µs] 82.591 µs (21.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 390.942 µs [371.043 µs, 410.841 µs] -
iast 515.137 µs [492.196 µs, 538.077 µs] 124.195 µs (31.8%)
iast_FULL 735.977 µs [714.01 µs, 757.943 µs] 345.035 µs (88.3%)
iast_GLOBAL 577.176 µs [553.808 µs, 600.544 µs] 186.234 µs (47.6%)
iast_HARDCODED_SECRET_DISABLED 528.478 µs [506.207 µs, 550.749 µs] 137.536 µs (35.2%)
iast_INACTIVE 465.291 µs [443.052 µs, 487.529 µs] 74.349 µs (19.0%)
iast_TELEMETRY_OFF 513.193 µs [490.018 µs, 536.369 µs] 122.252 µs (31.3%)
tracing 465.257 µs [442.516 µs, 487.997 µs] 74.315 µs (19.0%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/cleanup-zio-instrumentation
git_commit_date 1746825821 1746996586
git_commit_sha f494c33 8bc35ce
release_version 1.50.0-SNAPSHOT~f494c33b01 1.50.0-SNAPSHOT~8bc35cefaa
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1746998614 1746998614
ci_job_id 932729821 932729821
ci_pipeline_id 64734407 64734407
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-i83qnnyx-project-304-concurrent-0-7abn2km4 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-i83qnnyx-project-304-concurrent-0-7abn2km4 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant appsec appsec

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.50.0-SNAPSHOT~8bc35cefaa, baseline=1.50.0-SNAPSHOT~f494c33b01
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.491 ms) : 1479, 1502
.   : milestone, 1491,
appsec (2.424 ms) : 2374, 2474
.   : milestone, 2424,
iast (2.209 ms) : 2147, 2272
.   : milestone, 2209,
iast_GLOBAL (2.253 ms) : 2191, 2316
.   : milestone, 2253,
profiling (2.507 ms) : 2326, 2689
.   : milestone, 2507,
tracing (2.039 ms) : 1990, 2087
.   : milestone, 2039,
section candidate
no_agent (1.483 ms) : 1471, 1494
.   : milestone, 1483,
appsec (2.432 ms) : 2383, 2482
.   : milestone, 2432,
iast (2.208 ms) : 2146, 2270
.   : milestone, 2208,
iast_GLOBAL (2.258 ms) : 2196, 2321
.   : milestone, 2258,
profiling (2.05 ms) : 2000, 2100
.   : milestone, 2050,
tracing (2.035 ms) : 1987, 2083
.   : milestone, 2035,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.491 ms [1.479 ms, 1.502 ms] -
appsec 2.424 ms [2.374 ms, 2.474 ms] 933.327 µs (62.6%)
iast 2.209 ms [2.147 ms, 2.272 ms] 718.627 µs (48.2%)
iast_GLOBAL 2.253 ms [2.191 ms, 2.316 ms] 762.458 µs (51.1%)
profiling 2.507 ms [2.326 ms, 2.689 ms] 1.017 ms (68.2%)
tracing 2.039 ms [1.99 ms, 2.087 ms] 548.081 µs (36.8%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.483 ms [1.471 ms, 1.494 ms] -
appsec 2.432 ms [2.383 ms, 2.482 ms] 949.873 µs (64.1%)
iast 2.208 ms [2.146 ms, 2.27 ms] 725.487 µs (48.9%)
iast_GLOBAL 2.258 ms [2.196 ms, 2.321 ms] 775.585 µs (52.3%)
profiling 2.05 ms [2.0 ms, 2.1 ms] 567.536 µs (38.3%)
tracing 2.035 ms [1.987 ms, 2.083 ms] 552.345 µs (37.3%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.50.0-SNAPSHOT~8bc35cefaa, baseline=1.50.0-SNAPSHOT~f494c33b01
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.979 s) : 14979000, 14979000
.   : milestone, 14979000,
appsec (14.652 s) : 14652000, 14652000
.   : milestone, 14652000,
iast (18.686 s) : 18686000, 18686000
.   : milestone, 18686000,
iast_GLOBAL (18.056 s) : 18056000, 18056000
.   : milestone, 18056000,
profiling (15.129 s) : 15129000, 15129000
.   : milestone, 15129000,
tracing (15.192 s) : 15192000, 15192000
.   : milestone, 15192000,
section candidate
no_agent (15.317 s) : 15317000, 15317000
.   : milestone, 15317000,
appsec (15.026 s) : 15026000, 15026000
.   : milestone, 15026000,
iast (19.246 s) : 19246000, 19246000
.   : milestone, 19246000,
iast_GLOBAL (18.211 s) : 18211000, 18211000
.   : milestone, 18211000,
profiling (15.016 s) : 15016000, 15016000
.   : milestone, 15016000,
tracing (14.975 s) : 14975000, 14975000
.   : milestone, 14975000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.979 s [14.979 s, 14.979 s] -
appsec 14.652 s [14.652 s, 14.652 s] -327.0 ms (-2.2%)
iast 18.686 s [18.686 s, 18.686 s] 3.707 s (24.7%)
iast_GLOBAL 18.056 s [18.056 s, 18.056 s] 3.077 s (20.5%)
profiling 15.129 s [15.129 s, 15.129 s] 150.0 ms (1.0%)
tracing 15.192 s [15.192 s, 15.192 s] 213.0 ms (1.4%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.317 s [15.317 s, 15.317 s] -
appsec 15.026 s [15.026 s, 15.026 s] -291.0 ms (-1.9%)
iast 19.246 s [19.246 s, 19.246 s] 3.929 s (25.7%)
iast_GLOBAL 18.211 s [18.211 s, 18.211 s] 2.894 s (18.9%)
profiling 15.016 s [15.016 s, 15.016 s] -301.0 ms (-2.0%)
tracing 14.975 s [14.975 s, 14.975 s] -342.0 ms (-2.2%)

@mcculls mcculls marked this pull request as ready for review May 11, 2025 21:47
@mcculls mcculls requested a review from a team as a code owner May 11, 2025 21:47
@mcculls mcculls merged commit e5785f7 into master May 12, 2025
592 of 595 checks passed
@mcculls mcculls deleted the mcculls/cleanup-zio-instrumentation branch May 12, 2025 09:29
@github-actions github-actions bot added this to the 1.50.0 milestone May 12, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jun 20, 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.49.0` -> `1.50.0` |

---

### Release Notes

<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>

###
[`v1.50.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.50.0):
1.50.0

### Deprecation Notice

> \[!NOTE]
> `DD_RUNTIME_ID_ENABLED` has been deprecated and will be removed in
future releases. Please use `DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED`
instead.

### Components

#### Application Security Management (WAF)

- 🐛 Add String length truncation limit to ObjectIntrospector and
update truncation metrics
([#&#8203;8825](DataDog/dd-trace-java#8825) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Adapt standalone ASM to support API Security
([#&#8203;8804](DataDog/dd-trace-java#8804) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Add appsec.waf.input\_truncated metric
([#&#8203;8791](DataDog/dd-trace-java#8791) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extended appsec request body collection
([#&#8203;8748](DataDog/dd-trace-java#8748) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extended appsec request/response headers collection
([#&#8203;8724](DataDog/dd-trace-java#8724) -
[@&#8203;jandro996](https://github.com/jandro996))

#### Build & Tooling

- ✨ Add artifacts to public s3 bucket
([#&#8203;8947](DataDog/dd-trace-java#8947) -
[@&#8203;randomanderson](https://github.com/randomanderson))

#### Continuous Integration Visibility

- ✨ Improve PR information building
([#&#8203;8908](DataDog/dd-trace-java#8908) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Truncate span stack traces when Test Optimization is
enabled
([#&#8203;8903](DataDog/dd-trace-java#8903) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Ensure auto-detected service name is the same for every process
in the same build
([#&#8203;8902](DataDog/dd-trace-java#8902) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Use tag as fallback in api requests if no branch is available
([#&#8203;8876](DataDog/dd-trace-java#8876) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Add support for JUnit 5.13-RC1
([#&#8203;8865](DataDog/dd-trace-java#8865),
[#&#8203;8871](DataDog/dd-trace-java#8871) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement attempt to fix v3 and v4 and bump capability
version
([#&#8203;8824](DataDog/dd-trace-java#8824) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🧹 Align retry logic for all test framework instrumentations
([#&#8203;8803](DataDog/dd-trace-java#8803) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🐛 Always build ci workspace without trailing separator
([#&#8203;8788](DataDog/dd-trace-java#8788) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Add commit discrepancies telemetry when building repository
git information
([#&#8203;8763](DataDog/dd-trace-java#8763) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))

#### Data Streams Monitoring

- 💡 Surface process tags in dsm payloads and use them for base hash
calculation
([#&#8203;8836](DataDog/dd-trace-java#8836) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Dynamic Instrumentation

- ✨ Optimized allocations for collection filter functions
([#&#8203;8896](DataDog/dd-trace-java#8896) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix SymDB upload size check
([#&#8203;8887](DataDog/dd-trace-java#8887) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Add support for Set in filter function
([#&#8203;8873](DataDog/dd-trace-java#8873) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Add support for isDefined in log template
([#&#8203;8859](DataDog/dd-trace-java#8859) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix Max captured frames for Exception Replay
([#&#8203;8856](DataDog/dd-trace-java#8856) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Remove static inherited fields collection
([#&#8203;8832](DataDog/dd-trace-java#8832) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 💡 Add process tags to dynamic instrumentation intake payload
([#&#8203;8779](DataDog/dd-trace-java#8779) -
[@&#8203;amarziali](https://github.com/amarziali))

#### GraalVM native-image

- ✨ Add support for GraalVM Native GC metrics
([#&#8203;8913](DataDog/dd-trace-java#8913) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Add JMXFetch support for GraalVM Native
([#&#8203;8569](DataDog/dd-trace-java#8569) -
[@&#8203;ygree](https://github.com/ygree))

#### JMX fetch

- ✨ Add support for GraalVM Native GC metrics
([#&#8203;8913](DataDog/dd-trace-java#8913) -
[@&#8203;ygree](https://github.com/ygree))

#### Library Injection

- ✨ Deny oracle db jvm based tools
([#&#8203;8909](DataDog/dd-trace-java#8909) -
[@&#8203;bric3](https://github.com/bric3))

#### OpenTracing

- 🐛 Fix OT packaging for exception replay
([#&#8203;8912](DataDog/dd-trace-java#8912) -
[@&#8203;jpbempel](https://github.com/jpbempel))

#### Profiling

- ✨ Bump ddprof to 1.27.0
([#&#8203;8893](DataDog/dd-trace-java#8893) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- Properly handle the adaptive sampling interval overflow by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#213
- Fix [#&#8203;200](DataDog/dd-trace-java#200)
Crash related to aligned\_alloc and free in context by
[@&#8203;yanglong1010](https://github.com/yanglong1010) in
DataDog/java-profiler#208
- Explicitly initialize empty context page by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#210
- Re-connect crash recursion protection with VM stackwalker by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#214
- ✨ Enable ZSTD compression for profiling
([#&#8203;8862](DataDog/dd-trace-java#8862) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- ✨ Extend JPS re-implementation to J9 family
([#&#8203;8813](DataDog/dd-trace-java#8813) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 💡 Collect process tags for profiling upload requests
([#&#8203;8780](DataDog/dd-trace-java#8780) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Telemetry

- 💡 Surface process tags on telemetry payloads
([#&#8203;8837](DataDog/dd-trace-java#8837) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Trace context propagation

- ✨ Migrating all HttpClient Instrumentations to Inject Full
Context
([#&#8203;8826](DataDog/dd-trace-java#8826) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Migrating all HttpServer Instrumentations to Extract full
Context
([#&#8203;8820](DataDog/dd-trace-java#8820) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Add context API support OTel propagators
([#&#8203;8770](DataDog/dd-trace-java#8770) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Tracer core

- ✨⚡ Skip JAXB generated classes classloader
([#&#8203;9003](DataDog/dd-trace-java#9003) -
[@&#8203;bric3](https://github.com/bric3))
- ✨ Add DD\_RUNTIME\_METRICS\_RUNTIME\_ID\_ENABLED alias for
runtime id generation
([#&#8203;8981](DataDog/dd-trace-java#8981) -
[@&#8203;amarziali](https://github.com/amarziali))
- 🐛 Use resolved address for peer.hostname when available without
hitting the cache
([#&#8203;8915](DataDog/dd-trace-java#8915) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Surface server name process tag for tomcat
([#&#8203;8894](DataDog/dd-trace-java#8894) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Surface websphere cell and server name on process tags
([#&#8203;8880](DataDog/dd-trace-java#8880) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Added special lightweight pre-main class that skips
installation on incompatible JVMs.
([#&#8203;8855](DataDog/dd-trace-java#8855) -
[@&#8203;AlexeyKuznetsov-DD](https://github.com/AlexeyKuznetsov-DD))
- 💡 Add entrypoint type to process tags
([#&#8203;8839](DataDog/dd-trace-java#8839) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Extend JPS re-implementation to J9 family
([#&#8203;8813](DataDog/dd-trace-java#8813) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- ✨ Notify listeners when the scope top changes after switching
scope stacks
([#&#8203;8797](DataDog/dd-trace-java#8797) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Read hsperfdata for Java PIDs if jvmstat is unavailable
([#&#8203;8792](DataDog/dd-trace-java#8792) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 🐛 Turn JDK socket support on by default
([#&#8203;8752](DataDog/dd-trace-java#8752) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- ✨ Simplify context propagation
([#&#8203;8719](DataDog/dd-trace-java#8719) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Add JSON parsing support
([#&#8203;8579](DataDog/dd-trace-java#8579) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Tracer internal logging

- ✨ Fix printing format of span identifiers
([#&#8203;8897](DataDog/dd-trace-java#8897) -
[@&#8203;vandonr](https://github.com/vandonr))

#### Tracer public API

- 💡 Track the source of installation
([#&#8203;8956](DataDog/dd-trace-java#8956) -
[@&#8203;mabdinur](https://github.com/mabdinur))
- ✨ Enforce size limit on application\_monitoring.yaml files
([#&#8203;8789](DataDog/dd-trace-java#8789) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨ Enabling baggage cache to support limits and non-ascii
characters
([#&#8203;8713](DataDog/dd-trace-java#8713) -
[@&#8203;mhlidd](https://github.com/mhlidd))

### Instrumentations

#### AWS Lambda instrumentation

- ✨ Pass Lambda Request ID to Extension
([#&#8203;8814](DataDog/dd-trace-java#8814) -
[@&#8203;nhulston](https://github.com/nhulston))

#### Core Java language instrumentation

- ✨ Ensure ClassloadingInstrumentation is always applied even
with `DD_TRACE_ENABLED=false`
([#&#8203;8863](DataDog/dd-trace-java#8863) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Eclipse Vert.x instrumentation

- 🐛 Do not override route with / in vertx instrumentation
([#&#8203;8881](DataDog/dd-trace-java#8881) -
[@&#8203;vandonr](https://github.com/vandonr))

#### IBM Liberty

- 🐛 Fix error mark on http status for IBM liberty
([#&#8203;8822](DataDog/dd-trace-java#8822) -
[@&#8203;amarziali](https://github.com/amarziali))

#### JDBC instrumentation

- 🐛 Do not prepend DBM <> APM trace comment in SQLCommenter if there
is a pg plan hint
([#&#8203;8864](DataDog/dd-trace-java#8864) -
[@&#8203;edengorevoy](https://github.com/edengorevoy))

#### JMS instrumentation

- ✨ Add jms as an extra integration name where there is JMS
involved
([#&#8203;8933](DataDog/dd-trace-java#8933) -
[@&#8203;vandonr](https://github.com/vandonr))

#### Kotlin instrumentation

- ✨ Enable kotlin\_coroutine integration by default
([#&#8203;8848](DataDog/dd-trace-java#8848) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🧹 Rework Kotlin coroutines instrumentation around coroutine
context
([#&#8203;8774](DataDog/dd-trace-java#8774) -
[@&#8203;mcculls](https://github.com/mcculls))

#### OpenTelemetry instrumentation

- 🐛 Support WithSpan inheritContext attribute
([#&#8203;8858](DataDog/dd-trace-java#8858) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add context API support OTel propagators
([#&#8203;8770](DataDog/dd-trace-java#8770) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Play Framework instrumentation

- 🐛 Fix the Play Framework's span resource name priority so that the
client JAX-RS 404 cannot override it
([#&#8203;8591](DataDog/dd-trace-java#8591) -
[@&#8203;ygree](https://github.com/ygree))

#### Quarkus Instrumentation

- 🐛 Ignore quarkus jaxrs stubs and cdi wrapper proxies
([#&#8203;8891](DataDog/dd-trace-java#8891) -
[@&#8203;amarziali](https://github.com/amarziali))

#### ServiceTalk

- ✨ Improve ServiceTalk Captured Context API Instrumentation
for v0.42.56+
([#&#8203;8821](DataDog/dd-trace-java#8821) -
[@&#8203;ygree](https://github.com/ygree))

#### Spring instrumentation

- ✨ Supporting Baggage for Instrumentations used in Weblog
Tests
([#&#8203;8773](DataDog/dd-trace-java#8773) -
[@&#8203;mhlidd](https://github.com/mhlidd))

#### WebSocket Instrumentation

- 💡 Trace websocket for spring webflux reactive handlers
([#&#8203;8831](DataDog/dd-trace-java#8831) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡:test\_tube: WebSocket support for Netty
([#&#8203;8632](DataDog/dd-trace-java#8632) -
[@&#8203;ValentinZakharov](https://github.com/ValentinZakharov))

#### Zio Instrumentation

- 🧹 Cleanup Zio fiber instrumentation to avoid repeated activation
of continuation
([#&#8203;8798](DataDog/dd-trace-java#8798) -
[@&#8203;mcculls](https://github.com/mcculls))

</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: 9207366cdb6a1bd098082305d354a0a3c4622d7a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
inst: others All other instrumentations type: refactoring
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants