Skip to content

Conversation

@ygree
Copy link
Contributor

@ygree ygree commented May 13, 2025

What Does This Do

Implements new instrumentation for the captured context API available in ServiceTalk 0.42.56+
It also splits the instrumentation in two:

  • ServiceTalk prior (<) v0.42.56
    Uses the previous instrumentation approach.
  • ServiceTalk v0.42.56+
    Uses the new Captured Context API.

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@pr-commenter
Copy link

pr-commenter bot commented May 14, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master ygree/servicetalk-concurrent-instrumentation-0.42.56
git_commit_date 1746789389 1748884556
git_commit_sha ad6d5fe 0c0e25f
release_version 1.50.0-SNAPSHOT~ad6d5fef42 1.50.0-SNAPSHOT~0c0e25f8cd
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1748886905 1748886905
ci_job_id 963807900 963807900
ci_pipeline_id 66711363 66711363
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-eqiwq57k-project-304-concurrent-2-v9amsbsi 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-eqiwq57k-project-304-concurrent-2-v9amsbsi 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

Summary

Found 4 performance improvements and 2 performance regressions! Performance is the same for 52 metrics, 13 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:insecure-bank:iast_TELEMETRY_OFF:AppSec better
[-9.644ms; -4.467ms] or [-17.086%; -7.914%]
49.389ms 56.445ms
scenario:startup:insecure-bank:tracing:Remote Config worse
[+47.617µs; +89.623µs] or [+7.022%; +13.216%]
746.737µs 678.118µs
scenario:startup:petclinic:profiling:ProfilingAgent better
[-9.138ms; -4.899ms] or [-8.288%; -4.443%]
103.240ms 110.258ms
scenario:startup:petclinic:profiling:GlobalTracer better
[-20.375ms; -16.335ms] or [-5.374%; -4.308%]
360.783ms 379.138ms
scenario:startup:petclinic:profiling:AppSec worse
[+5.456ms; +8.391ms] or [+9.974%; +15.338%]
61.626ms 54.702ms
scenario:startup:petclinic:profiling:Profiling better
[-9.139ms; -4.900ms] or [-8.287%; -4.443%]
103.264ms 110.284ms
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.50.0-SNAPSHOT~0c0e25f8cd, baseline=1.50.0-SNAPSHOT~ad6d5fef42

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.04 s) : 0, 1040065
Total [baseline] (10.498 s) : 0, 10497798
Agent [candidate] (1.025 s) : 0, 1025298
Total [candidate] (10.459 s) : 0, 10459369
section appsec
Agent [baseline] (1.165 s) : 0, 1164689
Total [baseline] (10.699 s) : 0, 10699488
Agent [candidate] (1.17 s) : 0, 1169699
Total [candidate] (10.732 s) : 0, 10732127
section iast
Agent [baseline] (1.16 s) : 0, 1159838
Total [baseline] (10.911 s) : 0, 10910688
Agent [candidate] (1.166 s) : 0, 1165619
Total [candidate] (10.878 s) : 0, 10878423
section profiling
Agent [baseline] (1.291 s) : 0, 1291043
Total [baseline] (10.885 s) : 0, 10884600
Agent [candidate] (1.269 s) : 0, 1269253
Total [candidate] (10.911 s) : 0, 10910992
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.04 s -
Agent appsec 1.165 s 124.624 ms (12.0%)
Agent iast 1.16 s 119.773 ms (11.5%)
Agent profiling 1.291 s 250.978 ms (24.1%)
Total tracing 10.498 s -
Total appsec 10.699 s 201.69 ms (1.9%)
Total iast 10.911 s 412.89 ms (3.9%)
Total profiling 10.885 s 386.802 ms (3.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.025 s -
Agent appsec 1.17 s 144.401 ms (14.1%)
Agent iast 1.166 s 140.321 ms (13.7%)
Agent profiling 1.269 s 243.955 ms (23.8%)
Total tracing 10.459 s -
Total appsec 10.732 s 272.758 ms (2.6%)
Total iast 10.878 s 419.054 ms (4.0%)
Total profiling 10.911 s 451.623 ms (4.3%)
gantt
    title petclinic - break down per module: candidate=1.50.0-SNAPSHOT~0c0e25f8cd, baseline=1.50.0-SNAPSHOT~ad6d5fef42

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (697.37 ms) : 0, 697370
BytebuddyAgent [candidate] (684.442 ms) : 0, 684442
GlobalTracer [baseline] (244.227 ms) : 0, 244227
GlobalTracer [candidate] (240.95 ms) : 0, 240950
AppSec [baseline] (55.461 ms) : 0, 55461
AppSec [candidate] (58.446 ms) : 0, 58446
Debugger [baseline] (8.436 ms) : 0, 8436
Debugger [candidate] (6.152 ms) : 0, 6152
Remote Config [baseline] (709.613 µs) : 0, 710
Remote Config [candidate] (738.049 µs) : 0, 738
Telemetry [baseline] (9.933 ms) : 0, 9933
Telemetry [candidate] (11.079 ms) : 0, 11079
section appsec
BytebuddyAgent [baseline] (702.636 ms) : 0, 702636
BytebuddyAgent [candidate] (704.861 ms) : 0, 704861
GlobalTracer [baseline] (237.352 ms) : 0, 237352
GlobalTracer [candidate] (239.123 ms) : 0, 239123
AppSec [baseline] (175.867 ms) : 0, 175867
AppSec [candidate] (177.223 ms) : 0, 177223
Debugger [baseline] (5.92 ms) : 0, 5920
Debugger [candidate] (6.011 ms) : 0, 6011
Remote Config [baseline] (626.4 µs) : 0, 626
Remote Config [candidate] (648.233 µs) : 0, 648
Telemetry [baseline] (7.719 ms) : 0, 7719
Telemetry [candidate] (7.413 ms) : 0, 7413
IAST [baseline] (21.834 ms) : 0, 21834
IAST [candidate] (21.746 ms) : 0, 21746
section iast
BytebuddyAgent [baseline] (809.725 ms) : 0, 809725
BytebuddyAgent [candidate] (812.902 ms) : 0, 812902
GlobalTracer [baseline] (232.659 ms) : 0, 232659
GlobalTracer [candidate] (234.396 ms) : 0, 234396
AppSec [baseline] (50.748 ms) : 0, 50748
AppSec [candidate] (51.756 ms) : 0, 51756
Debugger [baseline] (5.966 ms) : 0, 5966
Debugger [candidate] (5.991 ms) : 0, 5991
Remote Config [baseline] (593.51 µs) : 0, 594
Remote Config [candidate] (610.902 µs) : 0, 611
Telemetry [baseline] (7.958 ms) : 0, 7958
Telemetry [candidate] (8.065 ms) : 0, 8065
IAST [baseline] (27.74 ms) : 0, 27740
IAST [candidate] (28.213 ms) : 0, 28213
section profiling
BytebuddyAgent [baseline] (680.711 ms) : 0, 680711
BytebuddyAgent [candidate] (677.414 ms) : 0, 677414
GlobalTracer [baseline] (379.138 ms) : 0, 379138
GlobalTracer [candidate] (360.783 ms) : 0, 360783
AppSec [baseline] (54.702 ms) : 0, 54702
AppSec [candidate] (61.626 ms) : 0, 61626
Debugger [baseline] (6.165 ms) : 0, 6165
Debugger [candidate] (6.128 ms) : 0, 6128
Remote Config [baseline] (648.412 µs) : 0, 648
Remote Config [candidate] (659.886 µs) : 0, 660
Telemetry [baseline] (8.145 ms) : 0, 8145
Telemetry [candidate] (8.201 ms) : 0, 8201
ProfilingAgent [baseline] (110.258 ms) : 0, 110258
ProfilingAgent [candidate] (103.24 ms) : 0, 103240
Profiling [baseline] (110.284 ms) : 0, 110284
Profiling [candidate] (103.264 ms) : 0, 103264
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.50.0-SNAPSHOT~0c0e25f8cd, baseline=1.50.0-SNAPSHOT~ad6d5fef42

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.021 s) : 0, 1021402
Total [baseline] (8.645 s) : 0, 8645364
Agent [candidate] (1.019 s) : 0, 1019363
Total [candidate] (8.674 s) : 0, 8673988
section iast
Agent [baseline] (1.148 s) : 0, 1148272
Total [baseline] (9.279 s) : 0, 9278602
Agent [candidate] (1.158 s) : 0, 1158022
Total [candidate] (9.222 s) : 0, 9222256
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.148 s) : 0, 1148272
Total [baseline] (9.191 s) : 0, 9190909
Agent [candidate] (1.151 s) : 0, 1150584
Total [candidate] (9.18 s) : 0, 9179691
section iast_TELEMETRY_OFF
Agent [baseline] (1.152 s) : 0, 1152049
Total [baseline] (9.253 s) : 0, 9253170
Agent [candidate] (1.147 s) : 0, 1146603
Total [candidate] (9.196 s) : 0, 9195636
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.021 s -
Agent iast 1.148 s 126.87 ms (12.4%)
Agent iast_HARDCODED_SECRET_DISABLED 1.148 s 126.869 ms (12.4%)
Agent iast_TELEMETRY_OFF 1.152 s 130.646 ms (12.8%)
Total tracing 8.645 s -
Total iast 9.279 s 633.238 ms (7.3%)
Total iast_HARDCODED_SECRET_DISABLED 9.191 s 545.545 ms (6.3%)
Total iast_TELEMETRY_OFF 9.253 s 607.806 ms (7.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.019 s -
Agent iast 1.158 s 138.66 ms (13.6%)
Agent iast_HARDCODED_SECRET_DISABLED 1.151 s 131.222 ms (12.9%)
Agent iast_TELEMETRY_OFF 1.147 s 127.24 ms (12.5%)
Total tracing 8.674 s -
Total iast 9.222 s 548.268 ms (6.3%)
Total iast_HARDCODED_SECRET_DISABLED 9.18 s 505.703 ms (5.8%)
Total iast_TELEMETRY_OFF 9.196 s 521.648 ms (6.0%)
gantt
    title insecure-bank - break down per module: candidate=1.50.0-SNAPSHOT~0c0e25f8cd, baseline=1.50.0-SNAPSHOT~ad6d5fef42

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (681.65 ms) : 0, 681650
BytebuddyAgent [candidate] (684.115 ms) : 0, 684115
GlobalTracer [baseline] (239.777 ms) : 0, 239777
GlobalTracer [candidate] (240.727 ms) : 0, 240727
AppSec [baseline] (56.038 ms) : 0, 56038
AppSec [candidate] (55.071 ms) : 0, 55071
Debugger [baseline] (10.85 ms) : 0, 10850
Debugger [candidate] (6.168 ms) : 0, 6168
Remote Config [baseline] (678.118 µs) : 0, 678
Remote Config [candidate] (746.737 µs) : 0, 747
Telemetry [baseline] (8.944 ms) : 0, 8944
Telemetry [candidate] (9.069 ms) : 0, 9069
section iast
BytebuddyAgent [baseline] (801.121 ms) : 0, 801121
BytebuddyAgent [candidate] (808.045 ms) : 0, 808045
GlobalTracer [baseline] (230.127 ms) : 0, 230127
GlobalTracer [candidate] (232.449 ms) : 0, 232449
AppSec [baseline] (49.824 ms) : 0, 49824
AppSec [candidate] (52.143 ms) : 0, 52143
Debugger [baseline] (5.915 ms) : 0, 5915
Debugger [candidate] (5.946 ms) : 0, 5946
Remote Config [baseline] (596.183 µs) : 0, 596
Remote Config [candidate] (594.574 µs) : 0, 595
Telemetry [baseline] (7.922 ms) : 0, 7922
Telemetry [candidate] (7.944 ms) : 0, 7944
IAST [baseline] (29.327 ms) : 0, 29327
IAST [candidate] (27.161 ms) : 0, 27161
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (801.198 ms) : 0, 801198
BytebuddyAgent [candidate] (802.759 ms) : 0, 802759
GlobalTracer [baseline] (230.628 ms) : 0, 230628
GlobalTracer [candidate] (231.52 ms) : 0, 231520
AppSec [baseline] (50.248 ms) : 0, 50248
AppSec [candidate] (50.181 ms) : 0, 50181
Debugger [baseline] (5.907 ms) : 0, 5907
Debugger [candidate] (5.856 ms) : 0, 5856
Remote Config [baseline] (583.413 µs) : 0, 583
Remote Config [candidate] (563.606 µs) : 0, 564
Telemetry [baseline] (7.861 ms) : 0, 7861
Telemetry [candidate] (7.903 ms) : 0, 7903
IAST [baseline] (28.359 ms) : 0, 28359
IAST [candidate] (27.511 ms) : 0, 27511
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (803.153 ms) : 0, 803153
BytebuddyAgent [candidate] (799.442 ms) : 0, 799442
GlobalTracer [baseline] (231.46 ms) : 0, 231460
GlobalTracer [candidate] (231.279 ms) : 0, 231279
AppSec [baseline] (56.445 ms) : 0, 56445
AppSec [candidate] (49.389 ms) : 0, 49389
Debugger [baseline] (6.073 ms) : 0, 6073
Debugger [candidate] (5.896 ms) : 0, 5896
Remote Config [baseline] (606.413 µs) : 0, 606
Remote Config [candidate] (582.858 µs) : 0, 583
Telemetry [baseline] (8.031 ms) : 0, 8031
Telemetry [candidate] (7.775 ms) : 0, 7775
IAST [baseline] (22.631 ms) : 0, 22631
IAST [candidate] (28.757 ms) : 0, 28757
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-06-02T17:25:23 2025-06-02T17:33:08
git_branch master ygree/servicetalk-concurrent-instrumentation-0.42.56
git_commit_date 1746789389 1748884556
git_commit_sha ad6d5fe 0c0e25f
release_version 1.50.0-SNAPSHOT~ad6d5fef42 1.50.0-SNAPSHOT~0c0e25f8cd
start_time 2025-06-02T17:25:09 2025-06-02T17:32:54
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1748885987 1748885987
ci_job_id 963807902 963807902
ci_pipeline_id 66711363 66711363
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-qwfaxnvf-project-304-concurrent-0-jkomtenj 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-qwfaxnvf-project-304-concurrent-0-jkomtenj 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 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~0c0e25f8cd, baseline=1.50.0-SNAPSHOT~ad6d5fef42
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.34 ms) : 1320, 1359
.   : milestone, 1340,
appsec (1.743 ms) : 1720, 1766
.   : milestone, 1743,
appsec_no_iast (1.736 ms) : 1713, 1759
.   : milestone, 1736,
code_origins (1.645 ms) : 1618, 1673
.   : milestone, 1645,
iast (1.513 ms) : 1488, 1538
.   : milestone, 1513,
profiling (1.523 ms) : 1500, 1547
.   : milestone, 1523,
tracing (1.502 ms) : 1478, 1525
.   : milestone, 1502,
section candidate
no_agent (1.368 ms) : 1349, 1387
.   : milestone, 1368,
appsec (1.715 ms) : 1692, 1738
.   : milestone, 1715,
appsec_no_iast (1.748 ms) : 1724, 1771
.   : milestone, 1748,
code_origins (1.684 ms) : 1658, 1711
.   : milestone, 1684,
iast (1.519 ms) : 1495, 1542
.   : milestone, 1519,
profiling (1.505 ms) : 1482, 1528
.   : milestone, 1505,
tracing (1.489 ms) : 1465, 1514
.   : milestone, 1489,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.34 ms [1.32 ms, 1.359 ms] -
appsec 1.743 ms [1.72 ms, 1.766 ms] 403.48 µs (30.1%)
appsec_no_iast 1.736 ms [1.713 ms, 1.759 ms] 396.606 µs (29.6%)
code_origins 1.645 ms [1.618 ms, 1.673 ms] 305.705 µs (22.8%)
iast 1.513 ms [1.488 ms, 1.538 ms] 173.222 µs (12.9%)
profiling 1.523 ms [1.5 ms, 1.547 ms] 183.742 µs (13.7%)
tracing 1.502 ms [1.478 ms, 1.525 ms] 161.908 µs (12.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.368 ms [1.349 ms, 1.387 ms] -
appsec 1.715 ms [1.692 ms, 1.738 ms] 346.922 µs (25.4%)
appsec_no_iast 1.748 ms [1.724 ms, 1.771 ms] 379.643 µs (27.8%)
code_origins 1.684 ms [1.658 ms, 1.711 ms] 316.214 µs (23.1%)
iast 1.519 ms [1.495 ms, 1.542 ms] 150.627 µs (11.0%)
profiling 1.505 ms [1.482 ms, 1.528 ms] 137.432 µs (10.0%)
tracing 1.489 ms [1.465 ms, 1.514 ms] 121.297 µs (8.9%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~0c0e25f8cd, baseline=1.50.0-SNAPSHOT~ad6d5fef42
    dateFormat X
    axisFormat %s
section baseline
no_agent (388.251 µs) : 367, 409
.   : milestone, 388,
iast (519.703 µs) : 498, 542
.   : milestone, 520,
iast_FULL (732.082 µs) : 710, 754
.   : milestone, 732,
iast_GLOBAL (562.243 µs) : 540, 584
.   : milestone, 562,
iast_HARDCODED_SECRET_DISABLED (518.826 µs) : 497, 541
.   : milestone, 519,
iast_INACTIVE (472.205 µs) : 449, 495
.   : milestone, 472,
iast_TELEMETRY_OFF (517.015 µs) : 494, 540
.   : milestone, 517,
tracing (459.528 µs) : 438, 481
.   : milestone, 460,
section candidate
no_agent (381.065 µs) : 360, 402
.   : milestone, 381,
iast (521.664 µs) : 500, 544
.   : milestone, 522,
iast_FULL (745.029 µs) : 723, 767
.   : milestone, 745,
iast_GLOBAL (563.285 µs) : 540, 586
.   : milestone, 563,
iast_HARDCODED_SECRET_DISABLED (523.302 µs) : 501, 545
.   : milestone, 523,
iast_INACTIVE (464.77 µs) : 442, 487
.   : milestone, 465,
iast_TELEMETRY_OFF (514.864 µs) : 493, 537
.   : milestone, 515,
tracing (465.271 µs) : 443, 488
.   : milestone, 465,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 388.251 µs [367.026 µs, 409.475 µs] -
iast 519.703 µs [497.568 µs, 541.838 µs] 131.452 µs (33.9%)
iast_FULL 732.082 µs [710.185 µs, 753.98 µs] 343.832 µs (88.6%)
iast_GLOBAL 562.243 µs [540.322 µs, 584.164 µs] 173.992 µs (44.8%)
iast_HARDCODED_SECRET_DISABLED 518.826 µs [496.918 µs, 540.734 µs] 130.575 µs (33.6%)
iast_INACTIVE 472.205 µs [449.289 µs, 495.121 µs] 83.954 µs (21.6%)
iast_TELEMETRY_OFF 517.015 µs [493.858 µs, 540.173 µs] 128.765 µs (33.2%)
tracing 459.528 µs [437.653 µs, 481.403 µs] 71.277 µs (18.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 381.065 µs [360.238 µs, 401.891 µs] -
iast 521.664 µs [499.758 µs, 543.57 µs] 140.599 µs (36.9%)
iast_FULL 745.029 µs [723.012 µs, 767.045 µs] 363.964 µs (95.5%)
iast_GLOBAL 563.285 µs [540.193 µs, 586.377 µs] 182.22 µs (47.8%)
iast_HARDCODED_SECRET_DISABLED 523.302 µs [501.15 µs, 545.453 µs] 142.237 µs (37.3%)
iast_INACTIVE 464.77 µs [442.287 µs, 487.253 µs] 83.705 µs (22.0%)
iast_TELEMETRY_OFF 514.864 µs [493.016 µs, 536.711 µs] 133.799 µs (35.1%)
tracing 465.271 µs [442.96 µs, 487.582 µs] 84.206 µs (22.1%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master ygree/servicetalk-concurrent-instrumentation-0.42.56
git_commit_date 1746789389 1748884556
git_commit_sha ad6d5fe 0c0e25f
release_version 1.50.0-SNAPSHOT~ad6d5fef42 1.50.0-SNAPSHOT~0c0e25f8cd
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1748886666 1748886666
ci_job_id 963807903 963807903
ci_pipeline_id 66711363 66711363
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-eqiwq57k-project-304-concurrent-3-5wqa2fdi 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-eqiwq57k-project-304-concurrent-3-5wqa2fdi 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 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 12 metrics, 0 unstable metrics.

Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.50.0-SNAPSHOT~0c0e25f8cd, baseline=1.50.0-SNAPSHOT~ad6d5fef42
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.962 s) : 14962000, 14962000
.   : milestone, 14962000,
appsec (14.924 s) : 14924000, 14924000
.   : milestone, 14924000,
iast (18.892 s) : 18892000, 18892000
.   : milestone, 18892000,
iast_GLOBAL (17.896 s) : 17896000, 17896000
.   : milestone, 17896000,
profiling (15.055 s) : 15055000, 15055000
.   : milestone, 15055000,
tracing (14.878 s) : 14878000, 14878000
.   : milestone, 14878000,
section candidate
no_agent (15.326 s) : 15326000, 15326000
.   : milestone, 15326000,
appsec (14.988 s) : 14988000, 14988000
.   : milestone, 14988000,
iast (19.167 s) : 19167000, 19167000
.   : milestone, 19167000,
iast_GLOBAL (18.113 s) : 18113000, 18113000
.   : milestone, 18113000,
profiling (14.982 s) : 14982000, 14982000
.   : milestone, 14982000,
tracing (15.116 s) : 15116000, 15116000
.   : milestone, 15116000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.962 s [14.962 s, 14.962 s] -
appsec 14.924 s [14.924 s, 14.924 s] -38.0 ms (-0.3%)
iast 18.892 s [18.892 s, 18.892 s] 3.93 s (26.3%)
iast_GLOBAL 17.896 s [17.896 s, 17.896 s] 2.934 s (19.6%)
profiling 15.055 s [15.055 s, 15.055 s] 93.0 ms (0.6%)
tracing 14.878 s [14.878 s, 14.878 s] -84.0 ms (-0.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.326 s [15.326 s, 15.326 s] -
appsec 14.988 s [14.988 s, 14.988 s] -338.0 ms (-2.2%)
iast 19.167 s [19.167 s, 19.167 s] 3.841 s (25.1%)
iast_GLOBAL 18.113 s [18.113 s, 18.113 s] 2.787 s (18.2%)
profiling 14.982 s [14.982 s, 14.982 s] -344.0 ms (-2.2%)
tracing 15.116 s [15.116 s, 15.116 s] -210.0 ms (-1.4%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.50.0-SNAPSHOT~0c0e25f8cd, baseline=1.50.0-SNAPSHOT~ad6d5fef42
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.487 ms) : 1475, 1498
.   : milestone, 1487,
appsec (2.414 ms) : 2365, 2462
.   : milestone, 2414,
iast (2.191 ms) : 2129, 2252
.   : milestone, 2191,
iast_GLOBAL (2.24 ms) : 2177, 2302
.   : milestone, 2240,
profiling (2.053 ms) : 2003, 2102
.   : milestone, 2053,
tracing (2.025 ms) : 1977, 2072
.   : milestone, 2025,
section candidate
no_agent (1.485 ms) : 1473, 1496
.   : milestone, 1485,
appsec (2.421 ms) : 2372, 2470
.   : milestone, 2421,
iast (2.203 ms) : 2142, 2265
.   : milestone, 2203,
iast_GLOBAL (2.24 ms) : 2178, 2302
.   : milestone, 2240,
profiling (2.044 ms) : 1995, 2094
.   : milestone, 2044,
tracing (2.032 ms) : 1984, 2080
.   : milestone, 2032,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.487 ms [1.475 ms, 1.498 ms] -
appsec 2.414 ms [2.365 ms, 2.462 ms] 926.814 µs (62.3%)
iast 2.191 ms [2.129 ms, 2.252 ms] 703.821 µs (47.3%)
iast_GLOBAL 2.24 ms [2.177 ms, 2.302 ms] 752.911 µs (50.6%)
profiling 2.053 ms [2.003 ms, 2.102 ms] 565.768 µs (38.1%)
tracing 2.025 ms [1.977 ms, 2.072 ms] 538.158 µs (36.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.485 ms [1.473 ms, 1.496 ms] -
appsec 2.421 ms [2.372 ms, 2.47 ms] 936.26 µs (63.1%)
iast 2.203 ms [2.142 ms, 2.265 ms] 718.653 µs (48.4%)
iast_GLOBAL 2.24 ms [2.178 ms, 2.302 ms] 755.17 µs (50.9%)
profiling 2.044 ms [1.995 ms, 2.094 ms] 559.7 µs (37.7%)
tracing 2.032 ms [1.984 ms, 2.08 ms] 547.274 µs (36.9%)

@ygree ygree self-assigned this May 14, 2025
@ygree ygree added inst: others All other instrumentations tag: breaking change Breaking changes and removed inst: servicetalk labels May 14, 2025
@ygree ygree force-pushed the ygree/servicetalk-concurrent-instrumentation-0.42.56 branch from e1e7f85 to 23b0ecf Compare May 14, 2025 21:14
@ygree ygree force-pushed the ygree/servicetalk-concurrent-instrumentation-0.42.56 branch from 8d635f2 to 2ea0cec Compare May 15, 2025 00:00
@ygree ygree added this to the 1.50.0 milestone May 15, 2025
@ygree ygree added type: enhancement Enhancements and improvements and removed tag: breaking change Breaking changes labels May 15, 2025
@ygree ygree changed the title ServiceTalk concurrent instrumentation 0.42.56+ ServiceTalk Captured Context API Instrumentation for v0.42.56+ May 15, 2025
@ygree ygree marked this pull request as ready for review May 15, 2025 00:09
@ygree ygree requested review from a team as code owners May 15, 2025 00:09
@ygree ygree requested a review from smola May 15, 2025 00:09
@ygree ygree force-pushed the ygree/servicetalk-concurrent-instrumentation-0.42.56 branch from e7a0fca to d8ad4d6 Compare May 15, 2025 18:28
@ygree ygree enabled auto-merge (squash) May 15, 2025 18:58
@smola smola requested review from a team and dougqh and removed request for a team and smola May 20, 2025 13:15
@ygree ygree requested a review from amarziali May 21, 2025 12:52
Copy link
Contributor

@amarziali amarziali left a comment

Choose a reason for hiding this comment

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

looks good.

@ygree ygree force-pushed the ygree/servicetalk-concurrent-instrumentation-0.42.56 branch from 1b4a8c1 to 5c2f307 Compare May 23, 2025 09:13
@ygree ygree merged commit d8d6af0 into master Jun 2, 2025
506 of 507 checks passed
@ygree ygree deleted the ygree/servicetalk-concurrent-instrumentation-0.42.56 branch June 2, 2025 18:12
@PerfectSlayer PerfectSlayer changed the title ServiceTalk Captured Context API Instrumentation for v0.42.56+ Improve ServiceTalk Captured Context API Instrumentation for v0.42.56+ Jun 20, 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: enhancement Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants