Skip to content

Refactor to store samplers inside probes#10605

Open
jpbempel wants to merge 1 commit intomasterfrom
jpbempel/refactor-rate-limiters
Open

Refactor to store samplers inside probes#10605
jpbempel wants to merge 1 commit intomasterfrom
jpbempel/refactor-rate-limiters

Conversation

@jpbempel
Copy link
Member

@jpbempel jpbempel commented Feb 17, 2026

What Does This Do

Samplers were stored inside ProbeRateLimiter singleton into a concurrent map. and only one sampler per probe. Now to allow different samplers for probe, we are storing them directly into the probe instance.
Samplers are created when probes are received from the configuration through initSamplers method from Sampled interface.

Motivation

Additional Notes

Contributor Checklist

Jira ticket: DEBUG-5208

Note: Once your PR is ready to merge, add it to the merge queue by commenting /merge. /merge -c cancels the queue request. /merge -f --reason "reason" skips all merge queue checks; please use this judiciously, as some checks do not run at the PR-level. For more information, see this doc.

Samplers were stored inside ProbeRateLimiter singleton into a
concurrent map. and only one sampler per probe. Now to allow different
samplers for probe, we are storing them directly into the probe
instance.
Samplers are created when probes are received from the configuration
through initSamplers method from Sampled interface.
@jpbempel jpbempel requested a review from a team as a code owner February 17, 2026 12:08
@jpbempel jpbempel requested review from ojung and removed request for a team February 17, 2026 12:08
@github-actions
Copy link
Contributor

github-actions bot commented Feb 17, 2026

Hi! 👋 Thanks for your pull request! 🎉

To help us review it, please make sure to:

  • Add at least one type, and one component or instrumentation label to the pull request

If you need help, please check our contributing guidelines.

@pr-commenter
Copy link

pr-commenter bot commented Feb 17, 2026

Debugger benchmarks

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
ci_job_date 1771330454 1771330799
end_time 2026-02-17T12:15:33 2026-02-17T12:21:19
git_branch master jpbempel/refactor-rate-limiters
git_commit_sha 61376da 5c5143d
start_time 2026-02-17T12:14:14 2026-02-17T12:20:00
See matching parameters
Baseline Candidate
ci_job_id 1431196723 1431196723
ci_pipeline_id 96873462 96873462
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
git_commit_date 1771329964 1771329964

Summary

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

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
[-100.937µs; +41.227µs] or [-32.896%; +13.436%]
unstable
[-137.808µs; +57.379µs] or [-38.565%; +16.057%]
unstable
[-439.773µs; +155.147µs] or [-92.846%; +32.755%]
unstable
[-730.150µs; +240.509µs] or [-61.437%; +20.237%]
same
scenario:basic same same same unstable
[-282.647µs; +78.885µs] or [-33.630%; +9.386%]
unstable
[-143.497op/s; +285.745op/s] or [-5.453%; +10.858%]
scenario:loop unsure
[+0.412µs; +7.472µs] or [+0.005%; +0.084%]
same same same same
Request duration reports for reports
gantt
    title reports - request duration [CI 0.99] : candidate=None, baseline=None
    dateFormat X
    axisFormat %s
section baseline
noprobe (357.34 µs) : 231, 484
.   : milestone, 357,
basic (276.628 µs) : 266, 287
.   : milestone, 277,
loop (8.963 ms) : 8955, 8970
.   : milestone, 8963,
section candidate
noprobe (317.126 µs) : 282, 352
.   : milestone, 317,
basic (274.696 µs) : 268, 281
.   : milestone, 275,
loop (8.967 ms) : 8962, 8972
.   : milestone, 8967,
Loading
  • baseline results
Scenario Request median duration [CI 0.99]
noprobe 357.34 µs [230.613 µs, 484.067 µs]
basic 276.628 µs [265.904 µs, 287.352 µs]
loop 8.963 ms [8.955 ms, 8.97 ms]
  • candidate results
Scenario Request median duration [CI 0.99]
noprobe 317.126 µs [282.28 µs, 351.971 µs]
basic 274.696 µs [267.958 µs, 281.434 µs]
loop 8.967 ms [8.962 ms, 8.972 ms]

@pr-commenter
Copy link

pr-commenter bot commented Feb 17, 2026

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/refactor-rate-limiters
git_commit_date 1771028607 1771329964
git_commit_sha bfa4714 5c5143d
release_version 1.60.0-SNAPSHOT~bfa4714663 1.60.0-SNAPSHOT~5c5143d347
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1771331734 1771331734
ci_job_id 1431196716 1431196716
ci_pipeline_id 96873462 96873462
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-cq6m9stz 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-cq6m9stz 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 62 metrics, 9 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.60.0-SNAPSHOT~5c5143d347, baseline=1.60.0-SNAPSHOT~bfa4714663

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.072 s) : 0, 1072354
Total [baseline] (8.751 s) : 0, 8750581
Agent [candidate] (1.065 s) : 0, 1065244
Total [candidate] (8.719 s) : 0, 8719082
section iast
Agent [baseline] (1.227 s) : 0, 1226692
Total [baseline] (9.324 s) : 0, 9323561
Agent [candidate] (1.229 s) : 0, 1229421
Total [candidate] (9.353 s) : 0, 9353135
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.072 s -
Agent iast 1.227 s 154.338 ms (14.4%)
Total tracing 8.751 s -
Total iast 9.324 s 572.98 ms (6.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.065 s -
Agent iast 1.229 s 164.177 ms (15.4%)
Total tracing 8.719 s -
Total iast 9.353 s 634.053 ms (7.3%)
gantt
    title insecure-bank - break down per module: candidate=1.60.0-SNAPSHOT~5c5143d347, baseline=1.60.0-SNAPSHOT~bfa4714663

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.192 ms) : 0, 1192
crashtracking [candidate] (1.179 ms) : 0, 1179
BytebuddyAgent [baseline] (632.972 ms) : 0, 632972
BytebuddyAgent [candidate] (629.005 ms) : 0, 629005
AgentMeter [baseline] (29.19 ms) : 0, 29190
AgentMeter [candidate] (29.021 ms) : 0, 29021
GlobalTracer [baseline] (259.135 ms) : 0, 259135
GlobalTracer [candidate] (257.622 ms) : 0, 257622
AppSec [baseline] (33.081 ms) : 0, 33081
AppSec [candidate] (32.78 ms) : 0, 32780
Debugger [baseline] (62.785 ms) : 0, 62785
Debugger [candidate] (61.188 ms) : 0, 61188
Remote Config [baseline] (636.757 µs) : 0, 637
Remote Config [candidate] (624.667 µs) : 0, 625
Telemetry [baseline] (13.251 ms) : 0, 13251
Telemetry [candidate] (9.879 ms) : 0, 9879
Flare Poller [baseline] (4.637 ms) : 0, 4637
Flare Poller [candidate] (8.611 ms) : 0, 8611
section iast
crashtracking [baseline] (1.195 ms) : 0, 1195
crashtracking [candidate] (1.181 ms) : 0, 1181
BytebuddyAgent [baseline] (792.49 ms) : 0, 792490
BytebuddyAgent [candidate] (794.774 ms) : 0, 794774
AgentMeter [baseline] (11.187 ms) : 0, 11187
AgentMeter [candidate] (11.237 ms) : 0, 11237
GlobalTracer [baseline] (247.025 ms) : 0, 247025
GlobalTracer [candidate] (248.137 ms) : 0, 248137
AppSec [baseline] (35.827 ms) : 0, 35827
AppSec [candidate] (32.66 ms) : 0, 32660
Debugger [baseline] (64.258 ms) : 0, 64258
Debugger [candidate] (66.738 ms) : 0, 66738
Remote Config [baseline] (556.116 µs) : 0, 556
Remote Config [candidate] (534.784 µs) : 0, 535
Telemetry [baseline] (8.621 ms) : 0, 8621
Telemetry [candidate] (8.553 ms) : 0, 8553
Flare Poller [baseline] (3.444 ms) : 0, 3444
Flare Poller [candidate] (3.44 ms) : 0, 3440
IAST [baseline] (26.917 ms) : 0, 26917
IAST [candidate] (26.943 ms) : 0, 26943
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.60.0-SNAPSHOT~5c5143d347, baseline=1.60.0-SNAPSHOT~bfa4714663

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.071 s) : 0, 1070827
Total [baseline] (10.91 s) : 0, 10910045
Agent [candidate] (1.064 s) : 0, 1063974
Total [candidate] (10.865 s) : 0, 10864544
section appsec
Agent [baseline] (1.238 s) : 0, 1237969
Total [baseline] (11.066 s) : 0, 11066290
Agent [candidate] (1.239 s) : 0, 1239329
Total [candidate] (10.954 s) : 0, 10954264
section iast
Agent [baseline] (1.232 s) : 0, 1232432
Total [baseline] (11.136 s) : 0, 11136250
Agent [candidate] (1.23 s) : 0, 1229712
Total [candidate] (11.15 s) : 0, 11149767
section profiling
Agent [baseline] (1.189 s) : 0, 1189345
Total [baseline] (10.862 s) : 0, 10862434
Agent [candidate] (1.204 s) : 0, 1204129
Total [candidate] (11.029 s) : 0, 11029363
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.071 s -
Agent appsec 1.238 s 167.142 ms (15.6%)
Agent iast 1.232 s 161.605 ms (15.1%)
Agent profiling 1.189 s 118.518 ms (11.1%)
Total tracing 10.91 s -
Total appsec 11.066 s 156.245 ms (1.4%)
Total iast 11.136 s 226.205 ms (2.1%)
Total profiling 10.862 s -47.611 ms (-0.4%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.064 s -
Agent appsec 1.239 s 175.355 ms (16.5%)
Agent iast 1.23 s 165.738 ms (15.6%)
Agent profiling 1.204 s 140.155 ms (13.2%)
Total tracing 10.865 s -
Total appsec 10.954 s 89.721 ms (0.8%)
Total iast 11.15 s 285.224 ms (2.6%)
Total profiling 11.029 s 164.82 ms (1.5%)
gantt
    title petclinic - break down per module: candidate=1.60.0-SNAPSHOT~5c5143d347, baseline=1.60.0-SNAPSHOT~bfa4714663

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.176 ms) : 0, 1176
crashtracking [candidate] (1.177 ms) : 0, 1177
BytebuddyAgent [baseline] (631.68 ms) : 0, 631680
BytebuddyAgent [candidate] (627.665 ms) : 0, 627665
AgentMeter [baseline] (29.111 ms) : 0, 29111
AgentMeter [candidate] (28.935 ms) : 0, 28935
GlobalTracer [baseline] (258.668 ms) : 0, 258668
GlobalTracer [candidate] (257.031 ms) : 0, 257031
AppSec [baseline] (33.147 ms) : 0, 33147
AppSec [candidate] (32.732 ms) : 0, 32732
Debugger [baseline] (61.879 ms) : 0, 61879
Debugger [candidate] (62.734 ms) : 0, 62734
Remote Config [baseline] (633.127 µs) : 0, 633
Remote Config [candidate] (629.958 µs) : 0, 630
Telemetry [baseline] (11.601 ms) : 0, 11601
Telemetry [candidate] (14.042 ms) : 0, 14042
Flare Poller [baseline] (7.738 ms) : 0, 7738
Flare Poller [candidate] (3.819 ms) : 0, 3819
section appsec
crashtracking [baseline] (1.175 ms) : 0, 1175
crashtracking [candidate] (1.173 ms) : 0, 1173
BytebuddyAgent [baseline] (657.199 ms) : 0, 657199
BytebuddyAgent [candidate] (658.824 ms) : 0, 658824
AgentMeter [baseline] (11.934 ms) : 0, 11934
AgentMeter [candidate] (12.004 ms) : 0, 12004
GlobalTracer [baseline] (257.753 ms) : 0, 257753
GlobalTracer [candidate] (258.29 ms) : 0, 258290
AppSec [baseline] (167.532 ms) : 0, 167532
AppSec [candidate] (167.586 ms) : 0, 167586
Debugger [baseline] (67.603 ms) : 0, 67603
Debugger [candidate] (67.089 ms) : 0, 67089
Remote Config [baseline] (659.892 µs) : 0, 660
Remote Config [candidate] (646.175 µs) : 0, 646
Telemetry [baseline] (9.844 ms) : 0, 9844
Telemetry [candidate] (9.618 ms) : 0, 9618
Flare Poller [baseline] (3.78 ms) : 0, 3780
Flare Poller [candidate] (3.731 ms) : 0, 3731
IAST [baseline] (25.319 ms) : 0, 25319
IAST [candidate] (25.149 ms) : 0, 25149
section iast
crashtracking [baseline] (1.188 ms) : 0, 1188
crashtracking [candidate] (1.179 ms) : 0, 1179
BytebuddyAgent [baseline] (796.59 ms) : 0, 796590
BytebuddyAgent [candidate] (794.309 ms) : 0, 794309
AgentMeter [baseline] (11.24 ms) : 0, 11240
AgentMeter [candidate] (11.257 ms) : 0, 11257
GlobalTracer [baseline] (248.754 ms) : 0, 248754
GlobalTracer [candidate] (248.06 ms) : 0, 248060
AppSec [baseline] (32.96 ms) : 0, 32960
AppSec [candidate] (32.986 ms) : 0, 32986
Debugger [baseline] (67.253 ms) : 0, 67253
Debugger [candidate] (67.162 ms) : 0, 67162
Remote Config [baseline] (531.13 µs) : 0, 531
Remote Config [candidate] (534.107 µs) : 0, 534
Telemetry [baseline] (8.476 ms) : 0, 8476
Telemetry [candidate] (8.554 ms) : 0, 8554
Flare Poller [baseline] (3.375 ms) : 0, 3375
Flare Poller [candidate] (3.508 ms) : 0, 3508
IAST [baseline] (26.803 ms) : 0, 26803
IAST [candidate] (26.936 ms) : 0, 26936
section profiling
crashtracking [baseline] (1.21 ms) : 0, 1210
crashtracking [candidate] (1.22 ms) : 0, 1220
BytebuddyAgent [baseline] (681.878 ms) : 0, 681878
BytebuddyAgent [candidate] (689.751 ms) : 0, 689751
AgentMeter [baseline] (8.569 ms) : 0, 8569
AgentMeter [candidate] (8.726 ms) : 0, 8726
GlobalTracer [baseline] (215.977 ms) : 0, 215977
GlobalTracer [candidate] (219.037 ms) : 0, 219037
AppSec [baseline] (32.542 ms) : 0, 32542
AppSec [candidate] (33.327 ms) : 0, 33327
Debugger [baseline] (67.274 ms) : 0, 67274
Debugger [candidate] (68.13 ms) : 0, 68130
Remote Config [baseline] (619.336 µs) : 0, 619
Remote Config [candidate] (660.355 µs) : 0, 660
Telemetry [baseline] (8.878 ms) : 0, 8878
Telemetry [candidate] (9.011 ms) : 0, 9011
Flare Poller [baseline] (3.782 ms) : 0, 3782
Flare Poller [candidate] (3.837 ms) : 0, 3837
ProfilingAgent [baseline] (98.809 ms) : 0, 98809
ProfilingAgent [candidate] (100.101 ms) : 0, 100101
Profiling [baseline] (99.382 ms) : 0, 99382
Profiling [candidate] (100.678 ms) : 0, 100678
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/refactor-rate-limiters
git_commit_date 1771028607 1771329964
git_commit_sha bfa4714 5c5143d
release_version 1.60.0-SNAPSHOT~bfa4714663 1.60.0-SNAPSHOT~5c5143d347
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1771332229 1771332229
ci_job_id 1431196717 1431196717
ci_pipeline_id 96873462 96873462
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-3-g3qcq1hh 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-3-g3qcq1hh 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 2 performance improvements and 1 performance regressions! Performance is the same for 17 metrics, 16 unstable metrics.

