-
Notifications
You must be signed in to change notification settings - Fork 298
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
[🍒 #7885] Fix memory leak in Exception Replay #7888
Conversation
The weak map stateByThrowable keep the throwable as the key but this exception is also strong referenced by snapshots stored inside the ThrowableState in CapturedThrowable and in locals and extensions for @exception. Fixing by storing weak reference inside the CapturedThrowable and clearing the other ref for @exception at commit time
Debugger benchmarksParameters
See matching parameters
SummaryFound 5 performance improvements and 0 performance regressions! Performance is the same for 4 metrics, 6 unstable metrics.
See unchanged results
Request duration reports for reportsgantt
title reports - request duration [CI 0.99] : candidate=None, baseline=None
dateFormat X
axisFormat %s
section baseline
noprobe (297.496 µs) : 273, 322
. : milestone, 297,
basic (304.691 µs) : 296, 314
. : milestone, 305,
loop (10.951 ms) : 10925, 10977
. : milestone, 10951,
section candidate
noprobe (304.164 µs) : 272, 336
. : milestone, 304,
basic (302.117 µs) : 294, 310
. : milestone, 302,
loop (10.322 ms) : 10284, 10359
. : milestone, 10322,
|
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 53 metrics, 10 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.43.0-SNAPSHOT~ba91d0b1cf, baseline=1.43.0-SNAPSHOT~21c0b2df63
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.093 s) : 0, 1093115
Total [baseline] (8.596 s) : 0, 8595984
Agent [candidate] (1.087 s) : 0, 1086634
Total [candidate] (8.59 s) : 0, 8590256
section iast
Agent [baseline] (1.209 s) : 0, 1209219
Total [baseline] (9.121 s) : 0, 9120762
Agent [candidate] (1.209 s) : 0, 1209454
Total [candidate] (9.135 s) : 0, 9135350
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.209 s) : 0, 1209209
Total [baseline] (9.089 s) : 0, 9089440
Agent [candidate] (1.209 s) : 0, 1208955
Total [candidate] (9.165 s) : 0, 9164716
section iast_TELEMETRY_OFF
Agent [baseline] (1.213 s) : 0, 1212701
Total [baseline] (9.112 s) : 0, 9111649
Agent [candidate] (1.205 s) : 0, 1204574
Total [candidate] (9.156 s) : 0, 9156290
gantt
title insecure-bank - break down per module: candidate=1.43.0-SNAPSHOT~ba91d0b1cf, baseline=1.43.0-SNAPSHOT~21c0b2df63
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (693.589 ms) : 0, 693589
BytebuddyAgent [candidate] (690.15 ms) : 0, 690150
GlobalTracer [baseline] (317.97 ms) : 0, 317970
GlobalTracer [candidate] (317.547 ms) : 0, 317547
AppSec [baseline] (54.521 ms) : 0, 54521
AppSec [candidate] (54.524 ms) : 0, 54524
Remote Config [baseline] (667.57 µs) : 0, 668
Remote Config [candidate] (663.313 µs) : 0, 663
Telemetry [baseline] (12.558 ms) : 0, 12558
Telemetry [candidate] (10.012 ms) : 0, 10012
section iast
BytebuddyAgent [baseline] (805.003 ms) : 0, 805003
BytebuddyAgent [candidate] (804.075 ms) : 0, 804075
GlobalTracer [baseline] (304.914 ms) : 0, 304914
GlobalTracer [candidate] (304.989 ms) : 0, 304989
AppSec [baseline] (56.988 ms) : 0, 56988
AppSec [candidate] (55.572 ms) : 0, 55572
IAST [baseline] (20.517 ms) : 0, 20517
IAST [candidate] (22.946 ms) : 0, 22946
Remote Config [baseline] (599.35 µs) : 0, 599
Remote Config [candidate] (619.07 µs) : 0, 619
Telemetry [baseline] (7.422 ms) : 0, 7422
Telemetry [candidate] (7.461 ms) : 0, 7461
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (804.35 ms) : 0, 804350
BytebuddyAgent [candidate] (803.533 ms) : 0, 803533
GlobalTracer [baseline] (305.173 ms) : 0, 305173
GlobalTracer [candidate] (304.859 ms) : 0, 304859
AppSec [baseline] (57.452 ms) : 0, 57452
AppSec [candidate] (57.183 ms) : 0, 57183
IAST [baseline] (20.447 ms) : 0, 20447
IAST [candidate] (21.44 ms) : 0, 21440
Remote Config [baseline] (598.478 µs) : 0, 598
Remote Config [candidate] (616.383 µs) : 0, 616
Telemetry [baseline] (7.423 ms) : 0, 7423
Telemetry [candidate] (7.542 ms) : 0, 7542
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (806.861 ms) : 0, 806861
BytebuddyAgent [candidate] (800.429 ms) : 0, 800429
GlobalTracer [baseline] (306.355 ms) : 0, 306355
GlobalTracer [candidate] (304.56 ms) : 0, 304560
AppSec [baseline] (57.714 ms) : 0, 57714
AppSec [candidate] (56.989 ms) : 0, 56989
IAST [baseline] (19.974 ms) : 0, 19974
IAST [candidate] (20.92 ms) : 0, 20920
Remote Config [baseline] (584.128 µs) : 0, 584
Remote Config [candidate] (599.576 µs) : 0, 600
Telemetry [baseline] (7.41 ms) : 0, 7410
Telemetry [candidate] (7.365 ms) : 0, 7365
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.43.0-SNAPSHOT~ba91d0b1cf, baseline=1.43.0-SNAPSHOT~21c0b2df63
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.082 s) : 0, 1081849
Total [baseline] (10.39 s) : 0, 10390499
Agent [candidate] (1.085 s) : 0, 1085257
Total [candidate] (10.434 s) : 0, 10433858
section appsec
Agent [baseline] (1.222 s) : 0, 1221606
Total [baseline] (10.654 s) : 0, 10654414
Agent [candidate] (1.218 s) : 0, 1218224
Total [candidate] (10.654 s) : 0, 10653788
section iast
Agent [baseline] (1.21 s) : 0, 1210014
Total [baseline] (10.899 s) : 0, 10898858
Agent [candidate] (1.209 s) : 0, 1208756
Total [candidate] (10.933 s) : 0, 10933308
section profiling
Agent [baseline] (1.283 s) : 0, 1283003
Total [baseline] (10.826 s) : 0, 10825920
Agent [candidate] (1.283 s) : 0, 1282692
Total [candidate] (10.787 s) : 0, 10787141
gantt
title petclinic - break down per module: candidate=1.43.0-SNAPSHOT~ba91d0b1cf, baseline=1.43.0-SNAPSHOT~21c0b2df63
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (687.691 ms) : 0, 687691
BytebuddyAgent [candidate] (689.303 ms) : 0, 689303
GlobalTracer [baseline] (316.298 ms) : 0, 316298
GlobalTracer [candidate] (316.608 ms) : 0, 316608
AppSec [baseline] (54.326 ms) : 0, 54326
AppSec [candidate] (54.358 ms) : 0, 54358
Remote Config [baseline] (661.592 µs) : 0, 662
Remote Config [candidate] (662.278 µs) : 0, 662
Telemetry [baseline] (9.15 ms) : 0, 9150
Telemetry [candidate] (10.56 ms) : 0, 10560
section appsec
BytebuddyAgent [baseline] (708.862 ms) : 0, 708862
BytebuddyAgent [candidate] (706.167 ms) : 0, 706167
GlobalTracer [baseline] (314.512 ms) : 0, 314512
GlobalTracer [candidate] (313.487 ms) : 0, 313487
AppSec [baseline] (165.62 ms) : 0, 165620
AppSec [candidate] (166.776 ms) : 0, 166776
IAST [baseline] (20.07 ms) : 0, 20070
IAST [candidate] (18.633 ms) : 0, 18633
Remote Config [baseline] (640.453 µs) : 0, 640
Remote Config [candidate] (633.865 µs) : 0, 634
Telemetry [baseline] (8.175 ms) : 0, 8175
Telemetry [candidate] (8.108 ms) : 0, 8108
section iast
BytebuddyAgent [baseline] (804.742 ms) : 0, 804742
BytebuddyAgent [candidate] (803.826 ms) : 0, 803826
GlobalTracer [baseline] (305.112 ms) : 0, 305112
GlobalTracer [candidate] (304.612 ms) : 0, 304612
AppSec [baseline] (57.527 ms) : 0, 57527
AppSec [candidate] (56.199 ms) : 0, 56199
IAST [baseline] (20.776 ms) : 0, 20776
IAST [candidate] (22.264 ms) : 0, 22264
Remote Config [baseline] (611.409 µs) : 0, 611
Remote Config [candidate] (611.541 µs) : 0, 612
Telemetry [baseline] (7.487 ms) : 0, 7487
Telemetry [candidate] (7.494 ms) : 0, 7494
section profiling
BytebuddyAgent [baseline] (682.979 ms) : 0, 682979
BytebuddyAgent [candidate] (682.281 ms) : 0, 682281
GlobalTracer [baseline] (399.915 ms) : 0, 399915
GlobalTracer [candidate] (400.91 ms) : 0, 400910
AppSec [baseline] (54.869 ms) : 0, 54869
AppSec [candidate] (54.627 ms) : 0, 54627
Remote Config [baseline] (692.38 µs) : 0, 692
Remote Config [candidate] (678.002 µs) : 0, 678
Telemetry [baseline] (12.903 ms) : 0, 12903
Telemetry [candidate] (13.522 ms) : 0, 13522
ProfilingAgent [baseline] (92.542 ms) : 0, 92542
ProfilingAgent [candidate] (91.601 ms) : 0, 91601
Profiling [baseline] (92.565 ms) : 0, 92565
Profiling [candidate] (91.624 ms) : 0, 91624
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 7 metrics, 21 unstable metrics. Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.43.0-SNAPSHOT~ba91d0b1cf, baseline=1.43.0-SNAPSHOT~21c0b2df63
dateFormat X
axisFormat %s
section baseline
no_agent (1.689 ms) : 1663, 1715
. : milestone, 1689,
appsec (2.173 ms) : 2142, 2205
. : milestone, 2173,
appsec_no_iast (2.172 ms) : 2141, 2204
. : milestone, 2172,
iast (1.851 ms) : 1822, 1881
. : milestone, 1851,
profiling (1.953 ms) : 1919, 1988
. : milestone, 1953,
tracing (1.883 ms) : 1850, 1915
. : milestone, 1883,
section candidate
no_agent (1.728 ms) : 1702, 1753
. : milestone, 1728,
appsec (2.209 ms) : 2179, 2239
. : milestone, 2209,
appsec_no_iast (2.22 ms) : 2187, 2253
. : milestone, 2220,
iast (1.885 ms) : 1854, 1915
. : milestone, 1885,
profiling (1.937 ms) : 1903, 1970
. : milestone, 1937,
tracing (1.887 ms) : 1856, 1919
. : milestone, 1887,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.43.0-SNAPSHOT~ba91d0b1cf, baseline=1.43.0-SNAPSHOT~21c0b2df63
dateFormat X
axisFormat %s
section baseline
no_agent (452.936 µs) : 424, 482
. : milestone, 453,
iast (586.655 µs) : 555, 619
. : milestone, 587,
iast_FULL (835.129 µs) : 802, 868
. : milestone, 835,
iast_GLOBAL (620.685 µs) : 588, 653
. : milestone, 621,
iast_HARDCODED_SECRET_DISABLED (589.725 µs) : 557, 622
. : milestone, 590,
iast_INACTIVE (541.342 µs) : 511, 572
. : milestone, 541,
iast_TELEMETRY_OFF (573.801 µs) : 542, 606
. : milestone, 574,
tracing (533.85 µs) : 504, 564
. : milestone, 534,
section candidate
no_agent (455.799 µs) : 426, 485
. : milestone, 456,
iast (600.882 µs) : 568, 634
. : milestone, 601,
iast_FULL (836.208 µs) : 803, 869
. : milestone, 836,
iast_GLOBAL (624.102 µs) : 591, 657
. : milestone, 624,
iast_HARDCODED_SECRET_DISABLED (592.251 µs) : 560, 625
. : milestone, 592,
iast_INACTIVE (546.046 µs) : 515, 577
. : milestone, 546,
iast_TELEMETRY_OFF (576.453 µs) : 544, 609
. : milestone, 576,
tracing (532.393 µs) : 502, 562
. : milestone, 532,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.43.0-SNAPSHOT~ba91d0b1cf, baseline=1.43.0-SNAPSHOT~21c0b2df63
dateFormat X
axisFormat %s
section baseline
no_agent (1.542 ms) : 1529, 1555
. : milestone, 1542,
appsec (2.871 ms) : 2799, 2944
. : milestone, 2871,
iast (2.516 ms) : 2426, 2606
. : milestone, 2516,
iast_GLOBAL (2.579 ms) : 2488, 2669
. : milestone, 2579,
profiling (2.344 ms) : 2268, 2421
. : milestone, 2344,
tracing (2.297 ms) : 2226, 2368
. : milestone, 2297,
section candidate
no_agent (1.55 ms) : 1537, 1562
. : milestone, 1550,
appsec (2.902 ms) : 2830, 2974
. : milestone, 2902,
iast (2.502 ms) : 2414, 2590
. : milestone, 2502,
iast_GLOBAL (2.592 ms) : 2502, 2683
. : milestone, 2592,
profiling (3.024 ms) : 2755, 3293
. : milestone, 3024,
tracing (2.309 ms) : 2238, 2380
. : milestone, 2309,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.43.0-SNAPSHOT~ba91d0b1cf, baseline=1.43.0-SNAPSHOT~21c0b2df63
dateFormat X
axisFormat %s
section baseline
no_agent (20.485 s) : 20485000, 20485000
. : milestone, 20485000,
appsec (21.052 s) : 21052000, 21052000
. : milestone, 21052000,
iast (24.807 s) : 24807000, 24807000
. : milestone, 24807000,
iast_GLOBAL (25.109 s) : 25109000, 25109000
. : milestone, 25109000,
profiling (20.923 s) : 20923000, 20923000
. : milestone, 20923000,
tracing (21.378 s) : 21378000, 21378000
. : milestone, 21378000,
section candidate
no_agent (20.677 s) : 20677000, 20677000
. : milestone, 20677000,
appsec (21.424 s) : 21424000, 21424000
. : milestone, 21424000,
iast (24.657 s) : 24657000, 24657000
. : milestone, 24657000,
iast_GLOBAL (24.984 s) : 24984000, 24984000
. : milestone, 24984000,
profiling (21.206 s) : 21206000, 21206000
. : milestone, 21206000,
tracing (21.133 s) : 21133000, 21133000
. : milestone, 21133000,
|
Backport #7885 to v1.42.1
What Does This Do
The weak map stateByThrowable keep the throwable as the key but this exception is also strong referenced by snapshots stored inside the ThrowableState in CapturedThrowable and in locals and extensions for @exception.
Fixing by storing weak reference inside the CapturedThrowable and clearing the other ref for @exception at commit time
Motivation
Additional Notes
Contributor Checklist
type:
and (comp:
orinst:
) labels in addition to any usefull labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]