Skip to content

Conversation

AlexeyKuznetsov-DD
Copy link
Contributor

What Does This Do

Move JSON generation to sender thread to improve startup time.

Motivation

Improve agent startup time by offloading JSON generation to separate thread.

@AlexeyKuznetsov-DD AlexeyKuznetsov-DD self-assigned this Jul 17, 2025
@AlexeyKuznetsov-DD AlexeyKuznetsov-DD added type: enhancement Enhancements and improvements comp: core Tracer core labels Jul 17, 2025
@pr-commenter
Copy link

pr-commenter bot commented Jul 17, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master alexeyk/move-json-to-thread
git_commit_date 1753495834 1753496152
git_commit_sha bd88ddc 87eebc4
release_version 1.51.1-SNAPSHOT~bd88ddce7a 1.51.1-SNAPSHOT~87eebc46ec
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1753497924 1753497924
ci_job_id 1049184174 1049184174
ci_pipeline_id 71800799 71800799
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-1-zmaefjoz 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-1-zmaefjoz 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None

Summary

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

Startup time reports for insecure-bank
gantt title insecure-bank - global startup overhead: candidate=1.51.1-SNAPSHOT~87eebc46ec, baseline=1.51.1-SNAPSHOT~bd88ddce7a dateFormat X axisFormat %s section tracing Agent [baseline] (1.044 s) : 0, 1044303 Total [baseline] (8.623 s) : 0, 8623070 Agent [candidate] (1.047 s) : 0, 1046973 Total [candidate] (8.618 s) : 0, 8618111 section iast Agent [baseline] (1.181 s) : 0, 1181450 Total [baseline] (9.33 s) : 0, 9329766 Agent [candidate] (1.174 s) : 0, 1174207 Total [candidate] (9.312 s) : 0, 9312353 
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.044 s -
Agent iast 1.181 s 137.147 ms (13.1%)
Total tracing 8.623 s -
Total iast 9.33 s 706.696 ms (8.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.047 s -
Agent iast 1.174 s 127.233 ms (12.2%)
Total tracing 8.618 s -
Total iast 9.312 s 694.242 ms (8.1%)
gantt title insecure-bank - break down per module: candidate=1.51.1-SNAPSHOT~87eebc46ec, baseline=1.51.1-SNAPSHOT~bd88ddce7a dateFormat X axisFormat %s section tracing crashtracking [baseline] (1.43 ms) : 0, 1430 crashtracking [candidate] (1.439 ms) : 0, 1439 BytebuddyAgent [baseline] (731.642 ms) : 0, 731642 BytebuddyAgent [candidate] (731.325 ms) : 0, 731325 GlobalTracer [baseline] (242.99 ms) : 0, 242990 GlobalTracer [candidate] (243.025 ms) : 0, 243025 AppSec [baseline] (30.562 ms) : 0, 30562 AppSec [candidate] (30.668 ms) : 0, 30668 Debugger [baseline] (6.085 ms) : 0, 6085 Debugger [candidate] (6.068 ms) : 0, 6068 Remote Config [baseline] (648.625 µs) : 0, 649 Remote Config [candidate] (658.814 µs) : 0, 659 Telemetry [baseline] (9.958 ms) : 0, 9958 Telemetry [candidate] (12.654 ms) : 0, 12654 section iast crashtracking [baseline] (1.44 ms) : 0, 1440 crashtracking [candidate] (1.432 ms) : 0, 1432 BytebuddyAgent [baseline] (853.65 ms) : 0, 853650 BytebuddyAgent [candidate] (848.3 ms) : 0, 848300 GlobalTracer [baseline] (232.678 ms) : 0, 232678 GlobalTracer [candidate] (231.389 ms) : 0, 231389 IAST [baseline] (30.733 ms) : 0, 30733 IAST [candidate] (30.509 ms) : 0, 30509 AppSec [baseline] (26.453 ms) : 0, 26453 AppSec [candidate] (26.287 ms) : 0, 26287 Debugger [baseline] (6.747 ms) : 0, 6747 Debugger [candidate] (6.694 ms) : 0, 6694 Remote Config [baseline] (586.188 µs) : 0, 586 Remote Config [candidate] (597.7 µs) : 0, 598 Telemetry [baseline] (8.124 ms) : 0, 8124 Telemetry [candidate] (8.108 ms) : 0, 8108 
Loading
Startup time reports for petclinic
gantt title petclinic - global startup overhead: candidate=1.51.1-SNAPSHOT~87eebc46ec, baseline=1.51.1-SNAPSHOT~bd88ddce7a dateFormat X axisFormat %s section tracing Agent [baseline] (1.046 s) : 0, 1045782 Total [baseline] (10.792 s) : 0, 10792418 Agent [candidate] (1.047 s) : 0, 1046850 Total [candidate] (10.752 s) : 0, 10751872 section appsec Agent [baseline] (1.232 s) : 0, 1231632 Total [baseline] (10.866 s) : 0, 10866147 Agent [candidate] (1.234 s) : 0, 1233786 Total [candidate] (10.817 s) : 0, 10816780 section iast Agent [baseline] (1.178 s) : 0, 1177900 Total [baseline] (10.844 s) : 0, 10844128 Agent [candidate] (1.175 s) : 0, 1174948 Total [candidate] (10.894 s) : 0, 10894434 section profiling Agent [baseline] (1.2 s) : 0, 1199615 Total [baseline] (10.999 s) : 0, 10999102 Agent [candidate] (1.19 s) : 0, 1190361 Total [candidate] (10.925 s) : 0, 10925407 
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.046 s -
Agent appsec 1.232 s 185.85 ms (17.8%)
Agent iast 1.178 s 132.118 ms (12.6%)
Agent profiling 1.2 s 153.833 ms (14.7%)
Total tracing 10.792 s -
Total appsec 10.866 s 73.728 ms (0.7%)
Total iast 10.844 s 51.709 ms (0.5%)
Total profiling 10.999 s 206.683 ms (1.9%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.047 s -
Agent appsec 1.234 s 186.936 ms (17.9%)
Agent iast 1.175 s 128.097 ms (12.2%)
Agent profiling 1.19 s 143.511 ms (13.7%)
Total tracing 10.752 s -
Total appsec 10.817 s 64.907 ms (0.6%)
Total iast 10.894 s 142.562 ms (1.3%)
Total profiling 10.925 s 173.535 ms (1.6%)
gantt title petclinic - break down per module: candidate=1.51.1-SNAPSHOT~87eebc46ec, baseline=1.51.1-SNAPSHOT~bd88ddce7a dateFormat X axisFormat %s section tracing crashtracking [baseline] (1.429 ms) : 0, 1429 crashtracking [candidate] (1.435 ms) : 0, 1435 BytebuddyAgent [baseline] (731.077 ms) : 0, 731077 BytebuddyAgent [candidate] (733.075 ms) : 0, 733075 GlobalTracer [baseline] (241.847 ms) : 0, 241847 GlobalTracer [candidate] (242.604 ms) : 0, 242604 AppSec [baseline] (30.442 ms) : 0, 30442 AppSec [candidate] (30.534 ms) : 0, 30534 Debugger [baseline] (6.049 ms) : 0, 6049 Debugger [candidate] (6.083 ms) : 0, 6083 Remote Config [baseline] (648.232 µs) : 0, 648 Remote Config [candidate] (657.77 µs) : 0, 658 Telemetry [baseline] (13.3 ms) : 0, 13300 Telemetry [candidate] (10.612 ms) : 0, 10612 section appsec crashtracking [baseline] (1.459 ms) : 0, 1459 crashtracking [candidate] (1.461 ms) : 0, 1461 BytebuddyAgent [baseline] (761.131 ms) : 0, 761131 BytebuddyAgent [candidate] (762.207 ms) : 0, 762207 GlobalTracer [baseline] (237.606 ms) : 0, 237606 GlobalTracer [candidate] (237.362 ms) : 0, 237362 AppSec [baseline] (169.169 ms) : 0, 169169 AppSec [candidate] (169.479 ms) : 0, 169479 Debugger [baseline] (7.908 ms) : 0, 7908 Debugger [candidate] (8.722 ms) : 0, 8722 Remote Config [baseline] (628.065 µs) : 0, 628 Remote Config [candidate] (626.557 µs) : 0, 627 Telemetry [baseline] (8.288 ms) : 0, 8288 Telemetry [candidate] (8.425 ms) : 0, 8425 IAST [baseline] (23.926 ms) : 0, 23926 IAST [candidate] (23.963 ms) : 0, 23963 section iast crashtracking [baseline] (1.432 ms) : 0, 1432 crashtracking [candidate] (1.433 ms) : 0, 1433 BytebuddyAgent [baseline] (850.045 ms) : 0, 850045 BytebuddyAgent [candidate] (847.86 ms) : 0, 847860 GlobalTracer [baseline] (234.151 ms) : 0, 234151 GlobalTracer [candidate] (232.058 ms) : 0, 232058 AppSec [baseline] (29.066 ms) : 0, 29066 AppSec [candidate] (25.692 ms) : 0, 25692 Debugger [baseline] (6.727 ms) : 0, 6727 Debugger [candidate] (7.566 ms) : 0, 7566 Remote Config [baseline] (595.427 µs) : 0, 595 Remote Config [candidate] (582.891 µs) : 0, 583 Telemetry [baseline] (8.119 ms) : 0, 8119 Telemetry [candidate] (8.17 ms) : 0, 8170 IAST [baseline] (26.594 ms) : 0, 26594 IAST [candidate] (30.56 ms) : 0, 30560 section profiling ProfilingAgent [baseline] (110.279 ms) : 0, 110279 ProfilingAgent [candidate] (108.692 ms) : 0, 108692 crashtracking [baseline] (1.405 ms) : 0, 1405 crashtracking [candidate] (1.399 ms) : 0, 1399 BytebuddyAgent [baseline] (763.681 ms) : 0, 763681 BytebuddyAgent [candidate] (758.245 ms) : 0, 758245 GlobalTracer [baseline] (221.668 ms) : 0, 221668 GlobalTracer [candidate] (220.235 ms) : 0, 220235 AppSec [baseline] (30.681 ms) : 0, 30681 AppSec [candidate] (30.2 ms) : 0, 30200 Debugger [baseline] (6.287 ms) : 0, 6287 Debugger [candidate] (6.281 ms) : 0, 6281 Remote Config [baseline] (721.774 µs) : 0, 722 Remote Config [candidate] (687.577 µs) : 0, 688 Telemetry [baseline] (15.313 ms) : 0, 15313 Telemetry [candidate] (15.437 ms) : 0, 15437 Profiling [baseline] (110.919 ms) : 0, 110919 Profiling [candidate] (109.324 ms) : 0, 109324 
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master alexeyk/move-json-to-thread
git_commit_date 1753495834 1753496152
git_commit_sha bd88ddc 87eebc4
release_version 1.51.1-SNAPSHOT~bd88ddce7a 1.51.1-SNAPSHOT~87eebc46ec
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1753497594 1753497594
ci_job_id 1049184175 1049184175
ci_pipeline_id 71800799 71800799
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-2-567bm1d4 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-2-567bm1d4 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 3 performance regressions! Performance is the same for 8 metrics, 12 unstable metrics.

scenario Δ mean http_req_duration Δ mean throughput candidate mean http_req_duration candidate mean throughput baseline mean http_req_duration baseline mean throughput
scenario:load:petclinic:code_origins:high_load worse
[+2.637ms; +3.485ms] or [+5.951%; +7.865%]
unstable
[-12.531op/s; +1.433op/s] or [-11.861%; +1.357%]
47.369ms 100.101op/s 44.308ms 105.650op/s
scenario:load:petclinic:appsec:high_load worse
[+1.118ms; +2.013ms] or [+2.424%; +4.366%]
unstable
[-9.013op/s; +4.872op/s] or [-8.883%; +4.802%]
47.676ms 99.392op/s 46.111ms 101.463op/s
scenario:load:petclinic:no_agent:high_load better
[-2.160ms; -1.509ms] or [-5.751%; -4.018%]
unstable
[-2.793op/s; +15.493op/s] or [-2.243%; +12.442%]
35.723ms 130.875op/s 37.558ms 124.525op/s
scenario:load:petclinic:profiling:high_load worse
[+2.017ms; +2.979ms] or [+4.321%; +6.380%]
unstable
[-10.597op/s; +2.882op/s] or [-10.572%; +2.875%]
49.184ms 96.380op/s 46.686ms 100.237op/s
Request duration reports for petclinic
gantt title petclinic - request duration [CI 0.99] : candidate=1.51.1-SNAPSHOT~87eebc46ec, baseline=1.51.1-SNAPSHOT~bd88ddce7a dateFormat X axisFormat %s section baseline no_agent (37.558 ms) : 37244, 37872 . : milestone, 37558, appsec (46.111 ms) : 45699, 46523 . : milestone, 46111, code_origins (44.308 ms) : 43934, 44682 . : milestone, 44308, iast (43.245 ms) : 42879, 43610 . : milestone, 43245, profiling (46.686 ms) : 46248, 47125 . : milestone, 46686, tracing (44.223 ms) : 43852, 44594 . : milestone, 44223, section candidate no_agent (35.723 ms) : 35433, 36014 . : milestone, 35723, appsec (47.676 ms) : 47256, 48096 . : milestone, 47676, code_origins (47.369 ms) : 46956, 47782 . : milestone, 47369, iast (44.469 ms) : 44098, 44841 . : milestone, 44469, profiling (49.184 ms) : 48730, 49639 . : milestone, 49184, tracing (45.267 ms) : 44884, 45649 . : milestone, 45267, 
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 37.558 ms [37.244 ms, 37.872 ms] -
appsec 46.111 ms [45.699 ms, 46.523 ms] 8.553 ms (22.8%)
code_origins 44.308 ms [43.934 ms, 44.682 ms] 6.75 ms (18.0%)
iast 43.245 ms [42.879 ms, 43.61 ms] 5.687 ms (15.1%)
profiling 46.686 ms [46.248 ms, 47.125 ms] 9.128 ms (24.3%)
tracing 44.223 ms [43.852 ms, 44.594 ms] 6.665 ms (17.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 35.723 ms [35.433 ms, 36.014 ms] -
appsec 47.676 ms [47.256 ms, 48.096 ms] 11.953 ms (33.5%)
code_origins 47.369 ms [46.956 ms, 47.782 ms] 11.645 ms (32.6%)
iast 44.469 ms [44.098 ms, 44.841 ms] 8.746 ms (24.5%)
profiling 49.184 ms [48.73 ms, 49.639 ms] 13.461 ms (37.7%)
tracing 45.267 ms [44.884 ms, 45.649 ms] 9.543 ms (26.7%)
Request duration reports for insecure-bank
gantt title insecure-bank - request duration [CI 0.99] : candidate=1.51.1-SNAPSHOT~87eebc46ec, baseline=1.51.1-SNAPSHOT~bd88ddce7a dateFormat X axisFormat %s section baseline no_agent (4.25 ms) : 4201, 4299 . : milestone, 4250, iast (9.315 ms) : 9158, 9472 . : milestone, 9315, iast_FULL (13.703 ms) : 13431, 13976 . : milestone, 13703, iast_GLOBAL (9.98 ms) : 9803, 10158 . : milestone, 9980, profiling (8.997 ms) : 8850, 9144 . : milestone, 8997, tracing (7.513 ms) : 7400, 7627 . : milestone, 7513, section candidate no_agent (4.294 ms) : 4237, 4351 . : milestone, 4294, iast (9.316 ms) : 9163, 9469 . : milestone, 9316, iast_FULL (14.096 ms) : 13815, 14378 . : milestone, 14096, iast_GLOBAL (9.921 ms) : 9749, 10094 . : milestone, 9921, profiling (9.102 ms) : 8960, 9243 . : milestone, 9102, tracing (7.443 ms) : 7334, 7551 . : milestone, 7443, 
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.25 ms [4.201 ms, 4.299 ms] -
iast 9.315 ms [9.158 ms, 9.472 ms] 5.065 ms (119.2%)
iast_FULL 13.703 ms [13.431 ms, 13.976 ms] 9.454 ms (222.4%)
iast_GLOBAL 9.98 ms [9.803 ms, 10.158 ms] 5.731 ms (134.8%)
profiling 8.997 ms [8.85 ms, 9.144 ms] 4.747 ms (111.7%)
tracing 7.513 ms [7.4 ms, 7.627 ms] 3.263 ms (76.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.294 ms [4.237 ms, 4.351 ms] -
iast 9.316 ms [9.163 ms, 9.469 ms] 5.022 ms (116.9%)
iast_FULL 14.096 ms [13.815 ms, 14.378 ms] 9.802 ms (228.3%)
iast_GLOBAL 9.921 ms [9.749 ms, 10.094 ms] 5.627 ms (131.0%)
profiling 9.102 ms [8.96 ms, 9.243 ms] 4.808 ms (112.0%)
tracing 7.443 ms [7.334 ms, 7.551 ms] 3.149 ms (73.3%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master alexeyk/move-json-to-thread
git_commit_date 1753495834 1753496152
git_commit_sha bd88ddc 87eebc4
release_version 1.51.1-SNAPSHOT~bd88ddce7a 1.51.1-SNAPSHOT~87eebc46ec
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1753498041 1753498041
ci_job_id 1049184176 1049184176
ci_pipeline_id 71800799 71800799
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-2-6w3xjf1n 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-2-6w3xjf1n 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.51.1-SNAPSHOT~87eebc46ec, baseline=1.51.1-SNAPSHOT~bd88ddce7a dateFormat X axisFormat %s section baseline no_agent (15.67 s) : 15670000, 15670000 . : milestone, 15670000, appsec (14.599 s) : 14599000, 14599000 . : milestone, 14599000, iast (18.704 s) : 18704000, 18704000 . : milestone, 18704000, iast_GLOBAL (18.091 s) : 18091000, 18091000 . : milestone, 18091000, profiling (15.32 s) : 15320000, 15320000 . : milestone, 15320000, tracing (14.904 s) : 14904000, 14904000 . : milestone, 14904000, section candidate no_agent (15.411 s) : 15411000, 15411000 . : milestone, 15411000, appsec (15.118 s) : 15118000, 15118000 . : milestone, 15118000, iast (18.644 s) : 18644000, 18644000 . : milestone, 18644000, iast_GLOBAL (18.294 s) : 18294000, 18294000 . : milestone, 18294000, profiling (15.354 s) : 15354000, 15354000 . : milestone, 15354000, tracing (14.939 s) : 14939000, 14939000 . : milestone, 14939000, 
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.67 s [15.67 s, 15.67 s] -
appsec 14.599 s [14.599 s, 14.599 s] -1.071 s (-6.8%)
iast 18.704 s [18.704 s, 18.704 s] 3.034 s (19.4%)
iast_GLOBAL 18.091 s [18.091 s, 18.091 s] 2.421 s (15.4%)
profiling 15.32 s [15.32 s, 15.32 s] -350.0 ms (-2.2%)
tracing 14.904 s [14.904 s, 14.904 s] -766.0 ms (-4.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.411 s [15.411 s, 15.411 s] -
appsec 15.118 s [15.118 s, 15.118 s] -293.0 ms (-1.9%)
iast 18.644 s [18.644 s, 18.644 s] 3.233 s (21.0%)
iast_GLOBAL 18.294 s [18.294 s, 18.294 s] 2.883 s (18.7%)
profiling 15.354 s [15.354 s, 15.354 s] -57.0 ms (-0.4%)
tracing 14.939 s [14.939 s, 14.939 s] -472.0 ms (-3.1%)
Execution time for tomcat
gantt title tomcat - execution time [CI 0.99] : candidate=1.51.1-SNAPSHOT~87eebc46ec, baseline=1.51.1-SNAPSHOT~bd88ddce7a dateFormat X axisFormat %s section baseline no_agent (1.474 ms) : 1463, 1486 . : milestone, 1474, appsec (3.583 ms) : 3370, 3797 . : milestone, 3583, iast (2.209 ms) : 2146, 2272 . : milestone, 2209, iast_GLOBAL (2.242 ms) : 2179, 2305 . : milestone, 2242, profiling (2.031 ms) : 1981, 2081 . : milestone, 2031, tracing (2.016 ms) : 1968, 2065 . : milestone, 2016, section candidate no_agent (1.479 ms) : 1467, 1490 . : milestone, 1479, appsec (3.649 ms) : 3432, 3865 . : milestone, 3649, iast (2.205 ms) : 2141, 2268 . : milestone, 2205, iast_GLOBAL (2.233 ms) : 2171, 2296 . : milestone, 2233, profiling (2.036 ms) : 1986, 2086 . : milestone, 2036, tracing (2.008 ms) : 1959, 2057 . : milestone, 2008, 
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.474 ms [1.463 ms, 1.486 ms] -
appsec 3.583 ms [3.37 ms, 3.797 ms] 2.109 ms (143.0%)
iast 2.209 ms [2.146 ms, 2.272 ms] 734.862 µs (49.8%)
iast_GLOBAL 2.242 ms [2.179 ms, 2.305 ms] 767.353 µs (52.0%)
profiling 2.031 ms [1.981 ms, 2.081 ms] 556.94 µs (37.8%)
tracing 2.016 ms [1.968 ms, 2.065 ms] 541.945 µs (36.8%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.479 ms [1.467 ms, 1.49 ms] -
appsec 3.649 ms [3.432 ms, 3.865 ms] 2.17 ms (146.8%)
iast 2.205 ms [2.141 ms, 2.268 ms] 726.01 µs (49.1%)
iast_GLOBAL 2.233 ms [2.171 ms, 2.296 ms] 754.853 µs (51.1%)
profiling 2.036 ms [1.986 ms, 2.086 ms] 557.499 µs (37.7%)
tracing 2.008 ms [1.959 ms, 2.057 ms] 529.594 µs (35.8%)
@AlexeyKuznetsov-DD AlexeyKuznetsov-DD marked this pull request as ready for review July 17, 2025 21:03
@AlexeyKuznetsov-DD AlexeyKuznetsov-DD requested a review from a team as a code owner July 17, 2025 21:03
Copy link
Contributor

@PerfectSlayer PerfectSlayer left a comment

Choose a reason for hiding this comment

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

Good improvement idea!
I left minor comments. I also wonder if we should start creating a dedicated class for meta and points and enjoy it to create a dedicated setResult() and toJson() method.

@AlexeyKuznetsov-DD
Copy link
Contributor Author

Good improvement idea! I left minor comments. I also wonder if we should start creating a dedicated class for meta and points and enjoy it to create a dedicated setResult() and toJson() method.

Yes, I have the same feeling. Will work on this idea.

Copy link
Contributor

@PerfectSlayer PerfectSlayer left a comment

Choose a reason for hiding this comment

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

Looking good thanks! 👍

Nice to see all the synchronized moved into the Telemetry class.

@AlexeyKuznetsov-DD AlexeyKuznetsov-DD merged commit 7d20566 into master Jul 26, 2025
671 of 672 checks passed
@AlexeyKuznetsov-DD AlexeyKuznetsov-DD deleted the alexeyk/move-json-to-thread branch July 26, 2025 17:41
@github-actions github-actions bot added this to the 1.52.0 milestone Jul 26, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Aug 5, 2025
| Package | Type | Package file | Manager | Update | Change | |---|---|---|---|---|---| | [redis.clients:jedis](https://github.com/redis/jedis) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `6.0.0` -> `6.1.0` | | [com.google.api.grpc:proto-google-common-protos](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.59.2` -> `2.60.0` | | [com.google.cloud:google-cloud-core-http](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.58.2` -> `2.59.0` | | [com.google.cloud:google-cloud-core](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.58.2` -> `2.59.0` | | [com.google.api:gax](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.68.2` -> `2.69.0` | | [com.squareup.wire](https://github.com/square/wire) | plugin | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-schema](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-runtime](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-reflector](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-moshi-adapter](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-grpc-client](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-bom](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.51.2` -> `1.52.0` | | [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:regions](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | --- ### Release Notes <details> <summary>redis/jedis (redis.clients:jedis)</summary> ### [`v6.1.0`](https://github.com/redis/jedis/releases/tag/v6.1.0): 6.1.0 ### Changes #### 🚀 New Features - Add support for SVS-VAMANA vector indexing ([#&#8203;4222](redis/jedis#4222)) - Clarify why new stream entries aren't deleted with XDELEX ([#&#8203;4218](redis/jedis#4218)) - Add support for new stream commands ([#&#8203;4211](redis/jedis#4211)) - Add Support for New BITOP Operations in Redis 8.2 ([#&#8203;4188](redis/jedis#4188)) ([#&#8203;4190](redis/jedis#4190)) - Add binary stream support for XREAD and XREADGROUP ([#&#8203;3566](redis/jedis#3566)) ([#&#8203;4152](redis/jedis#4152)) - Run pipeline in current thread if all the keys on same node ([#&#8203;4149](redis/jedis#4149)) #### 🐛 Bug Fixes - Restore binary compatibility of SetParams ([#&#8203;4225](redis/jedis#4225)) - Fix memory leak in JedisClusterInfoCache - replica nodes not cleared ([#&#8203;4205](redis/jedis#4205)) - Fix:JedisCluster throws NullPointerException when maxAttempts is set to 0 ([#&#8203;4186](redis/jedis#4186)) #### 🧰 Maintenance - DOC-5471 time series doc examples ([#&#8203;4210](redis/jedis#4210)) - Bump jackson.version from 2.19.1 to 2.19.2 ([#&#8203;4208](redis/jedis#4208)) - Fix flaky test ClientCommandsTest.killSkipmeYesNo ([#&#8203;4206](redis/jedis#4206)) - Bump org.junit:junit-bom from 5.13.2 to 5.13.3 ([#&#8203;4198](redis/jedis#4198)) - Migrate publishing to Maven Central Portal ([#&#8203;4199](redis/jedis#4199)) - Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.7 to 3.2.8 ([#&#8203;4197](redis/jedis#4197)) - Bump org.junit:junit-bom from 5.13.1 to 5.13.2 ([#&#8203;4192](redis/jedis#4192)) - DOC-5227 added probabilistic data type examples ([#&#8203;4184](redis/jedis#4184)) - Bump jackson.version from 2.19.0 to 2.19.1 ([#&#8203;4180](redis/jedis#4180)) - Update test infra to use latest Redis ([#&#8203;4179](redis/jedis#4179)) - Bump org.junit:junit-bom from 5.13.0-RC1 to 5.13.1 ([#&#8203;4174](redis/jedis#4174)) - Bump org.json:json from [`2025010`](redis/jedis@20250107) to [`2025051`](redis/jedis@20250517) ([#&#8203;4171](redis/jedis#4171)) - Bump org.apache.httpcomponents.client5:httpclient5-fluent from 5.4.4 to 5.5 ([#&#8203;4170](redis/jedis#4170)) - Fix flaky tests in DocumentTest ([#&#8203;3617](redis/jedis#3617)) - Add retryable command execution example ([#&#8203;3780](redis/jedis#3780)) - Bump jackson.version from 2.18.3 to 2.19.0 ([#&#8203;4160](redis/jedis#4160)) - Bump com.google.code.gson:gson from 2.12.1 to 2.13.1 ([#&#8203;4161](redis/jedis#4161)) #### Contributors We'd like to thank all the contributors who worked on this release! [@&#8203;219sansim](https://github.com/219sansim), [@&#8203;YoHanKi](https://github.com/YoHanKi), [@&#8203;andy-stark-redis](https://github.com/andy-stark-redis), [@&#8203;ggivo](https://github.com/ggivo), [@&#8203;jujn](https://github.com/jujn), [@&#8203;thachlp](https://github.com/thachlp), [@&#8203;uglide](https://github.com/uglide) and [@&#8203;xrayw](https://github.com/xrayw) </details> <details> <summary>googleapis/sdk-platform-java (com.google.api.grpc:proto-google-common-protos)</summary> ### [`v2.60.0`](https://github.com/googleapis/sdk-platform-java/blob/HEAD/CHANGELOG.md#2600-2025-06-23) ##### Features - handle auto pagination for BigQuery v2 ([#&#8203;3829](googleapis/sdk-platform-java#3829)) ([025c84c](googleapis/sdk-platform-java@025c84c)) ##### Dependencies - update google auth library dependencies to v1.37.1 ([#&#8203;3846](googleapis/sdk-platform-java#3846)) ([ea1d9e5](googleapis/sdk-platform-java@ea1d9e5)) - update google http client dependencies to v1.47.1 ([#&#8203;3848](googleapis/sdk-platform-java#3848)) ([a9a39d7](googleapis/sdk-platform-java@a9a39d7)) </details> <details> <summary>square/wire (com.squareup.wire)</summary> ### [`v5.3.6`](https://github.com/square/wire/blob/HEAD/CHANGELOG.md#Version-536) [Compare Source](square/wire@5.3.5...5.3.6) *2025-08-05* ##### CLI - New CLI option `--ignore_unused_roots_and_prunes` ([#&#8203;3354](square/wire#3354)) ##### JVM - Fix: Handle negative hexadecimal in default values ([#&#8203;3355](square/wire#3355)) - Optimization: Avoid copying of repeated and map types when mutableTypes are being used ([#&#8203;3352](square/wire#3352) by \[Rahul Ravikumar]\[tikurahul]) ##### Swift - Fix: Properly disambiguate OneOf enum if it has the same name as enclosing type ([#&#8203;3350](square/wire#3350) by \[Dimitris Koutsogiorgas]\[dnkoutso]) </details> <details> <summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary> ### [`v1.52.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.52.0): 1.52.0 ### Components #### Application Security Management (WAF) - ✨ Only report ASM\_DD, ASM\_DATA and ASM capabilities when AppSec is enabled ([#&#8203;9260](DataDog/dd-trace-java#9260) - [@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - 🐛 Fix NPE in AppSecConfigServiceImpl ([#&#8203;9165](DataDog/dd-trace-java#9165) - [@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - 🐛 Fix AppSec play.mvc.StatusHeader instrumentation for play 2.6 ([#&#8203;9160](DataDog/dd-trace-java#9160) - [@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) #### Build & Tooling - ✨📖 Automatically register crashtracking via native extensions ([#&#8203;8851](DataDog/dd-trace-java#8851) - [@&#8203;MattAlp](https://github.com/MattAlp)) #### Configuration at Runtime - ✨ Create activation origin config for telemetry ([#&#8203;9064](DataDog/dd-trace-java#9064) - [@&#8203;sezen-datadog](https://github.com/sezen-datadog)) #### Continuous Integration Visibility - ✨ Update GitLab provided tags ([#&#8203;9275](DataDog/dd-trace-java#9275) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano)) - 🐛 Fix base branch SHA usage in GitHub Actions ([#&#8203;9257](DataDog/dd-trace-java#9257) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Add `ci.job.id` tag ([#&#8203;9256](DataDog/dd-trace-java#9256) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Add new org to Weaver instrumentation ([#&#8203;9235](DataDog/dd-trace-java#9235) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano) - thanks for the contribution!) - ✨ Improve Git commit info building ([#&#8203;9210](DataDog/dd-trace-java#9210) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Update Attempt to Fix to v5 ([#&#8203;9145](DataDog/dd-trace-java#9145) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano)) #### Crash tracking - ✨📖 Automatically register crashtracking via native extensions ([#&#8203;8851](DataDog/dd-trace-java#8851) - [@&#8203;MattAlp](https://github.com/MattAlp)) #### Data Streams Monitoring - ✨ Reduce DSM CPU overheard ([#&#8203;9151](DataDog/dd-trace-java#9151) - [@&#8203;kr-igor](https://github.com/kr-igor)) - ✨⚡ DSM optimizations for high throughput scenarios ([#&#8203;9137](DataDog/dd-trace-java#9137) - [@&#8203;kr-igor](https://github.com/kr-igor)) #### Database Monitoring - 🐛 Fix duplicate trace injection for SQL Server and Oracle DBM full propagation mode ([#&#8203;9224](DataDog/dd-trace-java#9224) - [@&#8203;lu-zhengda](https://github.com/lu-zhengda)) #### Dynamic Instrumentation - 🐛 Add URI in string primitives ([#&#8203;9285](DataDog/dd-trace-java#9285) - [@&#8203;jpbempel](https://github.com/jpbempel)) - ✨ Increase SourceFile tracking max queue size ([#&#8203;9271](DataDog/dd-trace-java#9271) - [@&#8203;jpbempel](https://github.com/jpbempel)) - ✨ Add capping on SourceFile tracking queue ([#&#8203;9245](DataDog/dd-trace-java#9245) - [@&#8203;jpbempel](https://github.com/jpbempel)) - ✨ Add third-party filtering in SourceFile tracking ([#&#8203;9205](DataDog/dd-trace-java#9205) - [@&#8203;jpbempel](https://github.com/jpbempel)) #### ML Observability (LLMObs) - ✨ Add methods to capture embedding and retrieval spans ([#&#8203;9297](DataDog/dd-trace-java#9297) - [@&#8203;nayeem-kamal](https://github.com/nayeem-kamal)) #### Metrics - ✨ Change primary client stats configuration key ([#&#8203;9196](DataDog/dd-trace-java#9196) - [@&#8203;amarziali](https://github.com/amarziali)) - ✨ Calculate client stats also if the span kind is eligible ([#&#8203;9157](DataDog/dd-trace-java#9157) - [@&#8203;amarziali](https://github.com/amarziali)) - ✨ Backpropagate peer tags ([#&#8203;9144](DataDog/dd-trace-java#9144) - [@&#8203;bric3](https://github.com/bric3)) - 🐛 Make client stats reliable in case of downgrade ([#&#8203;9136](DataDog/dd-trace-java#9136) - [@&#8203;amarziali](https://github.com/amarziali)) #### Platform components - 🐛 Fix VM options parsing from /proc/fs ([#&#8203;9255](DataDog/dd-trace-java#9255) - [@&#8203;PerfectSlayer](https://github.com/PerfectSlayer)) #### Profiling - ✨ Switch profile compression to zstd default ([#&#8203;9293](DataDog/dd-trace-java#9293) - [@&#8203;jbachorik](https://github.com/jbachorik)) - ✨ Bump ddprof to 1.29.0 ([#&#8203;9262](DataDog/dd-trace-java#9262) - [@&#8203;zhengyu123](https://github.com/zhengyu123)) - Potential memory leak and race with the JVMTI wallclock sampler by [@&#8203;zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#234 - Downport async-profiler no-allocation changes by [@&#8203;zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#245 - Adopt openjdk safefetch by [@&#8203;zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#246 - Safe fetch 64-bit value and pointer by [@&#8203;zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#247 - Rebase on Async-Profiler 4.1 by [@&#8203;jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#252 - Patch upstream stackWalker.cpp not to fail on unaligned access by [@&#8203;jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#218 - Remap thread id to avoid bitmap contention by [@&#8203;zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#229 - Improve performance using Unsafe to activate/deactivate thread filter by [@&#8203;zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#230 - Unify context propagation by [@&#8203;zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#231 - 🐛 Fix the profiler stackdepth setting propagation in recent (22+) Java versions ([#&#8203;9130](DataDog/dd-trace-java#9130) - [@&#8203;jbachorik](https://github.com/jbachorik)) #### Realtime User Monitoring - ✨ Wrap servlet original PrintWriter on rum injector ([#&#8203;9146](DataDog/dd-trace-java#9146) - [@&#8203;amarziali](https://github.com/amarziali)) #### Telemetry - ✨ Create activation origin config for telemetry ([#&#8203;9064](DataDog/dd-trace-java#9064) - [@&#8203;sezen-datadog](https://github.com/sezen-datadog)) #### Tracer core - ✨⚡ Reduce span construction overhead by switching to optimized TagMap ([#&#8203;8589](DataDog/dd-trace-java#8589) - [@&#8203;dougqh](https://github.com/dougqh)) - 🐛 Match Hands Off Config selectors on process\_arguments value ([#&#8203;9201](DataDog/dd-trace-java#9201) - [@&#8203;paullegranddc](https://github.com/paullegranddc)) - ✨ Move JSON generation to sender thread to improve startup time. ([#&#8203;9197](DataDog/dd-trace-java#9197) - [@&#8203;AlexeyKuznetsov-DD](https://github.com/AlexeyKuznetsov-DD)) - ✨ Improve agent to avoid loading global config on main thread ([#&#8203;9190](DataDog/dd-trace-java#9190) - [@&#8203;PerfectSlayer](https://github.com/PerfectSlayer)) - ✨ add injection metadata fields to telemetry forwarder ([#&#8203;9185](DataDog/dd-trace-java#9185) - [@&#8203;sydney-tung](https://github.com/sydney-tung)) - 🐛 Avoid race conditions on feature discovery during Writer creation ([#&#8203;9173](DataDog/dd-trace-java#9173) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Surface potential root cause when agent initialization errors ([#&#8203;9170](DataDog/dd-trace-java#9170) - [@&#8203;AlexeyKuznetsov-DD](https://github.com/AlexeyKuznetsov-DD)) - 💡 Support adding W3C baggage as span tags ([#&#8203;9169](DataDog/dd-trace-java#9169) - [@&#8203;rachelyangdog](https://github.com/rachelyangdog)) - ✨⚡ Align our default classloader excludes with OTel ([#&#8203;9161](DataDog/dd-trace-java#9161) - [@&#8203;mcculls](https://github.com/mcculls)) - ✨ Backpropagate container tags hash coming from the info endpoint ([#&#8203;9156](DataDog/dd-trace-java#9156) - [@&#8203;amarziali](https://github.com/amarziali)) - 🐛 Avoid race conditions and multiple agent discovery feature states ([#&#8203;9135](DataDog/dd-trace-java#9135) - [@&#8203;amarziali](https://github.com/amarziali)) ### Instrumentations #### AWS SDK instrumentation - ✨ Enhance Service Representation for Serverless ([#&#8203;9203](DataDog/dd-trace-java#9203) - [@&#8203;zarirhamza](https://github.com/zarirhamza)) #### gRPC instrumentation - 🐛 Add check to prevent injection of repeated GRPC headers ([#&#8203;9246](DataDog/dd-trace-java#9246) - [@&#8203;mhlidd](https://github.com/mhlidd)) #### JDBC instrumentation - 🐛 Fix duplicate trace injection for SQL Server and Oracle DBM full propagation mode ([#&#8203;9224](DataDog/dd-trace-java#9224) - [@&#8203;lu-zhengda](https://github.com/lu-zhengda)) #### Play Framework instrumentation - 🐛 Fix AppSec play.mvc.StatusHeader instrumentation for play 2.6 ([#&#8203;9160](DataDog/dd-trace-java#9160) - [@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) </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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- 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: 9da36329ffa552291a640381780b608ef6513e29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: core Tracer core type: enhancement Enhancements and improvements

2 participants