Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Move Trace/SpanId capture at commit time #8184

Merged
merged 1 commit into from
Jan 14, 2025

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 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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants