Skip to content

Fix race condition for Failed Test Replay#10679

Open
daniel-mohedano wants to merge 5 commits intomasterfrom
daniel.mohedano/junit-console-flaky-fix
Open

Fix race condition for Failed Test Replay#10679
daniel-mohedano wants to merge 5 commits intomasterfrom
daniel.mohedano/junit-console-flaky-fix

Conversation

@daniel-mohedano
Copy link
Contributor

@daniel-mohedano daniel-mohedano commented Feb 25, 2026

What Does This Do

Fix race condition in DebuggerSink.stop() that can cause DI snapshot loss during JVM shutdown, leading to flaky "test headless failed test replay" smoke tests.

During JVM shutdown, the periodic lowRateFlush on the dd-task-scheduler thread can race with the shutdown hook. The periodic flush drains snapshots from the BlockingQueue, but the thread's interrupt flag (set by the shutdown sequence) causes Moshi serialization to throw AssertionError: java.io.InterruptedIOException: interrupted. Since the snapshots have already been removed from the queue, they are permanently lost. The shutdown hook's subsequent flush then finds an empty queue and uploads nothing. This issue mostly surfaces in Failed Test Replay (and not Exception Replay) due to the nature of short-lived testing environments.

Evidence from CI logs of a failing run:

[dd-task-scheduler] DEBUG ...SnapshotSink - Drained 2 snapshots, remains 0
[dd-task-scheduler] ERROR ...SnapshotSink - Error during snapshot serialization:
java.lang.AssertionError: java.io.InterruptedIOException: interrupted
    at com.squareup.moshi.JsonUtf8Writer.string(JsonUtf8Writer.java:287)

The fix reorders stop() to cancel periodic schedules before performing the final flush. Additionally, SnapshotSink.getSerializedSnapshots() now re-queues snapshots that fail with an Error (e.g. AssertionError from Moshi on an interrupted thread) so the shutdown hook flush can retry them with a non-interrupted thread. Normal serialization Exceptions still drop the snapshot.

The PR also introduces some additional changes to stabilize the smoke test environment:

  • Increases waitForLogs timeout from 15s to 30s for additional margin.
  • Set a very high DYNAMIC_INSTRUMENTATION_UPLOAD_FLUSH_INTERVAL value to minimize the race conditions.

Motivation

This issue was causing flakes in the FTR JUnit Console smoke test, where sometimes the snapshots were not available after test execution.

Contributor Checklist

Jira ticket: [PROJ-IDENT]

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.

@pr-commenter
Copy link

pr-commenter bot commented Feb 25, 2026

Debugger benchmarks

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
ci_job_date 1772096821 1772097167
end_time 2026-02-26T09:08:21 2026-02-26T09:14:07
git_branch master daniel.mohedano/junit-console-flaky-fix
git_commit_sha 969d21d aba284a
start_time 2026-02-26T09:07:02 2026-02-26T09:12:48
See matching parameters
Baseline Candidate
ci_job_id 1458010206 1458010206
ci_pipeline_id 99085103 99085103
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
git_commit_date 1772096263 1772096263

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
[-45.794µs; +23.443µs] or [-16.056%; +8.219%]
unstable
[-66.453µs; +30.429µs] or [-20.141%; +9.222%]
unstable
[-80.315µs; +41.466µs] or [-23.207%; +11.982%]
unstable
[-235.368µs; +225.455µs] or [-22.623%; +21.670%]
same
scenario:basic same same same unstable
[-56.675µs; +144.993µs] or [-7.523%; +19.246%]
unstable
[-202.723op/s; +202.723op/s] or [-7.703%; +7.703%]
scenario:loop unsure
[+5.919µs; +12.591µs] or [+0.067%; +0.142%]
unsure
[+3.711µs; +13.963µs] or [+0.041%; +0.156%]
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 (329.94 µs) : 270, 389
.   : milestone, 330,
basic (275.76 µs) : 269, 283
.   : milestone, 276,
loop (8.953 ms) : 8949, 8958
.   : milestone, 8953,
section candidate
noprobe (311.927 µs) : 285, 339
.   : milestone, 312,
basic (278.128 µs) : 272, 284
.   : milestone, 278,
loop (8.962 ms) : 8958, 8967
.   : milestone, 8962,
Loading
  • baseline results