scenario Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p95 Δ mean throughput candidate mean agg_http_req_duration_p50 candidate mean agg_http_req_duration_p95 candidate mean throughput baseline mean agg_http_req_duration_p50 baseline mean agg_http_req_duration_p95 baseline mean throughput
scenario:load:insecure-bank:iast_GLOBAL:high_load better
[-192.402µs; -61.039µs] or [-6.850%; -2.173%]
unsure
[-439.089µs; -45.542µs] or [-5.533%; -0.574%]
unstable
[-100.718op/s; +200.656op/s] or [-7.828%; +15.596%]
2.682ms 7.693ms 1336.594op/s 2.809ms 7.936ms 1286.625op/s
scenario:load:petclinic:profiling:high_load worse
[+410.887µs; +881.415µs] or [+2.271%; +4.872%]
unsure
[+0.363ms; +1.790ms] or [+1.234%; +6.084%]
unstable
[-34.230op/s; +17.918op/s] or [-13.530%; +7.082%]
18.736ms 30.494ms 244.844op/s 18.090ms 29.417ms 253.000op/s
scenario:load:petclinic:tracing:high_load better
[-865.658µs; -437.728µs] or [-4.856%; -2.455%]
unsure
[-1581.175µs; -119.088µs] or [-5.423%; -0.408%]
unstable
[-18.635op/s; +36.698op/s] or [-7.244%; +14.265%]
17.176ms 28.307ms 266.281op/s 17.828ms 29.158ms 257.250op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~5c5143d347, baseline=1.60.0-SNAPSHOT~bfa4714663
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.173 ms) : 1161, 1185
.   : milestone, 1173,
iast (3.223 ms) : 3180, 3267
.   : milestone, 3223,
iast_FULL (5.82 ms) : 5761, 5878
.   : milestone, 5820,
iast_GLOBAL (3.564 ms) : 3511, 3616
.   : milestone, 3564,
profiling (2.121 ms) : 2101, 2140
.   : milestone, 2121,
tracing (1.754 ms) : 1740, 1769
.   : milestone, 1754,
section candidate
no_agent (1.204 ms) : 1192, 1216
.   : milestone, 1204,
iast (3.227 ms) : 3183, 3271
.   : milestone, 3227,
iast_FULL (5.801 ms) : 5742, 5859
.   : milestone, 5801,
iast_GLOBAL (3.427 ms) : 3370, 3484
.   : milestone, 3427,
profiling (2.154 ms) : 2134, 2174
.   : milestone, 2154,
tracing (1.817 ms) : 1802, 1833
.   : milestone, 1817,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.173 ms [1.161 ms, 1.185 ms] -
iast 3.223 ms [3.18 ms, 3.267 ms] 2.05 ms (174.8%)
iast_FULL 5.82 ms [5.761 ms, 5.878 ms] 4.647 ms (396.1%)
iast_GLOBAL 3.564 ms [3.511 ms, 3.616 ms] 2.391 ms (203.8%)
profiling 2.121 ms [2.101 ms, 2.14 ms] 947.496 µs (80.8%)
tracing 1.754 ms [1.74 ms, 1.769 ms] 581.347 µs (49.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.204 ms [1.192 ms, 1.216 ms] -
iast 3.227 ms [3.183 ms, 3.271 ms] 2.022 ms (168.0%)
iast_FULL 5.801 ms [5.742 ms, 5.859 ms] 4.596 ms (381.7%)
iast_GLOBAL 3.427 ms [3.37 ms, 3.484 ms] 2.223 ms (184.6%)
profiling 2.154 ms [2.134 ms, 2.174 ms] 950.268 µs (78.9%)
tracing 1.817 ms [1.802 ms, 1.833 ms] 613.024 µs (50.9%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~5c5143d347, baseline=1.60.0-SNAPSHOT~bfa4714663
    dateFormat X
    axisFormat %s
section baseline
no_agent (18.745 ms) : 18556, 18935
.   : milestone, 18745,
appsec (18.615 ms) : 18425, 18805
.   : milestone, 18615,
code_origins (17.854 ms) : 17676, 18032
.   : milestone, 17854,
iast (17.864 ms) : 17689, 18040
.   : milestone, 17864,
profiling (18.447 ms) : 18265, 18628
.   : milestone, 18447,
tracing (18.142 ms) : 17961, 18322
.   : milestone, 18142,
section candidate
no_agent (18.386 ms) : 18200, 18572
.   : milestone, 18386,
appsec (18.451 ms) : 18264, 18638
.   : milestone, 18451,
code_origins (17.577 ms) : 17403, 17751
.   : milestone, 17577,
iast (17.589 ms) : 17413, 17764
.   : milestone, 17589,
profiling (19.063 ms) : 18870, 19257
.   : milestone, 19063,
tracing (17.52 ms) : 17345, 17694
.   : milestone, 17520,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.745 ms [18.556 ms, 18.935 ms] -
appsec 18.615 ms [18.425 ms, 18.805 ms] -129.885 µs (-0.7%)
code_origins 17.854 ms [17.676 ms, 18.032 ms] -891.03 µs (-4.8%)
iast 17.864 ms [17.689 ms, 18.04 ms] -880.708 µs (-4.7%)
profiling 18.447 ms [18.265 ms, 18.628 ms] -298.656 µs (-1.6%)
tracing 18.142 ms [17.961 ms, 18.322 ms] -603.399 µs (-3.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.386 ms [18.2 ms, 18.572 ms] -
appsec 18.451 ms [18.264 ms, 18.638 ms] 65.052 µs (0.4%)
code_origins 17.577 ms [17.403 ms, 17.751 ms] -809.07 µs (-4.4%)
iast 17.589 ms [17.413 ms, 17.764 ms] -797.004 µs (-4.3%)
profiling 19.063 ms [18.87 ms, 19.257 ms] 677.539 µs (3.7%)
tracing 17.52 ms [17.345 ms, 17.694 ms] -865.844 µs (-4.7%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/refactor-rate-limiters
git_commit_date 1771028607 1771329964
git_commit_sha bfa4714 5c5143d
release_version 1.60.0-SNAPSHOT~bfa4714663 1.60.0-SNAPSHOT~5c5143d347
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1771331967 1771331967
ci_job_id 1431196718 1431196718
ci_pipeline_id 96873462 96873462
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-wu1tuvaq 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-wu1tuvaq 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 0 performance regressions! Performance is the same for 11 metrics, 0 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:dacapo:tomcat:appsec better
[-1.457ms; -1.106ms] or [-38.270%; -29.070%]
2.524ms 3.806ms
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.60.0-SNAPSHOT~5c5143d347, baseline=1.60.0-SNAPSHOT~bfa4714663
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.496 s) : 15496000, 15496000
.   : milestone, 15496000,
appsec (14.901 s) : 14901000, 14901000
.   : milestone, 14901000,
iast (18.571 s) : 18571000, 18571000
.   : milestone, 18571000,
iast_GLOBAL (17.877 s) : 17877000, 17877000
.   : milestone, 17877000,
profiling (15.474 s) : 15474000, 15474000
.   : milestone, 15474000,
tracing (14.617 s) : 14617000, 14617000
.   : milestone, 14617000,
section candidate
no_agent (15.601 s) : 15601000, 15601000
.   : milestone, 15601000,
appsec (14.686 s) : 14686000, 14686000
.   : milestone, 14686000,
iast (18.086 s) : 18086000, 18086000
.   : milestone, 18086000,
iast_GLOBAL (17.889 s) : 17889000, 17889000
.   : milestone, 17889000,
profiling (14.806 s) : 14806000, 14806000
.   : milestone, 14806000,
tracing (14.661 s) : 14661000, 14661000
.   : milestone, 14661000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.496 s [15.496 s, 15.496 s] -
appsec 14.901 s [14.901 s, 14.901 s] -595.0 ms (-3.8%)
iast 18.571 s [18.571 s, 18.571 s] 3.075 s (19.8%)
iast_GLOBAL 17.877 s [17.877 s, 17.877 s] 2.381 s (15.4%)
profiling 15.474 s [15.474 s, 15.474 s] -22.0 ms (-0.1%)
tracing 14.617 s [14.617 s, 14.617 s] -879.0 ms (-5.7%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.601 s [15.601 s, 15.601 s] -
appsec 14.686 s [14.686 s, 14.686 s] -915.0 ms (-5.9%)
iast 18.086 s [18.086 s, 18.086 s] 2.485 s (15.9%)
iast_GLOBAL 17.889 s [17.889 s, 17.889 s] 2.288 s (14.7%)
profiling 14.806 s [14.806 s, 14.806 s] -795.0 ms (-5.1%)
tracing 14.661 s [14.661 s, 14.661 s] -940.0 ms (-6.0%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.60.0-SNAPSHOT~5c5143d347, baseline=1.60.0-SNAPSHOT~bfa4714663
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.481 ms) : 1469, 1493
.   : milestone, 1481,
appsec (3.806 ms) : 3582, 4029
.   : milestone, 3806,
iast (2.257 ms) : 2189, 2326
.   : milestone, 2257,
iast_GLOBAL (2.292 ms) : 2223, 2361
.   : milestone, 2292,
profiling (2.082 ms) : 2027, 2136
.   : milestone, 2082,
tracing (2.072 ms) : 2018, 2126
.   : milestone, 2072,
section candidate
no_agent (1.474 ms) : 1462, 1485
.   : milestone, 1474,
appsec (2.524 ms) : 2470, 2579
.   : milestone, 2524,
iast (2.256 ms) : 2187, 2325
.   : milestone, 2256,
iast_GLOBAL (2.3 ms) : 2231, 2369
.   : milestone, 2300,
profiling (2.076 ms) : 2022, 2131
.   : milestone, 2076,
tracing (2.065 ms) : 2012, 2118
.   : milestone, 2065,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.481 ms [1.469 ms, 1.493 ms] -
appsec 3.806 ms [3.582 ms, 4.029 ms] 2.325 ms (157.0%)
iast 2.257 ms [2.189 ms, 2.326 ms] 776.277 µs (52.4%)
iast_GLOBAL 2.292 ms [2.223 ms, 2.361 ms] 811.0 µs (54.8%)
profiling 2.082 ms [2.027 ms, 2.136 ms] 600.63 µs (40.6%)
tracing 2.072 ms [2.018 ms, 2.126 ms] 590.969 µs (39.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.474 ms [1.462 ms, 1.485 ms] -
appsec 2.524 ms [2.47 ms, 2.579 ms] 1.051 ms (71.3%)
iast 2.256 ms [2.187 ms, 2.325 ms] 782.732 µs (53.1%)
iast_GLOBAL 2.3 ms [2.231 ms, 2.369 ms] 826.809 µs (56.1%)
profiling 2.076 ms [2.022 ms, 2.131 ms] 602.892 µs (40.9%)
tracing 2.065 ms [2.012 ms, 2.118 ms] 591.648 µs (40.2%)

? ProbeRateLimiter.DEFAULT_SNAPSHOT_RATE
: ProbeRateLimiter.DEFAULT_LOG_RATE);
sampler = ProbeRateLimiter.createSampler(rate);
}
Copy link
Member

Choose a reason for hiding this comment

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

This is going to be called when we receive a new config version for this probe from RC right? Does it re-init the sampler on any update even to unrelated fields? Does that mess with the sampling in any undesired way?

Copy link
Member Author

Choose a reason for hiding this comment

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

This will be called on every new version of the probe. It re-inits the sampler. this was already the case before.
The sampling is done with time window that is already short (1s).

@jpbempel jpbempel added comp: debugger Dynamic Instrumentation type: enhancement Enhancements and improvements labels Feb 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: debugger Dynamic Instrumentation type: enhancement Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments