Skip to content

Make rum injector stream/writer more resilient to errors - #9184

Merged
amarziali merged 5 commits into
masterfrom
andrea.marziali/resilience
Aug 8, 2025
Merged

Make rum injector stream/writer more resilient to errors#9184
amarziali merged 5 commits into
masterfrom
andrea.marziali/resilience

Conversation

@amarziali

Copy link
Copy Markdown
Contributor

What Does This Do

Make InjectingPipeOutStream and InjectingPipeWriter more deterministic when an IOException is thrown by the downstream.

In this particular case, the wrappers stop trying to inject to the downstream and just delegate the writes since the underlying buffer is now in an inconsistent state (we do not know in advance which portion of the buffer has been eventually written and what will be the retry policy of the user). This implies that eventually data can be corrupted or lost (but this would also have happened without this wrapper)

However, if the error arose when draining, the draining is resumed from the position that broke.

Motivation

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@amarziali
amarziali requested a review from a team as a code ownerJuly 16, 2025 12:33
@amarziali
amarziali requested a review from smolaJuly 16, 2025 12:33
@amarzialiamarziali added type: feature Enhancements and improvements comp: rum Realtime User Monitoring labels Jul 16, 2025
@amarziali
amarziali requested a review from mccullsJuly 16, 2025 12:33
@pr-commenter

pr-commenterBot commented Jul 16, 2025

Copy link
Copy Markdown

Benchmarks

Startup

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmasterandrea.marziali/resilience
git_commit_date17544810441754486220
git_commit_sha9de0da81afeb2cac5
release_version1.53.0-SNAPSHOT~9de0da8e641.53.0-SNAPSHOT~21afeb2cac5
See matching parameters
BaselineCandidate
applicationinsecure-bankinsecure-bank
ci_job_date17544874781754487478
ci_job_id10667984311066798431
ci_pipeline_id7284406672844066
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_versionLinux runner-zfyrx7zua-project-304-concurrent-0-snkdh467 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/LinuxLinux runner-zfyrx7zua-project-304-concurrent-0-snkdh467 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
moduleAgentAgent
parentNoneNone

Summary

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

Startup time reports for petclinic
gantt
title petclinic - global startup overhead: candidate=1.53.0-SNAPSHOT~21afeb2cac5, baseline=1.53.0-SNAPSHOT~9de0da8e64
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.048 s) : 0, 1048215
Total [baseline] (10.7 s) : 0, 10699822
Agent [candidate] (1.047 s) : 0, 1046833
Total [candidate] (10.721 s) : 0, 10720951
section appsec
Agent [baseline] (1.217 s) : 0, 1217002
Total [baseline] (10.867 s) : 0, 10866568
Agent [candidate] (1.231 s) : 0, 1230903
Total [candidate] (10.81 s) : 0, 10809546
section iast
Agent [baseline] (1.183 s) : 0, 1183343
Total [baseline] (10.947 s) : 0, 10947088
Agent [candidate] (1.176 s) : 0, 1175509
Total [candidate] (10.866 s) : 0, 10866138
section profiling
Agent [baseline] (1.191 s) : 0, 1191244
Total [baseline] (10.841 s) : 0, 10841036
Agent [candidate] (1.201 s) : 0, 1200556
Total [candidate] (10.968 s) : 0, 10968106
Loading
  • baseline results
ModuleVariantDurationΔ tracing
Agenttracing1.048 s-
Agentappsec1.217 s168.787 ms (16.1%)
Agentiast1.183 s135.127 ms (12.9%)
Agentprofiling1.191 s143.029 ms (13.6%)
Totaltracing10.7 s-
Totalappsec10.867 s166.746 ms (1.6%)
Totaliast10.947 s247.266 ms (2.3%)
Totalprofiling10.841 s141.214 ms (1.3%)
  • candidate results
ModuleVariantDurationΔ tracing
Agenttracing1.047 s-
Agentappsec1.231 s184.07 ms (17.6%)
Agentiast1.176 s128.676 ms (12.3%)
Agentprofiling1.201 s153.723 ms (14.7%)
Totaltracing10.721 s-
Totalappsec10.81 s88.595 ms (0.8%)
Totaliast10.866 s145.187 ms (1.4%)
Totalprofiling10.968 s247.155 ms (2.3%)
gantt
title petclinic - break down per module: candidate=1.53.0-SNAPSHOT~21afeb2cac5, baseline=1.53.0-SNAPSHOT~9de0da8e64
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.436 ms) : 0, 1436
crashtracking [candidate] (1.42 ms) : 0, 1420
BytebuddyAgent [baseline] (734.876 ms) : 0, 734876
BytebuddyAgent [candidate] (731.851 ms) : 0, 731851
GlobalTracer [baseline] (243.15 ms) : 0, 243150
GlobalTracer [candidate] (241.869 ms) : 0, 241869
AppSec [baseline] (30.092 ms) : 0, 30092
AppSec [candidate] (29.873 ms) : 0, 29873
Debugger [baseline] (6.052 ms) : 0, 6052
Debugger [candidate] (5.991 ms) : 0, 5991
Remote Config [baseline] (756.458 µs) : 0, 756
Remote Config [candidate] (647.308 µs) : 0, 647
Telemetry [baseline] (10.09 ms) : 0, 10090
Telemetry [candidate] (14.217 ms) : 0, 14217
section appsec
crashtracking [baseline] (1.424 ms) : 0, 1424
crashtracking [candidate] (1.438 ms) : 0, 1438
BytebuddyAgent [baseline] (751.015 ms) : 0, 751015
BytebuddyAgent [candidate] (760.287 ms) : 0, 760287
GlobalTracer [baseline] (234.793 ms) : 0, 234793
GlobalTracer [candidate] (237.101 ms) : 0, 237101
AppSec [baseline] (167.609 ms) : 0, 167609
AppSec [candidate] (168.988 ms) : 0, 168988
Debugger [baseline] (7.163 ms) : 0, 7163
Debugger [candidate] (8.772 ms) : 0, 8772
Remote Config [baseline] (610.48 µs) : 0, 610
Remote Config [candidate] (650.401 µs) : 0, 650
Telemetry [baseline] (9.81 ms) : 0, 9810
Telemetry [candidate] (8.403 ms) : 0, 8403
IAST [baseline] (23.523 ms) : 0, 23523
IAST [candidate] (24.051 ms) : 0, 24051
section iast
crashtracking [baseline] (1.44 ms) : 0, 1440
crashtracking [candidate] (1.425 ms) : 0, 1425
BytebuddyAgent [baseline] (855.201 ms) : 0, 855201
BytebuddyAgent [candidate] (848.363 ms) : 0, 848363
GlobalTracer [baseline] (232.941 ms) : 0, 232941
GlobalTracer [candidate] (232.088 ms) : 0, 232088
AppSec [baseline] (27.921 ms) : 0, 27921
AppSec [candidate] (28.706 ms) : 0, 28706
Debugger [baseline] (7.62 ms) : 0, 7620
Debugger [candidate] (6.647 ms) : 0, 6647
Remote Config [baseline] (600.696 µs) : 0, 601
Remote Config [candidate] (590.582 µs) : 0, 591
Telemetry [baseline] (8.329 ms) : 0, 8329
Telemetry [candidate] (8.284 ms) : 0, 8284
IAST [baseline] (28.188 ms) : 0, 28188
IAST [candidate] (28.336 ms) : 0, 28336
section profiling
ProfilingAgent [baseline] (108.427 ms) : 0, 108427
ProfilingAgent [candidate] (107.976 ms) : 0, 107976
crashtracking [baseline] (1.394 ms) : 0, 1394
crashtracking [candidate] (1.417 ms) : 0, 1417
BytebuddyAgent [baseline] (758.066 ms) : 0, 758066
BytebuddyAgent [candidate] (765.51 ms) : 0, 765510
GlobalTracer [baseline] (221.798 ms) : 0, 221798
GlobalTracer [candidate] (222.336 ms) : 0, 222336
AppSec [baseline] (30.033 ms) : 0, 30033
AppSec [candidate] (30.46 ms) : 0, 30460
Debugger [baseline] (6.35 ms) : 0, 6350
Debugger [candidate] (6.314 ms) : 0, 6314
Remote Config [baseline] (666.478 µs) : 0, 666
Remote Config [candidate] (679.543 µs) : 0, 680
Telemetry [baseline] (15.247 ms) : 0, 15247
Telemetry [candidate] (16.123 ms) : 0, 16123
Profiling [baseline] (109.069 ms) : 0, 109069
Profiling [candidate] (108.62 ms) : 0, 108620
Loading
Startup time reports for insecure-bank
gantt
title insecure-bank - global startup overhead: candidate=1.53.0-SNAPSHOT~21afeb2cac5, baseline=1.53.0-SNAPSHOT~9de0da8e64
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.053 s) : 0, 1052858
Total [baseline] (8.578 s) : 0, 8577509
Agent [candidate] (1.051 s) : 0, 1051084
Total [candidate] (8.586 s) : 0, 8585778
section iast
Agent [baseline] (1.181 s) : 0, 1181416
Total [baseline] (9.327 s) : 0, 9327094
Agent [candidate] (1.179 s) : 0, 1179497
Total [candidate] (9.308 s) : 0, 9307725
Loading
  • baseline results
ModuleVariantDurationΔ tracing
Agenttracing1.053 s-
Agentiast1.181 s128.559 ms (12.2%)
Totaltracing8.578 s-
Totaliast9.327 s749.585 ms (8.7%)
  • candidate results
ModuleVariantDurationΔ tracing
Agenttracing1.051 s-
Agentiast1.179 s128.413 ms (12.2%)
Totaltracing8.586 s-
Totaliast9.308 s721.947 ms (8.4%)
gantt
title insecure-bank - break down per module: candidate=1.53.0-SNAPSHOT~21afeb2cac5, baseline=1.53.0-SNAPSHOT~9de0da8e64
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.447 ms) : 0, 1447
crashtracking [candidate] (1.438 ms) : 0, 1438
BytebuddyAgent [baseline] (736.737 ms) : 0, 736737
BytebuddyAgent [candidate] (735.58 ms) : 0, 735580
GlobalTracer [baseline] (243.668 ms) : 0, 243668
GlobalTracer [candidate] (243.868 ms) : 0, 243868
AppSec [baseline] (30.303 ms) : 0, 30303
AppSec [candidate] (30.25 ms) : 0, 30250
Debugger [baseline] (6.063 ms) : 0, 6063
Debugger [candidate] (6.06 ms) : 0, 6060
Remote Config [baseline] (662.547 µs) : 0, 663
Remote Config [candidate] (652.656 µs) : 0, 653
Telemetry [baseline] (12.919 ms) : 0, 12919
Telemetry [candidate] (11.448 ms) : 0, 11448
section iast
crashtracking [baseline] (1.44 ms) : 0, 1440
crashtracking [candidate] (1.443 ms) : 0, 1443
BytebuddyAgent [baseline] (853.57 ms) : 0, 853570
BytebuddyAgent [candidate] (852.573 ms) : 0, 852573
GlobalTracer [baseline] (233.039 ms) : 0, 233039
GlobalTracer [candidate] (233.271 ms) : 0, 233271
AppSec [baseline] (27.814 ms) : 0, 27814
AppSec [candidate] (26.247 ms) : 0, 26247
Debugger [baseline] (5.791 ms) : 0, 5791
Debugger [candidate] (5.825 ms) : 0, 5825
Remote Config [baseline] (599.07 µs) : 0, 599
Remote Config [candidate] (656.798 µs) : 0, 657
Telemetry [baseline] (8.239 ms) : 0, 8239
Telemetry [candidate] (8.24 ms) : 0, 8240
IAST [baseline] (29.946 ms) : 0, 29946
IAST [candidate] (30.3 ms) : 0, 30300
Loading

Load

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmasterandrea.marziali/resilience
git_commit_date17544810441754486294
git_commit_sha9de0da81afeb2cac5
release_version1.53.0-SNAPSHOT~9de0da8e641.53.0-SNAPSHOT~21afeb2cac5
See matching parameters
BaselineCandidate
applicationinsecure-bankinsecure-bank
ci_job_date17544872291754487229
ci_job_id10667984321066798432
ci_pipeline_id7284406672844066
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_versionLinux runner-zfyrx7zua-project-304-concurrent-1-wz1kuh9y 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/LinuxLinux runner-zfyrx7zua-project-304-concurrent-1-wz1kuh9y 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 2 performance regressions! Performance is the same for 9 metrics, 12 unstable metrics.

scenarioΔ mean http_req_durationΔ mean throughputcandidate mean http_req_durationcandidate mean throughputbaseline mean http_req_durationbaseline mean throughput
scenario:load:insecure-bank:tracing:high_loadworse
[+205.896µs; +446.249µs] or [+2.811%; +6.092%]
unstable
[-100.635op/s; +47.573op/s] or [-15.929%; +7.530%]
7.651ms605.250op/s7.325ms631.781op/s
scenario:load:insecure-bank:profiling:high_loadworse
[+173.651µs; +480.898µs] or [+2.052%; +5.684%]
unstable
[-86.991op/s; +46.866op/s] or [-15.878%; +8.554%]
8.789ms527.812op/s8.461ms547.875op/s
scenario:load:petclinic:profiling:high_loadbetter
[-2.066ms; -1.093ms] or [-4.188%; -2.215%]
unstable
[-4.034op/s; +10.309op/s] or [-4.250%; +10.862%]
47.751ms98.037op/s49.330ms94.900op/s
Request duration reports for insecure-bank
gantt
title insecure-bank - request duration [CI 0.99] : candidate=1.53.0-SNAPSHOT~21afeb2cac5, baseline=1.53.0-SNAPSHOT~9de0da8e64
dateFormat X
axisFormat %s
section baseline
no_agent (4.389 ms) : 4334, 4444
. : milestone, 4389,
iast (9.171 ms) : 9021, 9322
. : milestone, 9171,
iast_FULL (14.406 ms) : 14115, 14697
. : milestone, 14406,
iast_GLOBAL (10.634 ms) : 10445, 10824
. : milestone, 10634,
profiling (8.461 ms) : 8326, 8596
. : milestone, 8461,
tracing (7.325 ms) : 7216, 7435
. : milestone, 7325,
section candidate
no_agent (4.476 ms) : 4425, 4527
. : milestone, 4476,
iast (9.074 ms) : 8927, 9222
. : milestone, 9074,
iast_FULL (13.999 ms) : 13724, 14275
. : milestone, 13999,
iast_GLOBAL (10.426 ms) : 10246, 10605
. : milestone, 10426,
profiling (8.789 ms) : 8638, 8939
. : milestone, 8789,
tracing (7.651 ms) : 7537, 7765
. : milestone, 7651,
Loading
  • baseline results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent4.389 ms [4.334 ms, 4.444 ms]-
iast9.171 ms [9.021 ms, 9.322 ms]4.782 ms (109.0%)
iast_FULL14.406 ms [14.115 ms, 14.697 ms]10.017 ms (228.2%)
iast_GLOBAL10.634 ms [10.445 ms, 10.824 ms]6.245 ms (142.3%)
profiling8.461 ms [8.326 ms, 8.596 ms]4.072 ms (92.8%)
tracing7.325 ms [7.216 ms, 7.435 ms]2.936 ms (66.9%)
  • candidate results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent4.476 ms [4.425 ms, 4.527 ms]-
iast9.074 ms [8.927 ms, 9.222 ms]4.598 ms (102.7%)
iast_FULL13.999 ms [13.724 ms, 14.275 ms]9.523 ms (212.7%)
iast_GLOBAL10.426 ms [10.246 ms, 10.605 ms]5.949 ms (132.9%)
profiling8.789 ms [8.638 ms, 8.939 ms]4.312 ms (96.3%)
tracing7.651 ms [7.537 ms, 7.765 ms]3.175 ms (70.9%)
Request duration reports for petclinic
gantt
title petclinic - request duration [CI 0.99] : candidate=1.53.0-SNAPSHOT~21afeb2cac5, baseline=1.53.0-SNAPSHOT~9de0da8e64
dateFormat X
axisFormat %s
section baseline
no_agent (37.514 ms) : 37207, 37822
. : milestone, 37514,
appsec (46.404 ms) : 45998, 46811
. : milestone, 46404,
code_origins (44.328 ms) : 43949, 44706
. : milestone, 44328,
iast (45.103 ms) : 44710, 45496
. : milestone, 45103,
profiling (49.33 ms) : 48884, 49776
. : milestone, 49330,
tracing (44.197 ms) : 43827, 44566
. : milestone, 44197,
section candidate
no_agent (37.238 ms) : 36945, 37532
. : milestone, 37238,
appsec (47.121 ms) : 46710, 47531
. : milestone, 47121,
code_origins (43.937 ms) : 43555, 44318
. : milestone, 43937,
iast (44.846 ms) : 44457, 45235
. : milestone, 44846,
profiling (47.751 ms) : 47293, 48209
. : milestone, 47751,
tracing (44.103 ms) : 43730, 44476
. : milestone, 44103,
Loading
  • baseline results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent37.514 ms [37.207 ms, 37.822 ms]-
appsec46.404 ms [45.998 ms, 46.811 ms]8.89 ms (23.7%)
code_origins44.328 ms [43.949 ms, 44.706 ms]6.813 ms (18.2%)
iast45.103 ms [44.71 ms, 45.496 ms]7.589 ms (20.2%)
profiling49.33 ms [48.884 ms, 49.776 ms]11.816 ms (31.5%)
tracing44.197 ms [43.827 ms, 44.566 ms]6.682 ms (17.8%)
  • candidate results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent37.238 ms [36.945 ms, 37.532 ms]-
appsec47.121 ms [46.71 ms, 47.531 ms]9.882 ms (26.5%)
code_origins43.937 ms [43.555 ms, 44.318 ms]6.698 ms (18.0%)
iast44.846 ms [44.457 ms, 45.235 ms]7.608 ms (20.4%)
profiling47.751 ms [47.293 ms, 48.209 ms]10.512 ms (28.2%)
tracing44.103 ms [43.73 ms, 44.476 ms]6.864 ms (18.4%)

Dacapo

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmasterandrea.marziali/resilience
git_commit_date17544810441754486298
git_commit_sha9de0da81afeb2cac5
release_version1.53.0-SNAPSHOT~9de0da8e641.53.0-SNAPSHOT~21afeb2cac5
See matching parameters
BaselineCandidate
applicationbiojavabiojava
ci_job_date17544877481754487748
ci_job_id10667984331066798433
ci_pipeline_id7284406672844066
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_versionLinux runner-zfyrx7zua-project-304-concurrent-2-e5m61ed4 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/LinuxLinux runner-zfyrx7zua-project-304-concurrent-2-e5m61ed4 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

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

Execution time for biojava
gantt
title biojava - execution time [CI 0.99] : candidate=1.53.0-SNAPSHOT~21afeb2cac5, baseline=1.53.0-SNAPSHOT~9de0da8e64
dateFormat X
axisFormat %s
section baseline
no_agent (15.608 s) : 15608000, 15608000
. : milestone, 15608000,
appsec (14.76 s) : 14760000, 14760000
. : milestone, 14760000,
iast (18.598 s) : 18598000, 18598000
. : milestone, 18598000,
iast_GLOBAL (18.227 s) : 18227000, 18227000
. : milestone, 18227000,
profiling (15.375 s) : 15375000, 15375000
. : milestone, 15375000,
tracing (14.987 s) : 14987000, 14987000
. : milestone, 14987000,
section candidate
no_agent (14.934 s) : 14934000, 14934000
. : milestone, 14934000,
appsec (14.875 s) : 14875000, 14875000
. : milestone, 14875000,
iast (18.707 s) : 18707000, 18707000
. : milestone, 18707000,
iast_GLOBAL (18.012 s) : 18012000, 18012000
. : milestone, 18012000,
profiling (15.303 s) : 15303000, 15303000
. : milestone, 15303000,
tracing (15.039 s) : 15039000, 15039000
. : milestone, 15039000,
Loading
  • baseline results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent15.608 s [15.608 s, 15.608 s]-
appsec14.76 s [14.76 s, 14.76 s]-848.0 ms (-5.4%)
iast18.598 s [18.598 s, 18.598 s]2.99 s (19.2%)
iast_GLOBAL18.227 s [18.227 s, 18.227 s]2.619 s (16.8%)
profiling15.375 s [15.375 s, 15.375 s]-233.0 ms (-1.5%)
tracing14.987 s [14.987 s, 14.987 s]-621.0 ms (-4.0%)
  • candidate results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent14.934 s [14.934 s, 14.934 s]-
appsec14.875 s [14.875 s, 14.875 s]-59.0 ms (-0.4%)
iast18.707 s [18.707 s, 18.707 s]3.773 s (25.3%)
iast_GLOBAL18.012 s [18.012 s, 18.012 s]3.078 s (20.6%)
profiling15.303 s [15.303 s, 15.303 s]369.0 ms (2.5%)
tracing15.039 s [15.039 s, 15.039 s]105.0 ms (0.7%)
Execution time for tomcat
gantt
title tomcat - execution time [CI 0.99] : candidate=1.53.0-SNAPSHOT~21afeb2cac5, baseline=1.53.0-SNAPSHOT~9de0da8e64
dateFormat X
axisFormat %s
section baseline
no_agent (1.473 ms) : 1461, 1484
. : milestone, 1473,
appsec (3.652 ms) : 3435, 3869
. : milestone, 3652,
iast (2.197 ms) : 2134, 2259
. : milestone, 2197,
iast_GLOBAL (2.234 ms) : 2172, 2297
. : milestone, 2234,
profiling (2.022 ms) : 1972, 2072
. : milestone, 2022,
tracing (2.012 ms) : 1963, 2060
. : milestone, 2012,
section candidate
no_agent (1.471 ms) : 1460, 1483
. : milestone, 1471,
appsec (3.647 ms) : 3431, 3862
. : milestone, 3647,
iast (2.18 ms) : 2118, 2242
. : milestone, 2180,
iast_GLOBAL (2.226 ms) : 2164, 2288
. : milestone, 2226,
profiling (2.055 ms) : 2003, 2106
. : milestone, 2055,
tracing (2.004 ms) : 1955, 2052
. : milestone, 2004,
Loading
  • baseline results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent1.473 ms [1.461 ms, 1.484 ms]-
appsec3.652 ms [3.435 ms, 3.869 ms]2.179 ms (148.0%)
iast2.197 ms [2.134 ms, 2.259 ms]724.087 µs (49.2%)
iast_GLOBAL2.234 ms [2.172 ms, 2.297 ms]761.433 µs (51.7%)
profiling2.022 ms [1.972 ms, 2.072 ms]549.413 µs (37.3%)
tracing2.012 ms [1.963 ms, 2.06 ms]538.823 µs (36.6%)
  • candidate results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent1.471 ms [1.46 ms, 1.483 ms]-
appsec3.647 ms [3.431 ms, 3.862 ms]2.175 ms (147.8%)
iast2.18 ms [2.118 ms, 2.242 ms]708.582 µs (48.2%)
iast_GLOBAL2.226 ms [2.164 ms, 2.288 ms]754.471 µs (51.3%)
profiling2.055 ms [2.003 ms, 2.106 ms]583.047 µs (39.6%)
tracing2.004 ms [1.955 ms, 2.052 ms]532.105 µs (36.2%)

@amarziali
amarzialiforce-pushed the andrea.marziali/resilience branch from b1720e0 to 7e5f82aCompareJuly 16, 2025 13:09
@amarziali
amarziali enabled auto-merge (squash) July 17, 2025 12:36
amarzialiand others added 5 commits August 6, 2025 15:09
…strap/instrumentation/buffer/InjectingPipeOutputStream.java
Co-authored-by: Stuart McCulloch <stuart.mcculloch@datadoghq.com>
@amarziali
amarzialiforce-pushed the andrea.marziali/resilience branch from 1776d17 to 21afeb2CompareAugust 6, 2025 13:09
@amarziali
amarziali requested a review from mccullsAugust 6, 2025 13:09
@datadog-datadog-prod-us1

datadog-datadog-prod-us1Bot commented Aug 6, 2025

Copy link
Copy Markdown
Contributor

Code coverage: total 58.97%, base diff 1.70%, patch 89.06% (view details)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 21afeb2 | Docs | Was this helpful? Give us feedback!

@PerfectSlayerPerfectSlayer left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looking good. Looks like all comments and suggestions were taken care of too.

@amarziali
amarziali merged commit 707dc91 into masterAug 8, 2025
505 checks passed
@amarziali
amarziali deleted the andrea.marziali/resilience branch August 8, 2025 07:08
@github-actionsgithub-actionsBot added this to the 1.53.0 milestone Aug 8, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Sep 4, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.52.1` -> `1.53.0` |
---
### Release Notes
<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>
###
[`v1.53.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.53.0):
1.53.0
### Components
#### Application Security Management (WAF)
- 🐛 Fix NullPointerException log in AppSec
([#&#8203;9355](DataDog/dd-trace-java#9355) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Add Forwarded header as a source to client IP resolution
([#&#8203;9310](DataDog/dd-trace-java#9310) -
[@&#8203;jandro996](https://github.com/jandro996))
#### Build & Tooling
- 📖 Update CODEOWNERS
([#&#8203;9294](DataDog/dd-trace-java#9294) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Add dependency on Maven Central deployment to OCI publish
jobs
([#&#8203;9204](DataDog/dd-trace-java#9204) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
#### Continuous Integration Visibility
- ✨ Upload code coverage reports to Datadog
([#&#8203;9425](DataDog/dd-trace-java#9425) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨⚡ Do not follow symlinks by default when building
repository index
([#&#8203;9318](DataDog/dd-trace-java#9318) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Improve tag propagation between test event levels
([#&#8203;9278](DataDog/dd-trace-java#9278) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
#### Data Streams Monitoring
- ✨ Create container hash tags propagation
([#&#8203;9282](DataDog/dd-trace-java#9282) -
[@&#8203;ygree](https://github.com/ygree))
#### Database Monitoring
- 🐛 Prevent crash in SQL Server's JDBC when tracing execute methods
with generated keys
([#&#8203;9321](DataDog/dd-trace-java#9321) -
[@&#8203;na-ji](https://github.com/na-ji))
- ✨ Create container hash tags propagation
([#&#8203;9282](DataDog/dd-trace-java#9282) -
[@&#8203;ygree](https://github.com/ygree))
#### GraalVM native-image
- 🐛 Update GraalVM config to reflect TempLocationManager's new
package
([#&#8203;9337](DataDog/dd-trace-java#9337) -
[@&#8203;luneo7](https://github.com/luneo7) - thanks for the
contribution!)
#### Metrics
- 🐛 Add reflect config for CSS and graalvm
([#&#8203;9449](DataDog/dd-trace-java#9449) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Align CSS health metrics
([#&#8203;9444](DataDog/dd-trace-java#9444) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Aggregate peer tags for consumer span kind
([#&#8203;9442](DataDog/dd-trace-java#9442) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Implement health metrics for client stats
([#&#8203;9377](DataDog/dd-trace-java#9377) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add peer tags, span kind and trace root flag to MetricKey
bucket
([#&#8203;9178](DataDog/dd-trace-java#9178) -
[@&#8203;bric3](https://github.com/bric3))
#### Profiling
- ✨ Create a profile flare reporter (requires tracing or CI vis
to be enabled)
([#&#8203;9433](DataDog/dd-trace-java#9433) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 🐛 Properly fall-back on UDS profiling URL
([#&#8203;9401](DataDog/dd-trace-java#9401) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- 🐛 Properly handle trace agent IPv6 URL in profiling
([#&#8203;9334](DataDog/dd-trace-java#9334) -
[@&#8203;jbachorik](https://github.com/jbachorik))
#### Realtime User Monitoring
- 🐛 Avoid multiple injections on dispatch on jboss
([#&#8203;9392](DataDog/dd-trace-java#9392) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Support async servlet for RUM injection
([#&#8203;9333](DataDog/dd-trace-java#9333) -
[@&#8203;amarziali](https://github.com/amarziali))
- 🐛 Improve RUM injection matching and avoid truncating responses
([#&#8203;9323](DataDog/dd-trace-java#9323) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Add telemetry for the RUM injector
([#&#8203;9267](DataDog/dd-trace-java#9267) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- ✨ Make rum injector stream/writer more resilient to errors
([#&#8203;9184](DataDog/dd-trace-java#9184) -
[@&#8203;amarziali](https://github.com/amarziali))
#### Telemetry
- 🐛 Remediate error logs
([#&#8203;9459](DataDog/dd-trace-java#9459) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Report config\_id for Hands Off Config files
([#&#8203;9299](DataDog/dd-trace-java#9299) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨ Adding Config Inversion Telemetry component
([#&#8203;9244](DataDog/dd-trace-java#9244) -
[@&#8203;mhlidd](https://github.com/mhlidd))
#### Trace context propagation
- 🧹 Migrate instrumentations to Context API
([#&#8203;9384](DataDog/dd-trace-java#9384),
[#&#8203;9378](DataDog/dd-trace-java#9378),
[#&#8203;9358](DataDog/dd-trace-java#9358) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨🔍 Add baggage propagation telemetry
([#&#8203;9289](DataDog/dd-trace-java#9289) -
[@&#8203;rachelyangdog](https://github.com/rachelyangdog))
- 🧹 Improve Instrumenter API to use Context instead of Span
([#&#8203;9211](DataDog/dd-trace-java#9211) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
#### Tracer core
- 💡:test\_tube: Enable process level tags for java 21 applications
([#&#8203;9458](DataDog/dd-trace-java#9458) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Move base and peer service adder before span is published
([#&#8203;9408](DataDog/dd-trace-java#9408) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add ErrorPriorities level for manual instrumentation
([#&#8203;9387](DataDog/dd-trace-java#9387) -
[@&#8203;cecile75](https://github.com/cecile75))
- ✨ Throw InvalidBooleanValueException in
ConfigConverter.booleanValueOf
([#&#8203;9370](DataDog/dd-trace-java#9370) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- 🐛 Avoid NPE on featureDiscovery creation
([#&#8203;9353](DataDog/dd-trace-java#9353) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Stable Config improvements
([#&#8203;9259](DataDog/dd-trace-java#9259) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
### Instrumentations
#### gRPC instrumentation
- 🐛 Changing GRPC instrumentation codes from `status.code` to
`grpc.status.code`
([#&#8203;9367](DataDog/dd-trace-java#9367) -
[@&#8203;mhlidd](https://github.com/mhlidd))
#### JDBC instrumentation
- 🐛 Prevent crash in SQL Server's JDBC when tracing execute methods
with generated keys
([#&#8203;9321](DataDog/dd-trace-java#9321) -
[@&#8203;na-ji](https://github.com/na-ji))
#### Kotlin instrumentation
- 🐛 Take defensive copy of original scope stack when restoring on
different thread
([#&#8203;9403](DataDog/dd-trace-java#9403) -
[@&#8203;mcculls](https://github.com/mcculls))
#### OpenTelemetry instrumentation
- 🐛 Fix using SpanAttribute annotation on multiple parameters
([#&#8203;9412](DataDog/dd-trace-java#9412) -
[@&#8203;cecile75](https://github.com/cecile75))
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am
every weekday" in timezone Australia/Melbourne, Automerge - At any time
(no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- 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: e23ec866cef91afc6b5226d5f0dc7da538d947e8
eizus pushed a commit to cdrxyz/misk that referenced this pull request Jul 18, 2026
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.52.1` -> `1.53.0` |
---
### Release Notes
<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>
###
[`v1.53.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.53.0):
1.53.0
### Components
#### Application Security Management (WAF)
- 🐛 Fix NullPointerException log in AppSec
([#&#8203;9355](DataDog/dd-trace-java#9355) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Add Forwarded header as a source to client IP resolution
([#&#8203;9310](DataDog/dd-trace-java#9310) -
[@&#8203;jandro996](https://github.com/jandro996))
#### Build & Tooling
- 📖 Update CODEOWNERS
([#&#8203;9294](DataDog/dd-trace-java#9294) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Add dependency on Maven Central deployment to OCI publish
jobs
([#&#8203;9204](DataDog/dd-trace-java#9204) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
#### Continuous Integration Visibility
- ✨ Upload code coverage reports to Datadog
([#&#8203;9425](DataDog/dd-trace-java#9425) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨⚡ Do not follow symlinks by default when building
repository index
([#&#8203;9318](DataDog/dd-trace-java#9318) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Improve tag propagation between test event levels
([#&#8203;9278](DataDog/dd-trace-java#9278) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
#### Data Streams Monitoring
- ✨ Create container hash tags propagation
([#&#8203;9282](DataDog/dd-trace-java#9282) -
[@&#8203;ygree](https://github.com/ygree))
#### Database Monitoring
- 🐛 Prevent crash in SQL Server's JDBC when tracing execute methods
with generated keys
([#&#8203;9321](DataDog/dd-trace-java#9321) -
[@&#8203;na-ji](https://github.com/na-ji))
- ✨ Create container hash tags propagation
([#&#8203;9282](DataDog/dd-trace-java#9282) -
[@&#8203;ygree](https://github.com/ygree))
#### GraalVM native-image
- 🐛 Update GraalVM config to reflect TempLocationManager's new
package
([#&#8203;9337](DataDog/dd-trace-java#9337) -
[@&#8203;luneo7](https://github.com/luneo7) - thanks for the
contribution!)
#### Metrics
- 🐛 Add reflect config for CSS and graalvm
([#&#8203;9449](DataDog/dd-trace-java#9449) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Align CSS health metrics
([#&#8203;9444](DataDog/dd-trace-java#9444) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Aggregate peer tags for consumer span kind
([#&#8203;9442](DataDog/dd-trace-java#9442) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Implement health metrics for client stats
([#&#8203;9377](DataDog/dd-trace-java#9377) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add peer tags, span kind and trace root flag to MetricKey
bucket
([#&#8203;9178](DataDog/dd-trace-java#9178) -
[@&#8203;bric3](https://github.com/bric3))
#### Profiling
- ✨ Create a profile flare reporter (requires tracing or CI vis
to be enabled)
([#&#8203;9433](DataDog/dd-trace-java#9433) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 🐛 Properly fall-back on UDS profiling URL
([#&#8203;9401](DataDog/dd-trace-java#9401) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- 🐛 Properly handle trace agent IPv6 URL in profiling
([#&#8203;9334](DataDog/dd-trace-java#9334) -
[@&#8203;jbachorik](https://github.com/jbachorik))
#### Realtime User Monitoring
- 🐛 Avoid multiple injections on dispatch on jboss
([#&#8203;9392](DataDog/dd-trace-java#9392) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Support async servlet for RUM injection
([#&#8203;9333](DataDog/dd-trace-java#9333) -
[@&#8203;amarziali](https://github.com/amarziali))
- 🐛 Improve RUM injection matching and avoid truncating responses
([#&#8203;9323](DataDog/dd-trace-java#9323) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Add telemetry for the RUM injector
([#&#8203;9267](DataDog/dd-trace-java#9267) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- ✨ Make rum injector stream/writer more resilient to errors
([#&#8203;9184](DataDog/dd-trace-java#9184) -
[@&#8203;amarziali](https://github.com/amarziali))
#### Telemetry
- 🐛 Remediate error logs
([#&#8203;9459](DataDog/dd-trace-java#9459) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Report config\_id for Hands Off Config files
([#&#8203;9299](DataDog/dd-trace-java#9299) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨ Adding Config Inversion Telemetry component
([#&#8203;9244](DataDog/dd-trace-java#9244) -
[@&#8203;mhlidd](https://github.com/mhlidd))
#### Trace context propagation
- 🧹 Migrate instrumentations to Context API
([#&#8203;9384](DataDog/dd-trace-java#9384),
[#&#8203;9378](DataDog/dd-trace-java#9378),
[#&#8203;9358](DataDog/dd-trace-java#9358) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨🔍 Add baggage propagation telemetry
([#&#8203;9289](DataDog/dd-trace-java#9289) -
[@&#8203;rachelyangdog](https://github.com/rachelyangdog))
- 🧹 Improve Instrumenter API to use Context instead of Span
([#&#8203;9211](DataDog/dd-trace-java#9211) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
#### Tracer core
- 💡:test\_tube: Enable process level tags for java 21 applications
([#&#8203;9458](DataDog/dd-trace-java#9458) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Move base and peer service adder before span is published
([#&#8203;9408](DataDog/dd-trace-java#9408) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add ErrorPriorities level for manual instrumentation
([#&#8203;9387](DataDog/dd-trace-java#9387) -
[@&#8203;cecile75](https://github.com/cecile75))
- ✨ Throw InvalidBooleanValueException in
ConfigConverter.booleanValueOf
([#&#8203;9370](DataDog/dd-trace-java#9370) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- 🐛 Avoid NPE on featureDiscovery creation
([#&#8203;9353](DataDog/dd-trace-java#9353) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Stable Config improvements
([#&#8203;9259](DataDog/dd-trace-java#9259) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
### Instrumentations
#### gRPC instrumentation
- 🐛 Changing GRPC instrumentation codes from `status.code` to
`grpc.status.code`
([#&#8203;9367](DataDog/dd-trace-java#9367) -
[@&#8203;mhlidd](https://github.com/mhlidd))
#### JDBC instrumentation
- 🐛 Prevent crash in SQL Server's JDBC when tracing execute methods
with generated keys
([#&#8203;9321](DataDog/dd-trace-java#9321) -
[@&#8203;na-ji](https://github.com/na-ji))
#### Kotlin instrumentation
- 🐛 Take defensive copy of original scope stack when restoring on
different thread
([#&#8203;9403](DataDog/dd-trace-java#9403) -
[@&#8203;mcculls](https://github.com/mcculls))
#### OpenTelemetry instrumentation
- 🐛 Fix using SpanAttribute annotation on multiple parameters
([#&#8203;9412](DataDog/dd-trace-java#9412) -
[@&#8203;cecile75](https://github.com/cecile75))
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am
every weekday" in timezone Australia/Melbourne, Automerge - At any time
(no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- 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: e23ec866cef91afc6b5226d5f0dc7da538d947e8
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: rumRealtime User Monitoringtype: featureEnhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@amarziali@mcculls@PerfectSlayer