Scenario Request median duration [CI 0.99]
noprobe 329.94 µs [270.42 µs, 389.46 µs]
basic 275.76 µs [268.969 µs, 282.551 µs]
loop 8.953 ms [8.949 ms, 8.958 ms]
  • candidate results
Scenario Request median duration [CI 0.99]
noprobe 311.927 µs [285.223 µs, 338.632 µs]
basic 278.128 µs [272.08 µs, 284.177 µs]
loop 8.962 ms [8.958 ms, 8.967 ms]

@pr-commenter
Copy link

pr-commenter bot commented Feb 25, 2026

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master daniel.mohedano/junit-console-flaky-fix
git_commit_date 1772065756 1772113159
git_commit_sha 969d21d aff07bd
release_version 1.60.0-SNAPSHOT~969d21d507 1.60.0-SNAPSHOT~aff07bd2a4
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1772114830 1772114830
ci_job_id 1458854134 1458854134
ci_pipeline_id 99138211 99138211
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-0-okk8ujxp 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-0-okk8ujxp 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 63 metrics, 8 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.60.0-SNAPSHOT~aff07bd2a4, baseline=1.60.0-SNAPSHOT~969d21d507

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.064 s) : 0, 1063643
Total [baseline] (8.739 s) : 0, 8739078
Agent [candidate] (1.074 s) : 0, 1073785
Total [candidate] (8.793 s) : 0, 8792535
section iast
Agent [baseline] (1.228 s) : 0, 1227551
Total [baseline] (9.386 s) : 0, 9385714
Agent [candidate] (1.243 s) : 0, 1242854
Total [candidate] (9.39 s) : 0, 9389508
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.064 s -
Agent iast 1.228 s 163.909 ms (15.4%)
Total tracing 8.739 s -
Total iast 9.386 s 646.636 ms (7.4%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.074 s -
Agent iast 1.243 s 169.069 ms (15.7%)
Total tracing 8.793 s -
Total iast 9.39 s 596.973 ms (6.8%)
gantt
    title insecure-bank - break down per module: candidate=1.60.0-SNAPSHOT~aff07bd2a4, baseline=1.60.0-SNAPSHOT~969d21d507

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.189 ms) : 0, 1189
crashtracking [candidate] (1.219 ms) : 0, 1219
BytebuddyAgent [baseline] (628.055 ms) : 0, 628055
BytebuddyAgent [candidate] (632.921 ms) : 0, 632921
AgentMeter [baseline] (29.115 ms) : 0, 29115
AgentMeter [candidate] (29.523 ms) : 0, 29523
GlobalTracer [baseline] (257.749 ms) : 0, 257749
GlobalTracer [candidate] (260.417 ms) : 0, 260417
AppSec [baseline] (32.843 ms) : 0, 32843
AppSec [candidate] (33.538 ms) : 0, 33538
Debugger [baseline] (64.366 ms) : 0, 64366
Debugger [candidate] (61.548 ms) : 0, 61548
Remote Config [baseline] (604.408 µs) : 0, 604
Remote Config [candidate] (629.411 µs) : 0, 629
Telemetry [baseline] (9.892 ms) : 0, 9892
Telemetry [candidate] (11.704 ms) : 0, 11704
Flare Poller [baseline] (3.719 ms) : 0, 3719
Flare Poller [candidate] (6.055 ms) : 0, 6055
section iast
crashtracking [baseline] (1.197 ms) : 0, 1197
crashtracking [candidate] (1.227 ms) : 0, 1227
BytebuddyAgent [baseline] (793.819 ms) : 0, 793819
BytebuddyAgent [candidate] (804.23 ms) : 0, 804230
AgentMeter [baseline] (11.276 ms) : 0, 11276
AgentMeter [candidate] (11.604 ms) : 0, 11604
GlobalTracer [baseline] (246.274 ms) : 0, 246274
GlobalTracer [candidate] (249.488 ms) : 0, 249488
AppSec [baseline] (33.238 ms) : 0, 33238
AppSec [candidate] (33.576 ms) : 0, 33576
Debugger [baseline] (66.151 ms) : 0, 66151
Debugger [candidate] (66.675 ms) : 0, 66675
Remote Config [baseline] (539.274 µs) : 0, 539
Remote Config [candidate] (530.773 µs) : 0, 531
Telemetry [baseline] (8.572 ms) : 0, 8572
Telemetry [candidate] (8.618 ms) : 0, 8618
Flare Poller [baseline] (3.491 ms) : 0, 3491
Flare Poller [candidate] (3.466 ms) : 0, 3466
IAST [baseline] (26.927 ms) : 0, 26927
IAST [candidate] (27.336 ms) : 0, 27336
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.60.0-SNAPSHOT~aff07bd2a4, baseline=1.60.0-SNAPSHOT~969d21d507

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.064 s) : 0, 1063559
Total [baseline] (10.899 s) : 0, 10899174
Agent [candidate] (1.066 s) : 0, 1066002
Total [candidate] (10.856 s) : 0, 10855813
section appsec
Agent [baseline] (1.237 s) : 0, 1237369
Total [baseline] (10.956 s) : 0, 10955898
Agent [candidate] (1.244 s) : 0, 1244285
Total [candidate] (10.923 s) : 0, 10922560
section iast
Agent [baseline] (1.228 s) : 0, 1227818
Total [baseline] (11.196 s) : 0, 11196302
Agent [candidate] (1.23 s) : 0, 1230000
Total [candidate] (11.164 s) : 0, 11164210
section profiling
Agent [baseline] (1.191 s) : 0, 1191063
Total [baseline] (10.786 s) : 0, 10785722
Agent [candidate] (1.188 s) : 0, 1188461
Total [candidate] (11.015 s) : 0, 11014782
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.064 s -
Agent appsec 1.237 s 173.809 ms (16.3%)
Agent iast 1.228 s 164.258 ms (15.4%)
Agent profiling 1.191 s 127.503 ms (12.0%)
Total tracing 10.899 s -
Total appsec 10.956 s 56.724 ms (0.5%)
Total iast 11.196 s 297.128 ms (2.7%)
Total profiling 10.786 s -113.451 ms (-1.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.066 s -
Agent appsec 1.244 s 178.283 ms (16.7%)
Agent iast 1.23 s 163.998 ms (15.4%)
Agent profiling 1.188 s 122.459 ms (11.5%)
Total tracing 10.856 s -
Total appsec 10.923 s 66.747 ms (0.6%)
Total iast 11.164 s 308.396 ms (2.8%)
Total profiling 11.015 s 158.968 ms (1.5%)
gantt
    title petclinic - break down per module: candidate=1.60.0-SNAPSHOT~aff07bd2a4, baseline=1.60.0-SNAPSHOT~969d21d507

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.184 ms) : 0, 1184
crashtracking [candidate] (1.192 ms) : 0, 1192
BytebuddyAgent [baseline] (626.139 ms) : 0, 626139
BytebuddyAgent [candidate] (627.879 ms) : 0, 627879
AgentMeter [baseline] (29.043 ms) : 0, 29043
AgentMeter [candidate] (29.193 ms) : 0, 29193
GlobalTracer [baseline] (257.087 ms) : 0, 257087
GlobalTracer [candidate] (257.682 ms) : 0, 257682
AppSec [baseline] (32.771 ms) : 0, 32771
AppSec [candidate] (32.927 ms) : 0, 32927
Debugger [baseline] (64.745 ms) : 0, 64745
Debugger [candidate] (64.499 ms) : 0, 64499
Remote Config [baseline] (614.273 µs) : 0, 614
Remote Config [candidate] (619.162 µs) : 0, 619
Telemetry [baseline] (10.71 ms) : 0, 10710
Telemetry [candidate] (10.796 ms) : 0, 10796
Flare Poller [baseline] (5.263 ms) : 0, 5263
Flare Poller [candidate] (5.197 ms) : 0, 5197
section appsec
crashtracking [baseline] (1.185 ms) : 0, 1185
crashtracking [candidate] (1.192 ms) : 0, 1192
BytebuddyAgent [baseline] (656.718 ms) : 0, 656718
BytebuddyAgent [candidate] (661.009 ms) : 0, 661009
AgentMeter [baseline] (12.005 ms) : 0, 12005
AgentMeter [candidate] (11.976 ms) : 0, 11976
GlobalTracer [baseline] (257.871 ms) : 0, 257871
GlobalTracer [candidate] (259.308 ms) : 0, 259308
AppSec [baseline] (167.759 ms) : 0, 167759
AppSec [candidate] (168.127 ms) : 0, 168127
Debugger [baseline] (66.837 ms) : 0, 66837
Debugger [candidate] (67.216 ms) : 0, 67216
Remote Config [baseline] (649.863 µs) : 0, 650
Remote Config [candidate] (649.113 µs) : 0, 649
Telemetry [baseline] (9.461 ms) : 0, 9461
Telemetry [candidate] (9.478 ms) : 0, 9478
Flare Poller [baseline] (3.646 ms) : 0, 3646
Flare Poller [candidate] (3.693 ms) : 0, 3693
IAST [baseline] (25.244 ms) : 0, 25244
IAST [candidate] (25.474 ms) : 0, 25474
section iast
crashtracking [baseline] (1.188 ms) : 0, 1188
crashtracking [candidate] (1.185 ms) : 0, 1185
BytebuddyAgent [baseline] (793.092 ms) : 0, 793092
BytebuddyAgent [candidate] (794.933 ms) : 0, 794933
AgentMeter [baseline] (11.217 ms) : 0, 11217
AgentMeter [candidate] (11.242 ms) : 0, 11242
GlobalTracer [baseline] (246.626 ms) : 0, 246626
GlobalTracer [candidate] (246.892 ms) : 0, 246892
AppSec [baseline] (33.805 ms) : 0, 33805
AppSec [candidate] (35.429 ms) : 0, 35429
Debugger [baseline] (66.425 ms) : 0, 66425
Debugger [candidate] (64.706 ms) : 0, 64706
Remote Config [baseline] (548.785 µs) : 0, 549
Remote Config [candidate] (529.338 µs) : 0, 529
Telemetry [baseline] (8.675 ms) : 0, 8675
Telemetry [candidate] (8.572 ms) : 0, 8572
Flare Poller [baseline] (3.461 ms) : 0, 3461
Flare Poller [candidate] (3.461 ms) : 0, 3461
IAST [baseline] (26.896 ms) : 0, 26896
IAST [candidate] (27.094 ms) : 0, 27094
section profiling
crashtracking [baseline] (1.169 ms) : 0, 1169
crashtracking [candidate] (1.162 ms) : 0, 1162
BytebuddyAgent [baseline] (681.614 ms) : 0, 681614
BytebuddyAgent [candidate] (680.27 ms) : 0, 680270
AgentMeter [baseline] (8.572 ms) : 0, 8572
AgentMeter [candidate] (8.53 ms) : 0, 8530
GlobalTracer [baseline] (216.531 ms) : 0, 216531
GlobalTracer [candidate] (215.478 ms) : 0, 215478
AppSec [baseline] (32.563 ms) : 0, 32563
AppSec [candidate] (32.477 ms) : 0, 32477
Debugger [baseline] (67.522 ms) : 0, 67522
Debugger [candidate] (66.685 ms) : 0, 66685
Remote Config [baseline] (635.156 µs) : 0, 635
Remote Config [candidate] (630.593 µs) : 0, 631
Telemetry [baseline] (9.071 ms) : 0, 9071
Telemetry [candidate] (8.942 ms) : 0, 8942
Flare Poller [baseline] (3.731 ms) : 0, 3731
Flare Poller [candidate] (3.77 ms) : 0, 3770
ProfilingAgent [baseline] (98.877 ms) : 0, 98877
ProfilingAgent [candidate] (99.96 ms) : 0, 99960
Profiling [baseline] (99.448 ms) : 0, 99448
Profiling [candidate] (100.539 ms) : 0, 100539
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master daniel.mohedano/junit-console-flaky-fix
git_commit_date 1772065756 1772113159
git_commit_sha 969d21d aff07bd
release_version 1.60.0-SNAPSHOT~969d21d507 1.60.0-SNAPSHOT~aff07bd2a4
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1772115321 1772115321
ci_job_id 1458854137 1458854137
ci_pipeline_id 99138211 99138211
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-0-oxvzpjev 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-0-oxvzpjev 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 0 performance improvements and 2 performance regressions! Performance is the same for 18 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:petclinic:iast:high_load worse
[+0.734ms; +1.445ms] or [+4.211%; +8.293%]
worse
[+0.623ms; +2.125ms] or [+2.182%; +7.444%]
unstable
[-42.702op/s; +15.202op/s] or [-16.303%; +5.804%]
18.516ms 29.922ms 248.188op/s 17.426ms 28.548ms 261.938op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~aff07bd2a4, baseline=1.60.0-SNAPSHOT~969d21d507
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.18 ms) : 1168, 1191
.   : milestone, 1180,
iast (3.286 ms) : 3240, 3331
.   : milestone, 3286,
iast_FULL (5.853 ms) : 5794, 5912
.   : milestone, 5853,
iast_GLOBAL (3.651 ms) : 3592, 3710
.   : milestone, 3651,
profiling (2.257 ms) : 2235, 2280
.   : milestone, 2257,
tracing (1.788 ms) : 1774, 1802
.   : milestone, 1788,
section candidate
no_agent (1.174 ms) : 1162, 1185
.   : milestone, 1174,
iast (3.134 ms) : 3095, 3173
.   : milestone, 3134,
iast_FULL (5.935 ms) : 5876, 5993
.   : milestone, 5935,
iast_GLOBAL (3.587 ms) : 3532, 3643
.   : milestone, 3587,
profiling (2.251 ms) : 2232, 2271
.   : milestone, 2251,
tracing (1.789 ms) : 1775, 1803
.   : milestone, 1789,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.18 ms [1.168 ms, 1.191 ms] -
iast 3.286 ms [3.24 ms, 3.331 ms] 2.106 ms (178.5%)
iast_FULL 5.853 ms [5.794 ms, 5.912 ms] 4.673 ms (396.1%)
iast_GLOBAL 3.651 ms [3.592 ms, 3.71 ms] 2.471 ms (209.5%)
profiling 2.257 ms [2.235 ms, 2.28 ms] 1.078 ms (91.3%)
tracing 1.788 ms [1.774 ms, 1.802 ms] 608.479 µs (51.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.174 ms [1.162 ms, 1.185 ms] -
iast 3.134 ms [3.095 ms, 3.173 ms] 1.96 ms (167.1%)
iast_FULL 5.935 ms [5.876 ms, 5.993 ms] 4.761 ms (405.7%)
iast_GLOBAL 3.587 ms [3.532 ms, 3.643 ms] 2.414 ms (205.7%)
profiling 2.251 ms [2.232 ms, 2.271 ms] 1.078 ms (91.8%)
tracing 1.789 ms [1.775 ms, 1.803 ms] 615.395 µs (52.4%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~aff07bd2a4, baseline=1.60.0-SNAPSHOT~969d21d507
    dateFormat X
    axisFormat %s
section baseline
no_agent (17.992 ms) : 17809, 18176
.   : milestone, 17992,
appsec (18.514 ms) : 18325, 18703
.   : milestone, 18514,
code_origins (17.558 ms) : 17382, 17734
.   : milestone, 17558,
iast (17.813 ms) : 17637, 17989
.   : milestone, 17813,
profiling (18.536 ms) : 18348, 18724
.   : milestone, 18536,
tracing (18.23 ms) : 18044, 18416
.   : milestone, 18230,
section candidate
no_agent (18.079 ms) : 17896, 18262
.   : milestone, 18079,
appsec (18.407 ms) : 18221, 18593
.   : milestone, 18407,
code_origins (17.498 ms) : 17323, 17672
.   : milestone, 17498,
iast (18.807 ms) : 18619, 18995
.   : milestone, 18807,
profiling (18.399 ms) : 18215, 18583
.   : milestone, 18399,
tracing (17.741 ms) : 17565, 17917
.   : milestone, 17741,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 17.992 ms [17.809 ms, 18.176 ms] -
appsec 18.514 ms [18.325 ms, 18.703 ms] 521.659 µs (2.9%)
code_origins 17.558 ms [17.382 ms, 17.734 ms] -434.292 µs (-2.4%)
iast 17.813 ms [17.637 ms, 17.989 ms] -179.419 µs (-1.0%)
profiling 18.536 ms [18.348 ms, 18.724 ms] 543.932 µs (3.0%)
tracing 18.23 ms [18.044 ms, 18.416 ms] 237.473 µs (1.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.079 ms [17.896 ms, 18.262 ms] -
appsec 18.407 ms [18.221 ms, 18.593 ms] 328.283 µs (1.8%)
code_origins 17.498 ms [17.323 ms, 17.672 ms] -580.935 µs (-3.2%)
iast 18.807 ms [18.619 ms, 18.995 ms] 728.188 µs (4.0%)
profiling 18.399 ms [18.215 ms, 18.583 ms] 320.342 µs (1.8%)
tracing 17.741 ms [17.565 ms, 17.917 ms] -337.406 µs (-1.9%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master daniel.mohedano/junit-console-flaky-fix
git_commit_date 1772065756 1772113159
git_commit_sha 969d21d aff07bd
release_version 1.60.0-SNAPSHOT~969d21d507 1.60.0-SNAPSHOT~aff07bd2a4
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1772115078 1772115078
ci_job_id 1458854141 1458854141
ci_pipeline_id 99138211 99138211
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-0-rq3rv0ko 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-0-rq3rv0ko 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

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

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.60.0-SNAPSHOT~aff07bd2a4, baseline=1.60.0-SNAPSHOT~969d21d507
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.464 ms) : 1453, 1476
.   : milestone, 1464,
appsec (3.771 ms) : 3550, 3991
.   : milestone, 3771,
iast (2.241 ms) : 2172, 2309
.   : milestone, 2241,
iast_GLOBAL (2.287 ms) : 2218, 2356
.   : milestone, 2287,
profiling (2.102 ms) : 2045, 2158
.   : milestone, 2102,
tracing (2.043 ms) : 1990, 2096
.   : milestone, 2043,
section candidate
no_agent (1.471 ms) : 1460, 1483
.   : milestone, 1471,
appsec (3.762 ms) : 3544, 3981
.   : milestone, 3762,
iast (2.241 ms) : 2172, 2310
.   : milestone, 2241,
iast_GLOBAL (2.286 ms) : 2217, 2354
.   : milestone, 2286,
profiling (2.101 ms) : 2045, 2158
.   : milestone, 2101,
tracing (2.063 ms) : 2009, 2116
.   : milestone, 2063,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.464 ms [1.453 ms, 1.476 ms] -
appsec 3.771 ms [3.55 ms, 3.991 ms] 2.306 ms (157.5%)
iast 2.241 ms [2.172 ms, 2.309 ms] 776.041 µs (53.0%)
iast_GLOBAL 2.287 ms [2.218 ms, 2.356 ms] 822.092 µs (56.1%)
profiling 2.102 ms [2.045 ms, 2.158 ms] 637.171 µs (43.5%)
tracing 2.043 ms [1.99 ms, 2.096 ms] 578.405 µs (39.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.471 ms [1.46 ms, 1.483 ms] -
appsec 3.762 ms [3.544 ms, 3.981 ms] 2.291 ms (155.8%)
iast 2.241 ms [2.172 ms, 2.31 ms] 769.791 µs (52.3%)
iast_GLOBAL 2.286 ms [2.217 ms, 2.354 ms] 814.493 µs (55.4%)
profiling 2.101 ms [2.045 ms, 2.158 ms] 629.955 µs (42.8%)
tracing 2.063 ms [2.009 ms, 2.116 ms] 591.836 µs (40.2%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.60.0-SNAPSHOT~aff07bd2a4, baseline=1.60.0-SNAPSHOT~969d21d507
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.112 s) : 15112000, 15112000
.   : milestone, 15112000,
appsec (15.136 s) : 15136000, 15136000
.   : milestone, 15136000,
iast (18.257 s) : 18257000, 18257000
.   : milestone, 18257000,
iast_GLOBAL (17.805 s) : 17805000, 17805000
.   : milestone, 17805000,
profiling (15.388 s) : 15388000, 15388000
.   : milestone, 15388000,
tracing (14.863 s) : 14863000, 14863000
.   : milestone, 14863000,
section candidate
no_agent (15.371 s) : 15371000, 15371000
.   : milestone, 15371000,
appsec (15.074 s) : 15074000, 15074000
.   : milestone, 15074000,
iast (17.986 s) : 17986000, 17986000
.   : milestone, 17986000,
iast_GLOBAL (17.858 s) : 17858000, 17858000
.   : milestone, 17858000,
profiling (15.217 s) : 15217000, 15217000
.   : milestone, 15217000,
tracing (14.839 s) : 14839000, 14839000
.   : milestone, 14839000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.112 s [15.112 s, 15.112 s] -
appsec 15.136 s [15.136 s, 15.136 s] 24.0 ms (0.2%)
iast 18.257 s [18.257 s, 18.257 s] 3.145 s (20.8%)
iast_GLOBAL 17.805 s [17.805 s, 17.805 s] 2.693 s (17.8%)
profiling 15.388 s [15.388 s, 15.388 s] 276.0 ms (1.8%)
tracing 14.863 s [14.863 s, 14.863 s] -249.0 ms (-1.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.371 s [15.371 s, 15.371 s] -
appsec 15.074 s [15.074 s, 15.074 s] -297.0 ms (-1.9%)
iast 17.986 s [17.986 s, 17.986 s] 2.615 s (17.0%)
iast_GLOBAL 17.858 s [17.858 s, 17.858 s] 2.487 s (16.2%)
profiling 15.217 s [15.217 s, 15.217 s] -154.0 ms (-1.0%)
tracing 14.839 s [14.839 s, 14.839 s] -532.0 ms (-3.5%)

@daniel-mohedano daniel-mohedano marked this pull request as ready for review February 26, 2026 12:32
@daniel-mohedano daniel-mohedano requested review from a team as code owners February 26, 2026 12:32
@daniel-mohedano daniel-mohedano requested review from amarziali and tylfin and removed request for a team February 26, 2026 12:32
@github-actions
Copy link
Contributor

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.

@daniel-mohedano daniel-mohedano added type: bug Bug report and fix comp: debugger Dynamic Instrumentation labels Feb 26, 2026
@tylfin tylfin requested a review from jpbempel February 26, 2026 12:34
cancelSchedule(this.lowRateScheduled);
// clear interrupt flag that could be set by JVM shutdown to allow to serialize and upload
// snapshots
Thread.interrupted();
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there a catch for InterruptedException that is not reinterrupting the thread? Since I'm not sure that putting this here is the best option

Copy link
Contributor Author

Choose a reason for hiding this comment

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

In hindsight I realize that the interruption is not even in the thread performing the stop method, but rather the one with the scheduled flush, so I don't think the interrupted call does anything here, I'll update the approach (and the InterruptedException can be caught in

private List<String> getSerializedSnapshots(BlockingQueue<Snapshot> queue, int localBatchSize) {
)

Copy link
Contributor

@amarziali amarziali left a comment

Choose a reason for hiding this comment

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

Looks OK to me. I leave DI team give the formal approval. Thanks for the changes!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: debugger Dynamic Instrumentation type: bug Bug report and fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants