Skip to content

Conversation

jpbempel
Copy link
Member

@jpbempel jpbempel commented Jan 13, 2025

What Does This Do

capture of traceId/SpanId was directly instrumented.
it means that every execution of the probe try to fetch from the span
the traceId and the spanId with eventual conversion to make it a
string. While in the end we may have a condition that is not met or
the sampling does not generate a snapshot. which is wasteful.
We just move the capture at the commit time when we are sure to send a
snapshot with these information.

Motivation

optimization

Additional Notes

Contributor Checklist

Jira ticket: DEBUG-2550

@jpbempel jpbempel force-pushed the jpbempel/optim-trace-span-id branch from fb91cfc to e079d65 Compare January 13, 2025 09:35
@pr-commenter
Copy link

pr-commenter bot commented Jan 13, 2025

Debugger benchmarks

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
ci_job_date 1736783052 1736783442
end_time 2025-01-13T15:45:29 2025-01-13T15:51:59
git_branch master jpbempel/optim-trace-span-id
git_commit_sha 9b8eee7 1131b96
start_time 2025-01-13T15:44:13 2025-01-13T15:50:43
See matching parameters
Baseline Candidate
ci_job_id 764004019 764004019
ci_pipeline_id 52831553 52831553
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
git_commit_date 1736782410 1736782410

Summary

Found 5 performance improvements and 0 performance regressions! Performance is the same for 4 metrics, 6 unstable metrics.

scenario Δ mean agg_http_req_duration_min Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p75 Δ mean agg_http_req_duration_p99 Δ mean throughput
scenario:loop better
[-932.867µs; -814.454µs] or [-8.590%; -7.500%]
better
[-949.666µs; -771.296µs] or [-8.612%; -6.994%]
better
[-967.004µs; -752.719µs] or [-8.685%; -6.760%]
better
[-1151.910µs; -652.771µs] or [-9.957%; -5.643%]
better
[+6.272op/s; +8.530op/s] or [+6.994%; +9.511%]
See unchanged results
scenario Δ mean agg_http_req_duration_min Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p75 Δ mean agg_http_req_duration_p99 Δ mean throughput
scenario:noprobe unstable
[-34.719µs; +25.437µs] or [-12.601%; +9.232%]
unstable
[-46.604µs; +37.530µs] or [-14.792%; +11.912%]
unstable
[-58.789µs; +48.356µs] or [-17.798%; +14.640%]
unstable
[-95625.780ns; +96978.936ns] or [-15.994%; +16.221%]
same
scenario:basic same same same unstable
[-34.528µs; +56.033µs] or [-6.590%; +10.694%]
unstable
[-140.415op/s; +140.415op/s] or [-5.617%; +5.617%]
Request duration reports for reports
gantt
    title reports - request duration [CI 0.99] : candidate=None, baseline=None
    dateFormat X
    axisFormat %s
section baseline
noprobe (315.058 µs) : 275, 355
.   : milestone, 315,
basic (313.862 µs) : 304, 323
.   : milestone, 314,
loop (11.028 ms) : 11017, 11038
.   : milestone, 11028,
section candidate
noprobe (310.521 µs) : 271, 350
.   : milestone, 311,
basic (313.797 µs) : 304, 324
.   : milestone, 314,
loop (10.167 ms) : 10050, 10284
.   : milestone, 10167,
Loading
  • baseline results
Scenario Request median duration [CI 0.99]
noprobe 315.058 µs [274.821 µs, 355.295 µs]
basic 313.862 µs [304.348 µs, 323.376 µs]
loop 11.028 ms [11.017 ms, 11.038 ms]
  • candidate results
Scenario Request median duration [CI 0.99]
noprobe 310.521 µs [270.562 µs, 350.48 µs]
basic 313.797 µs [303.559 µs, 324.036 µs]
loop 10.167 ms [10.05 ms, 10.284 ms]

@pr-commenter
Copy link

pr-commenter bot commented Jan 13, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/optim-trace-span-id
git_commit_date 1736782292 1736782410
git_commit_sha 9b8eee7 1131b96
release_version 1.46.0-SNAPSHOT~9b8eee7dae 1.46.0-SNAPSHOT~1131b96154
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1736784778 1736784778
ci_job_id 764004013 764004013
ci_pipeline_id 52831553 52831553
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
module Agent Agent
parent None None
variant iast iast

Summary

Found 1 performance improvements and 0 performance regressions! Performance is the same for 58 metrics, 4 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:insecure-bank:iast:IAST better
[-855.324µs; -430.952µs] or [-3.983%; -2.007%]
20.832ms 21.475ms
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.46.0-SNAPSHOT~1131b96154, baseline=1.46.0-SNAPSHOT~9b8eee7dae

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.055 s) : 0, 1055163
Total [baseline] (10.491 s) : 0, 10491030
Agent [candidate] (1.057 s) : 0, 1056899
Total [candidate] (10.461 s) : 0, 10461418
section appsec
Agent [baseline] (1.195 s) : 0, 1194545
Total [baseline] (10.702 s) : 0, 10701663
Agent [candidate] (1.191 s) : 0, 1191434
Total [candidate] (10.672 s) : 0, 10672380
section iast
Agent [baseline] (1.181 s) : 0, 1181044
Total [baseline] (11.004 s) : 0, 11004009
Agent [candidate] (1.189 s) : 0, 1188586
Total [candidate] (10.951 s) : 0, 10951467
section profiling
Agent [baseline] (1.27 s) : 0, 1270477
Total [baseline] (10.812 s) : 0, 10811509
Agent [candidate] (1.273 s) : 0, 1273138
Total [candidate] (10.853 s) : 0, 10852788
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.055 s -
Agent appsec 1.195 s 139.382 ms (13.2%)
Agent iast 1.181 s 125.881 ms (11.9%)
Agent profiling 1.27 s 215.314 ms (20.4%)
Total tracing 10.491 s -
Total appsec 10.702 s 210.633 ms (2.0%)
Total iast 11.004 s 512.979 ms (4.9%)
Total profiling 10.812 s 320.479 ms (3.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.057 s -
Agent appsec 1.191 s 134.535 ms (12.7%)
Agent iast 1.189 s 131.687 ms (12.5%)
Agent profiling 1.273 s 216.24 ms (20.5%)
Total tracing 10.461 s -
Total appsec 10.672 s 210.962 ms (2.0%)
Total iast 10.951 s 490.049 ms (4.7%)
Total profiling 10.853 s 391.37 ms (3.7%)
gantt
    title petclinic - break down per module: candidate=1.46.0-SNAPSHOT~1131b96154, baseline=1.46.0-SNAPSHOT~9b8eee7dae

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (713.506 ms) : 0, 713506
BytebuddyAgent [candidate] (714.152 ms) : 0, 714152
GlobalTracer [baseline] (256.07 ms) : 0, 256070
GlobalTracer [candidate] (256.131 ms) : 0, 256131
AppSec [baseline] (56.983 ms) : 0, 56983
AppSec [candidate] (55.802 ms) : 0, 55802
Remote Config [baseline] (731.859 µs) : 0, 732
Remote Config [candidate] (716.988 µs) : 0, 717
Telemetry [baseline] (12.913 ms) : 0, 12913
Telemetry [candidate] (15.055 ms) : 0, 15055
section appsec
BytebuddyAgent [baseline] (735.569 ms) : 0, 735569
BytebuddyAgent [candidate] (732.98 ms) : 0, 732980
GlobalTracer [baseline] (254.238 ms) : 0, 254238
GlobalTracer [candidate] (253.82 ms) : 0, 253820
AppSec [baseline] (170.731 ms) : 0, 170731
AppSec [candidate] (170.601 ms) : 0, 170601
IAST [baseline] (19.415 ms) : 0, 19415
IAST [candidate] (19.304 ms) : 0, 19304
Remote Config [baseline] (668.216 µs) : 0, 668
Remote Config [candidate] (673.368 µs) : 0, 673
Telemetry [baseline] (8.551 ms) : 0, 8551
Telemetry [candidate] (8.59 ms) : 0, 8590
section iast
BytebuddyAgent [baseline] (830.608 ms) : 0, 830608
BytebuddyAgent [candidate] (835.559 ms) : 0, 835559
GlobalTracer [baseline] (246.618 ms) : 0, 246618
GlobalTracer [candidate] (248.224 ms) : 0, 248224
AppSec [baseline] (57.97 ms) : 0, 57970
AppSec [candidate] (58.594 ms) : 0, 58594
IAST [baseline] (21.407 ms) : 0, 21407
IAST [candidate] (21.588 ms) : 0, 21588
Remote Config [baseline] (667.847 µs) : 0, 668
Remote Config [candidate] (673.186 µs) : 0, 673
Telemetry [baseline] (8.785 ms) : 0, 8785
Telemetry [candidate] (8.818 ms) : 0, 8818
section profiling
BytebuddyAgent [baseline] (702.542 ms) : 0, 702542
BytebuddyAgent [candidate] (703.95 ms) : 0, 703950
GlobalTracer [baseline] (367.776 ms) : 0, 367776
GlobalTracer [candidate] (368.271 ms) : 0, 368271
AppSec [baseline] (53.885 ms) : 0, 53885
AppSec [candidate] (53.668 ms) : 0, 53668
Remote Config [baseline] (679.01 µs) : 0, 679
Remote Config [candidate] (696.698 µs) : 0, 697
Telemetry [baseline] (8.757 ms) : 0, 8757
Telemetry [candidate] (8.789 ms) : 0, 8789
ProfilingAgent [baseline] (94.939 ms) : 0, 94939
ProfilingAgent [candidate] (95.721 ms) : 0, 95721
Profiling [baseline] (94.963 ms) : 0, 94963
Profiling [candidate] (95.745 ms) : 0, 95745
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.46.0-SNAPSHOT~1131b96154, baseline=1.46.0-SNAPSHOT~9b8eee7dae

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.054 s) : 0, 1053928
Total [baseline] (8.621 s) : 0, 8620528
Agent [candidate] (1.054 s) : 0, 1053713
Total [candidate] (8.636 s) : 0, 8636038
section iast
Agent [baseline] (1.179 s) : 0, 1179448
Total [baseline] (9.211 s) : 0, 9210604
Agent [candidate] (1.18 s) : 0, 1179809
Total [candidate] (9.187 s) : 0, 9187176
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.185 s) : 0, 1185450
Total [baseline] (9.186 s) : 0, 9185862
Agent [candidate] (1.194 s) : 0, 1193686
Total [candidate] (9.176 s) : 0, 9175635
section iast_TELEMETRY_OFF
Agent [baseline] (1.181 s) : 0, 1180953
Total [baseline] (9.22 s) : 0, 9219899
Agent [candidate] (1.176 s) : 0, 1176309
Total [candidate] (9.189 s) : 0, 9189500
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.054 s -
Agent iast 1.179 s 125.521 ms (11.9%)
Agent iast_HARDCODED_SECRET_DISABLED 1.185 s 131.523 ms (12.5%)
Agent iast_TELEMETRY_OFF 1.181 s 127.025 ms (12.1%)
Total tracing 8.621 s -
Total iast 9.211 s 590.076 ms (6.8%)
Total iast_HARDCODED_SECRET_DISABLED 9.186 s 565.335 ms (6.6%)
Total iast_TELEMETRY_OFF 9.22 s 599.372 ms (7.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.054 s -
Agent iast 1.18 s 126.096 ms (12.0%)
Agent iast_HARDCODED_SECRET_DISABLED 1.194 s 139.974 ms (13.3%)
Agent iast_TELEMETRY_OFF 1.176 s 122.596 ms (11.6%)
Total tracing 8.636 s -
Total iast 9.187 s 551.138 ms (6.4%)
Total iast_HARDCODED_SECRET_DISABLED 9.176 s 539.597 ms (6.2%)
Total iast_TELEMETRY_OFF 9.189 s 553.462 ms (6.4%)
gantt
    title insecure-bank - break down per module: candidate=1.46.0-SNAPSHOT~1131b96154, baseline=1.46.0-SNAPSHOT~9b8eee7dae

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (712.818 ms) : 0, 712818
BytebuddyAgent [candidate] (713.571 ms) : 0, 713571
GlobalTracer [baseline] (255.991 ms) : 0, 255991
GlobalTracer [candidate] (256.263 ms) : 0, 256263
AppSec [baseline] (55.819 ms) : 0, 55819
AppSec [candidate] (55.946 ms) : 0, 55946
Remote Config [baseline] (713.963 µs) : 0, 714
Remote Config [candidate] (712.288 µs) : 0, 712
Telemetry [baseline] (13.541 ms) : 0, 13541
Telemetry [candidate] (12.232 ms) : 0, 12232
section iast
BytebuddyAgent [baseline] (829.71 ms) : 0, 829710
BytebuddyAgent [candidate] (829.626 ms) : 0, 829626
GlobalTracer [baseline] (246.035 ms) : 0, 246035
GlobalTracer [candidate] (246.882 ms) : 0, 246882
AppSec [baseline] (57.774 ms) : 0, 57774
AppSec [candidate] (58.086 ms) : 0, 58086
IAST [baseline] (21.475 ms) : 0, 21475
IAST [candidate] (20.832 ms) : 0, 20832
Remote Config [baseline] (667.468 µs) : 0, 667
Remote Config [candidate] (659.624 µs) : 0, 660
Telemetry [baseline] (8.75 ms) : 0, 8750
Telemetry [candidate] (8.693 ms) : 0, 8693
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (833.003 ms) : 0, 833003
BytebuddyAgent [candidate] (840.411 ms) : 0, 840411
GlobalTracer [baseline] (247.394 ms) : 0, 247394
GlobalTracer [candidate] (249.075 ms) : 0, 249075
AppSec [baseline] (58.568 ms) : 0, 58568
AppSec [candidate] (58.457 ms) : 0, 58457
IAST [baseline] (21.856 ms) : 0, 21856
IAST [candidate] (21.227 ms) : 0, 21227
Remote Config [baseline] (687.696 µs) : 0, 688
Remote Config [candidate] (656.851 µs) : 0, 657
Telemetry [baseline] (8.893 ms) : 0, 8893
Telemetry [candidate] (8.76 ms) : 0, 8760
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (830.768 ms) : 0, 830768
BytebuddyAgent [candidate] (826.809 ms) : 0, 826809
GlobalTracer [baseline] (247.399 ms) : 0, 247399
GlobalTracer [candidate] (246.823 ms) : 0, 246823
AppSec [baseline] (57.676 ms) : 0, 57676
AppSec [candidate] (57.935 ms) : 0, 57935
IAST [baseline] (20.819 ms) : 0, 20819
IAST [candidate] (20.498 ms) : 0, 20498
Remote Config [baseline] (672.048 µs) : 0, 672
Remote Config [candidate] (631.704 µs) : 0, 632
Telemetry [baseline] (8.595 ms) : 0, 8595
Telemetry [candidate] (8.562 ms) : 0, 8562
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-01-13T15:45:21 2025-01-13T15:52:20
git_branch master jpbempel/optim-trace-span-id
git_commit_date 1736782292 1736782410
git_commit_sha 9b8eee7 1131b96
release_version 1.46.0-SNAPSHOT~9b8eee7dae 1.46.0-SNAPSHOT~1131b96154
start_time 2025-01-13T15:45:07 2025-01-13T15:52:06
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1736783893 1736783893
ci_job_id 764004014 764004014
ci_pipeline_id 52831553 52831553
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
variant iast iast

Summary

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

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~1131b96154, baseline=1.46.0-SNAPSHOT~9b8eee7dae
    dateFormat X
    axisFormat %s
section baseline
no_agent (379.284 µs) : 359, 400
.   : milestone, 379,
iast (495.676 µs) : 474, 517
.   : milestone, 496,
iast_FULL (661.51 µs) : 640, 683
.   : milestone, 662,
iast_GLOBAL (525.4 µs) : 503, 548
.   : milestone, 525,
iast_HARDCODED_SECRET_DISABLED (498.118 µs) : 477, 520
.   : milestone, 498,
iast_INACTIVE (460.972 µs) : 439, 483
.   : milestone, 461,
iast_TELEMETRY_OFF (484.511 µs) : 463, 506
.   : milestone, 485,
tracing (452.557 µs) : 431, 474
.   : milestone, 453,
section candidate
no_agent (372.165 µs) : 352, 392
.   : milestone, 372,
iast (500.658 µs) : 479, 523
.   : milestone, 501,
iast_FULL (650.113 µs) : 628, 672
.   : milestone, 650,
iast_GLOBAL (516.797 µs) : 495, 538
.   : milestone, 517,
iast_HARDCODED_SECRET_DISABLED (499.112 µs) : 478, 521
.   : milestone, 499,
iast_INACTIVE (453.496 µs) : 432, 475
.   : milestone, 453,
iast_TELEMETRY_OFF (484.98 µs) : 464, 506
.   : milestone, 485,
tracing (448.552 µs) : 428, 469
.   : milestone, 449,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 379.284 µs [358.894 µs, 399.673 µs] -
iast 495.676 µs [474.08 µs, 517.272 µs] 116.392 µs (30.7%)
iast_FULL 661.51 µs [639.964 µs, 683.056 µs] 282.227 µs (74.4%)
iast_GLOBAL 525.4 µs [502.77 µs, 548.029 µs] 146.116 µs (38.5%)
iast_HARDCODED_SECRET_DISABLED 498.118 µs [476.535 µs, 519.701 µs] 118.834 µs (31.3%)
iast_INACTIVE 460.972 µs [439.144 µs, 482.8 µs] 81.688 µs (21.5%)
iast_TELEMETRY_OFF 484.511 µs [462.556 µs, 506.467 µs] 105.228 µs (27.7%)
tracing 452.557 µs [431.122 µs, 473.991 µs] 73.273 µs (19.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 372.165 µs [352.316 µs, 392.013 µs] -
iast 500.658 µs [478.795 µs, 522.521 µs] 128.493 µs (34.5%)
iast_FULL 650.113 µs [628.264 µs, 671.962 µs] 277.948 µs (74.7%)
iast_GLOBAL 516.797 µs [495.463 µs, 538.13 µs] 144.632 µs (38.9%)
iast_HARDCODED_SECRET_DISABLED 499.112 µs [477.64 µs, 520.584 µs] 126.948 µs (34.1%)
iast_INACTIVE 453.496 µs [432.32 µs, 474.673 µs] 81.332 µs (21.9%)
iast_TELEMETRY_OFF 484.98 µs [463.642 µs, 506.319 µs] 112.816 µs (30.3%)
tracing 448.552 µs [427.703 µs, 469.401 µs] 76.388 µs (20.5%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~1131b96154, baseline=1.46.0-SNAPSHOT~9b8eee7dae
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.351 ms) : 1332, 1371
.   : milestone, 1351,
appsec (1.749 ms) : 1726, 1773
.   : milestone, 1749,
appsec_no_iast (1.729 ms) : 1703, 1754
.   : milestone, 1729,
iast (1.487 ms) : 1464, 1510
.   : milestone, 1487,
profiling (1.515 ms) : 1492, 1539
.   : milestone, 1515,
tracing (1.489 ms) : 1464, 1514
.   : milestone, 1489,
section candidate
no_agent (1.35 ms) : 1330, 1370
.   : milestone, 1350,
appsec (1.748 ms) : 1724, 1772
.   : milestone, 1748,
appsec_no_iast (1.761 ms) : 1737, 1786
.   : milestone, 1761,
iast (1.507 ms) : 1484, 1530
.   : milestone, 1507,
profiling (1.484 ms) : 1460, 1508
.   : milestone, 1484,
tracing (1.473 ms) : 1448, 1498
.   : milestone, 1473,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.351 ms [1.332 ms, 1.371 ms] -
appsec 1.749 ms [1.726 ms, 1.773 ms] 398.025 µs (29.5%)
appsec_no_iast 1.729 ms [1.703 ms, 1.754 ms] 377.413 µs (27.9%)
iast 1.487 ms [1.464 ms, 1.51 ms] 135.491 µs (10.0%)
profiling 1.515 ms [1.492 ms, 1.539 ms] 163.97 µs (12.1%)
tracing 1.489 ms [1.464 ms, 1.514 ms] 137.975 µs (10.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.35 ms [1.33 ms, 1.37 ms] -
appsec 1.748 ms [1.724 ms, 1.772 ms] 397.643 µs (29.5%)
appsec_no_iast 1.761 ms [1.737 ms, 1.786 ms] 411.205 µs (30.5%)
iast 1.507 ms [1.484 ms, 1.53 ms] 156.888 µs (11.6%)
profiling 1.484 ms [1.46 ms, 1.508 ms] 133.735 µs (9.9%)
tracing 1.473 ms [1.448 ms, 1.498 ms] 122.79 µs (9.1%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/optim-trace-span-id
git_commit_date 1736782292 1736782410
git_commit_sha 9b8eee7 1131b96
release_version 1.46.0-SNAPSHOT~9b8eee7dae 1.46.0-SNAPSHOT~1131b96154
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1736784362 1736784362
ci_job_id 764004015 764004015
ci_pipeline_id 52831553 52831553
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
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.46.0-SNAPSHOT~1131b96154, baseline=1.46.0-SNAPSHOT~9b8eee7dae
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.602 s) : 15602000, 15602000
.   : milestone, 15602000,
appsec (15.189 s) : 15189000, 15189000
.   : milestone, 15189000,
iast (18.779 s) : 18779000, 18779000
.   : milestone, 18779000,
iast_GLOBAL (17.723 s) : 17723000, 17723000
.   : milestone, 17723000,
profiling (14.928 s) : 14928000, 14928000
.   : milestone, 14928000,
tracing (14.838 s) : 14838000, 14838000
.   : milestone, 14838000,
section candidate
no_agent (14.913 s) : 14913000, 14913000
.   : milestone, 14913000,
appsec (14.974 s) : 14974000, 14974000
.   : milestone, 14974000,
iast (18.974 s) : 18974000, 18974000
.   : milestone, 18974000,
iast_GLOBAL (17.939 s) : 17939000, 17939000
.   : milestone, 17939000,
profiling (15.152 s) : 15152000, 15152000
.   : milestone, 15152000,
tracing (15.095 s) : 15095000, 15095000
.   : milestone, 15095000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.602 s [15.602 s, 15.602 s] -
appsec 15.189 s [15.189 s, 15.189 s] -413.0 ms (-2.6%)
iast 18.779 s [18.779 s, 18.779 s] 3.177 s (20.4%)
iast_GLOBAL 17.723 s [17.723 s, 17.723 s] 2.121 s (13.6%)
profiling 14.928 s [14.928 s, 14.928 s] -674.0 ms (-4.3%)
tracing 14.838 s [14.838 s, 14.838 s] -764.0 ms (-4.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.913 s [14.913 s, 14.913 s] -
appsec 14.974 s [14.974 s, 14.974 s] 61.0 ms (0.4%)
iast 18.974 s [18.974 s, 18.974 s] 4.061 s (27.2%)
iast_GLOBAL 17.939 s [17.939 s, 17.939 s] 3.026 s (20.3%)
profiling 15.152 s [15.152 s, 15.152 s] 239.0 ms (1.6%)
tracing 15.095 s [15.095 s, 15.095 s] 182.0 ms (1.2%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~1131b96154, baseline=1.46.0-SNAPSHOT~9b8eee7dae
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.476 ms) : 1465, 1488
.   : milestone, 1476,
appsec (2.375 ms) : 2331, 2418
.   : milestone, 2375,
iast (2.117 ms) : 2062, 2171
.   : milestone, 2117,
iast_GLOBAL (2.16 ms) : 2105, 2215
.   : milestone, 2160,
profiling (1.985 ms) : 1941, 2029
.   : milestone, 1985,
tracing (1.957 ms) : 1915, 2000
.   : milestone, 1957,
section candidate
no_agent (1.476 ms) : 1465, 1488
.   : milestone, 1476,
appsec (2.374 ms) : 2331, 2417
.   : milestone, 2374,
iast (2.12 ms) : 2066, 2174
.   : milestone, 2120,
iast_GLOBAL (2.162 ms) : 2107, 2217
.   : milestone, 2162,
profiling (1.978 ms) : 1934, 2022
.   : milestone, 1978,
tracing (1.958 ms) : 1916, 2000
.   : milestone, 1958,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.476 ms [1.465 ms, 1.488 ms] -
appsec 2.375 ms [2.331 ms, 2.418 ms] 898.487 µs (60.9%)
iast 2.117 ms [2.062 ms, 2.171 ms] 640.44 µs (43.4%)
iast_GLOBAL 2.16 ms [2.105 ms, 2.215 ms] 684.199 µs (46.4%)
profiling 1.985 ms [1.941 ms, 2.029 ms] 508.895 µs (34.5%)
tracing 1.957 ms [1.915 ms, 2.0 ms] 481.346 µs (32.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.476 ms [1.465 ms, 1.488 ms] -
appsec 2.374 ms [2.331 ms, 2.417 ms] 897.764 µs (60.8%)
iast 2.12 ms [2.066 ms, 2.174 ms] 643.749 µs (43.6%)
iast_GLOBAL 2.162 ms [2.107 ms, 2.217 ms] 685.757 µs (46.5%)
profiling 1.978 ms [1.934 ms, 2.022 ms] 501.914 µs (34.0%)
tracing 1.958 ms [1.916 ms, 2.0 ms] 481.815 µs (32.6%)

@jpbempel jpbempel force-pushed the jpbempel/optim-trace-span-id branch from e079d65 to d8705ab Compare January 13, 2025 15:03
@jpbempel jpbempel changed the title DRAFT optim Move Trace/SpanId capture at commit time Jan 13, 2025
@jpbempel jpbempel added comp: debugger Dynamic Instrumentation type: enhancement Enhancements and improvements tag: performance Performance related changes labels Jan 13, 2025
capture of traceId/SpanId was directly instrumented.
it means that every execution of the probe try to fetch from the span
the traceId and the spanId with eventual conversion to make it a
string. While in the end we may have a condition that is not met or
the sampling does not generate a snapshot. which is wasteful.
We just move the capture at the commit time when we are sure to send a
 snapshot with these information.
@jpbempel jpbempel force-pushed the jpbempel/optim-trace-span-id branch from d8705ab to 1131b96 Compare January 13, 2025 15:33
@jpbempel jpbempel marked this pull request as ready for review January 13, 2025 16:14
@jpbempel jpbempel requested a review from a team as a code owner January 13, 2025 16:14
@jpbempel jpbempel requested review from shatzi and removed request for a team January 13, 2025 16:14
Copy link
Contributor

@shatzi shatzi left a comment

Choose a reason for hiding this comment

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

nice!

@jpbempel jpbempel merged commit 866fc61 into master Jan 14, 2025
177 checks passed
@jpbempel jpbempel deleted the jpbempel/optim-trace-span-id branch January 14, 2025 06:25
@github-actions github-actions bot added this to the 1.46.0 milestone Jan 14, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jan 31, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.25.4` -> `2.26.0` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.45.2` -> `1.46.0` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.45.2` -> `1.46.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |

---

### Release Notes

<details>
<summary>googleapis/java-datastore
(com.google.cloud:google-cloud-datastore)</summary>

###
[`v2.26.0`](https://github.com/googleapis/java-datastore/blob/HEAD/CHANGELOG.md#2260-2025-01-29)

##### Features

- Add firestoreInDatastoreMode for datastore emulator
([#&#8203;1698](googleapis/java-datastore#1698))
([50f106d](googleapis/java-datastore@50f106d))

##### Dependencies

- Update dependency com.google.cloud:sdk-platform-java-config to v3.42.0
([#&#8203;1725](googleapis/java-datastore#1725))
([1cbaf22](googleapis/java-datastore@1cbaf22))

</details>

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

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

##### Breaking Changes

> \[!WARNING]
> jnr-unixsocket is now an external dependency of dd-trace-ot and must
be included when deploying dd-trace-ot.

> \[!NOTE]
> The API `TracerScope.setAsync(boolean)`, used to manually control
asynchronous span propagation, does no more apply to the scope instance
but to the active span scope.

##### Components

##### Application Security Management (IAST)

- 🐛 Fix String.replace instrumentation for IAST
([#&#8203;8281](DataDog/dd-trace-java#8281) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Apply the standard nomenclature to the stacktrace configs
([#&#8203;8244](DataDog/dd-trace-java#8244) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Exclude false positive weak randomness
([#&#8203;8232](DataDog/dd-trace-java#8232) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Propagation of translateEscapes of String class
([#&#8203;8186](DataDog/dd-trace-java#8186) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Add security control metrics
([#&#8203;8175](DataDog/dd-trace-java#8175) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Increase IAST propagation to StringBuffer setLength
([#&#8203;8128](DataDog/dd-trace-java#8128) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Add IAST taint tracking for DB values
([#&#8203;8072](DataDog/dd-trace-java#8072) -
[@&#8203;Mariovido](https://github.com/Mariovido))

##### Application Security Management (WAF)

- 🐛 Prevents a NPE when there is no subscriber for user events
([#&#8203;8258](DataDog/dd-trace-java#8258) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Apply the standard nomenclature to the stacktrace configs
([#&#8203;8244](DataDog/dd-trace-java#8244) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Ensure cached subscriptions are cleared on reconfiguration via
RC ([#&#8203;8229](DataDog/dd-trace-java#8229)
-
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Add support for session tracking in Vertx
([#&#8203;8167](DataDog/dd-trace-java#8167) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Create span tag: \_dd.appsec.rasp.timeout
([#&#8203;8269](DataDog/dd-trace-java#8269) -
[@&#8203;Mariovido](https://github.com/Mariovido))

##### Build & Tooling

- 🐛 Ensure shaded helpers have unique names when injected into
class-loaders
([#&#8203;8192](DataDog/dd-trace-java#8192) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Configuration at Runtime

- 🐛 Remove filtering of `DD_SERVICE` and `DD_ENV` from the tracer
([#&#8203;8176](DataDog/dd-trace-java#8176) -
[@&#8203;mhlidd](https://github.com/mhlidd))

##### Continuous Integration Visibility

- 🧹 Generalize TestRetryPolicy to TestExecutionPolicy
([#&#8203;8302](DataDog/dd-trace-java#8302) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Parallelize CI Visibility settings requests
([#&#8203;8299](DataDog/dd-trace-java#8299) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Generalize test retry logic
([#&#8203;8289](DataDog/dd-trace-java#8289) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Generalize tests skipping logic
([#&#8203;8288](DataDog/dd-trace-java#8288) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Remove skip and shouldBeSkipped methods from TestEventsHandler
in favor of isSkippable
([#&#8203;8286](DataDog/dd-trace-java#8286) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨⚡ Optimize Git repository information computation
([#&#8203;8270](DataDog/dd-trace-java#8270) -
[@&#8203;dougqh](https://github.com/dougqh))
- ✨ Always request known tests from the backend
([#&#8203;8268](DataDog/dd-trace-java#8268) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Fix NPE when trying to get retry analyzer in Test NG
([#&#8203;8253](DataDog/dd-trace-java#8253) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Set test framework and test framework version tags atomically
([#&#8203;8252](DataDog/dd-trace-java#8252) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add debug logging to Android Gradle module layout logic
([#&#8203;8251](DataDog/dd-trace-java#8251) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix source and destination folders computation for Android
Gradle projects
([#&#8203;8190](DataDog/dd-trace-java#8190) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add basic Scala Weaver sbt support
([#&#8203;8189](DataDog/dd-trace-java#8189) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement impacted tests detection
([#&#8203;8188](DataDog/dd-trace-java#8188) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))

##### Data Streams Monitoring

- ✨ Change hash computation for protobuf to better represent
impacting changes + save proto number in schema
([#&#8203;8201](DataDog/dd-trace-java#8201) -
[@&#8203;vandonr](https://github.com/vandonr))

##### Database Monitoring

- Add peer service tag in dbm sql commenter
([#&#8203;7913](DataDog/dd-trace-java#7913) -
[@&#8203;jordan-wong](https://github.com/jordan-wong))

##### Dynamic Instrumentation

- ✨ Add support for SymDB to scan directories
([#&#8203;8306](DataDog/dd-trace-java#8306) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add SymDB report for any jar scanning failures
([#&#8203;8300](DataDog/dd-trace-java#8300) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Use two budgets depending on type
([#&#8203;8283](DataDog/dd-trace-java#8283) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Institute a 10 snapshot per probe per trace budget
([#&#8203;8277](DataDog/dd-trace-java#8277) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Avoid double snapshots for Exception Replay
([#&#8203;8273](DataDog/dd-trace-java#8273) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Simplify code origins. Separate out snapshot generation.
([#&#8203;8263](DataDog/dd-trace-java#8263) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Add Exception probe custom instrumentation
([#&#8203;8230](DataDog/dd-trace-java#8230) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Enhance log probes to honor debug session tags
([#&#8203;8215](DataDog/dd-trace-java#8215) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Don't redact env tokens from debugger probe snapshots
([#&#8203;8211](DataDog/dd-trace-java#8211) -
[@&#8203;watson](https://github.com/watson))
- ✨⚡ Move Trace/SpanId capture at commit time
([#&#8203;8184](DataDog/dd-trace-java#8184) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Capture values at entry for method probe
([#&#8203;8169](DataDog/dd-trace-java#8169) -
[@&#8203;jpbempel](https://github.com/jpbempel))

##### JMX fetch

- 🐛 Mute JMXFetch Shutdown in progress error
([#&#8203;8068](DataDog/dd-trace-java#8068) -
[@&#8203;ygree](https://github.com/ygree))

##### OpenTracing

- ⚠️🧹 Make jnr-unixsocket an explicit dependency of
dd-trace-ot
([#&#8203;8307](DataDog/dd-trace-java#8307) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Profiling

- 🐛 Avoid unsupported API call for creating folders on windows
([#&#8203;8304](DataDog/dd-trace-java#8304) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Tag profiles for serverless
([#&#8203;8279](DataDog/dd-trace-java#8279) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ add queue type and length to queue events
([#&#8203;8242](DataDog/dd-trace-java#8242) -
[@&#8203;richardstartin](https://github.com/richardstartin))
- 🐛 TempLocationManager Fixes and Improvements
([#&#8203;8191](DataDog/dd-trace-java#8191) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Bump ddprof to 1.18.0
([#&#8203;8173](DataDog/dd-trace-java#8173) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Report profiler initialization and configuration errors to
telemetry
([#&#8203;8171](DataDog/dd-trace-java#8171) -
[@&#8203;jbachorik](https://github.com/jbachorik))

##### Telemetry

- ✨ Add pending traces report in tracer flares
([#&#8203;8053](DataDog/dd-trace-java#8053) -
[@&#8203;mhlidd](https://github.com/mhlidd))

##### Testing

- ✨ Test http server requests in parallel
([#&#8203;8222](DataDog/dd-trace-java#8222) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Trace context propagation

- ✨ Add non default propagator registration
([#&#8203;8310](DataDog/dd-trace-java#8310) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

##### Tracer core

- ✨ Probe for existence of IBMSASL or ACCP security providers
([#&#8203;8276](DataDog/dd-trace-java#8276) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨⚡ Overhead improvement to agent feedback based sampling
([#&#8203;8265](DataDog/dd-trace-java#8265) -
[@&#8203;dougqh](https://github.com/dougqh))
- 🧹 Move async propagation API from scope to tracer
([#&#8203;8231](DataDog/dd-trace-java#8231) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Introduce context propagation API
([#&#8203;8161](DataDog/dd-trace-java#8161) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨🧪 Use env-entry to add tags per webapp deployment
([#&#8203;8138](DataDog/dd-trace-java#8138) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Introduce context helpers API
([#&#8203;8134](DataDog/dd-trace-java#8134) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Support IPv6 values for `DD_AGENT_HOST` and
`DD_TRACE_AGENT_URL`
([#&#8203;7984](DataDog/dd-trace-java#7984) -
[@&#8203;mhlidd](https://github.com/mhlidd))

##### Instrumentations

##### Apache HttpComponents

- 🐛 Properly finish spans and support latest apache httpclient5
([#&#8203;8272](DataDog/dd-trace-java#8272) -
[@&#8203;amarziali](https://github.com/amarziali))

##### AWS Lambda instrumentation

- 🐛 Properly capture lambda payloads for all handler types.
([#&#8203;8264](DataDog/dd-trace-java#8264) -
[@&#8203;purple4reina](https://github.com/purple4reina))

##### AWS S3 instrumentation

- 💡 Create S3 instrumentation + add span pointers
([#&#8203;8075](DataDog/dd-trace-java#8075) -
[@&#8203;nhulston](https://github.com/nhulston))

##### AWS SDK instrumentation

- 🐛 Revert "Add avoid double instrumenting lambda non-streaming
handlers."
([#&#8203;8247](DataDog/dd-trace-java#8247) -
[@&#8203;nhulston](https://github.com/nhulston))

##### Cassandra

- ✨ Allow extracting keyspace from statement result
([#&#8203;8239](DataDog/dd-trace-java#8239) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Core Java language instrumentation

- ✨ Propagation of translateEscapes of String class
([#&#8203;8186](DataDog/dd-trace-java#8186) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))

##### Eclipse Vert.x instrumentation

- 🐛 Fix vertx worker propagation and error handling
([#&#8203;8237](DataDog/dd-trace-java#8237) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Support vertx 5
([#&#8203;8220](DataDog/dd-trace-java#8220) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add support for session tracking in Vertx
([#&#8203;8167](DataDog/dd-trace-java#8167) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))

##### Kafka instrumentation

- 🐛 Prevent possible NPE calculating Kafka record header size
([#&#8203;8292](DataDog/dd-trace-java#8292) -
[@&#8203;ygree](https://github.com/ygree))

##### Mule instrumentation

- 🐛 Fix crash using Mule with JPMS
([#&#8203;8187](DataDog/dd-trace-java#8187) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Protocol Buffer instrumentation

- ✨ Change hash computation for protobuf to better represent
impacting changes + save proto number in schema
([#&#8203;8201](DataDog/dd-trace-java#8201) -
[@&#8203;vandonr](https://github.com/vandonr))

##### Spring instrumentation

- 🐛 Preserve getQualifier from spring scheduling runnables
([#&#8203;8293](DataDog/dd-trace-java#8293) -
[@&#8203;amarziali](https://github.com/amarziali))

</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**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, 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: bb09d47e4eed77a003f630273b4d0a84003eb899
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: debugger Dynamic Instrumentation tag: performance Performance related changes type: enhancement Enhancements and improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants