Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Remove cleanup-on-shutdown for temporary files #8746

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

Merged
merged 1 commit into from
Apr 30, 2025

Conversation

jbachorik
Copy link
Contributor

@jbachorik jbachorik commented Apr 28, 2025

What Does This Do

It removes the 'cleanup-on-shutdown' functionality from the TempLocationManager

Motivation

This cleanup can race against profiling-snapshot-on-shutdown and prevent those profiling snapshots to be sucessfully generated.
All of this for a small benefit of not having a few MiB of temp files for slightly longer time - the cooperative cleanup, when any other java process with the profiler starts up, will take care of those file anyway.

Additional Notes

Contributor Checklist

Jira ticket: PROF-11665

@pr-commenter
Copy link

pr-commenter bot commented Apr 28, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jb/avoid_jfr_cleanup
git_commit_date 1745996278 1745996372
git_commit_sha b781193 04a2da9
release_version 1.49.0-SNAPSHOT~b781193962 1.49.0-SNAPSHOT~04a2da9281
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1745999344 1745999344
ci_job_id 918200783 918200783
ci_pipeline_id 63701507 63701507
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-tsd2jdn2-project-304-concurrent-0-1nj6bpjx 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-tsd2jdn2-project-304-concurrent-0-1nj6bpjx 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

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.49.0-SNAPSHOT~04a2da9281, baseline=1.49.0-SNAPSHOT~b781193962

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.011 s) : 0, 1010586
Total [baseline] (8.708 s) : 0, 8708132
Agent [candidate] (1.009 s) : 0, 1008502
Total [candidate] (8.648 s) : 0, 8648067
section iast
Agent [baseline] (1.141 s) : 0, 1141164
Total [baseline] (9.263 s) : 0, 9263498
Agent [candidate] (1.147 s) : 0, 1147400
Total [candidate] (9.247 s) : 0, 9246859
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.137 s) : 0, 1136577
Total [baseline] (9.211 s) : 0, 9210659
Agent [candidate] (1.145 s) : 0, 1145148
Total [candidate] (9.205 s) : 0, 9204876
section iast_TELEMETRY_OFF
Agent [baseline] (1.133 s) : 0, 1133448
Total [baseline] (9.176 s) : 0, 9175561
Agent [candidate] (1.134 s) : 0, 1133797
Total [candidate] (9.234 s) : 0, 9234208
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.011 s -
Agent iast 1.141 s 130.578 ms (12.9%)
Agent iast_HARDCODED_SECRET_DISABLED 1.137 s 125.991 ms (12.5%)
Agent iast_TELEMETRY_OFF 1.133 s 122.862 ms (12.2%)
Total tracing 8.708 s -
Total iast 9.263 s 555.366 ms (6.4%)
Total iast_HARDCODED_SECRET_DISABLED 9.211 s 502.527 ms (5.8%)
Total iast_TELEMETRY_OFF 9.176 s 467.429 ms (5.4%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.009 s -
Agent iast 1.147 s 138.897 ms (13.8%)
Agent iast_HARDCODED_SECRET_DISABLED 1.145 s 136.646 ms (13.5%)
Agent iast_TELEMETRY_OFF 1.134 s 125.294 ms (12.4%)
Total tracing 8.648 s -
Total iast 9.247 s 598.793 ms (6.9%)
Total iast_HARDCODED_SECRET_DISABLED 9.205 s 556.809 ms (6.4%)
Total iast_TELEMETRY_OFF 9.234 s 586.141 ms (6.8%)
gantt
    title insecure-bank - break down per module: candidate=1.49.0-SNAPSHOT~04a2da9281, baseline=1.49.0-SNAPSHOT~b781193962

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (673.576 ms) : 0, 673576
BytebuddyAgent [candidate] (671.847 ms) : 0, 671847
GlobalTracer [baseline] (241.097 ms) : 0, 241097
GlobalTracer [candidate] (240.81 ms) : 0, 240810
AppSec [baseline] (54.861 ms) : 0, 54861
AppSec [candidate] (54.914 ms) : 0, 54914
Debugger [baseline] (6.141 ms) : 0, 6141
Debugger [candidate] (6.123 ms) : 0, 6123
Remote Config [baseline] (698.619 µs) : 0, 699
Remote Config [candidate] (693.096 µs) : 0, 693
Telemetry [baseline] (10.798 ms) : 0, 10798
Telemetry [candidate] (10.745 ms) : 0, 10745
section iast
BytebuddyAgent [baseline] (791.699 ms) : 0, 791699
BytebuddyAgent [candidate] (797.603 ms) : 0, 797603
GlobalTracer [baseline] (232.058 ms) : 0, 232058
GlobalTracer [candidate] (232.155 ms) : 0, 232155
IAST [baseline] (22.857 ms) : 0, 22857
IAST [candidate] (23.016 ms) : 0, 23016
AppSec [baseline] (56.592 ms) : 0, 56592
AppSec [candidate] (56.648 ms) : 0, 56648
Debugger [baseline] (5.911 ms) : 0, 5911
Debugger [candidate] (5.878 ms) : 0, 5878
Remote Config [baseline] (595.819 µs) : 0, 596
Remote Config [candidate] (593.073 µs) : 0, 593
Telemetry [baseline] (7.947 ms) : 0, 7947
Telemetry [candidate] (7.909 ms) : 0, 7909
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (789.948 ms) : 0, 789948
BytebuddyAgent [candidate] (796.393 ms) : 0, 796393
GlobalTracer [baseline] (229.958 ms) : 0, 229958
GlobalTracer [candidate] (231.597 ms) : 0, 231597
IAST [baseline] (22.695 ms) : 0, 22695
IAST [candidate] (22.97 ms) : 0, 22970
AppSec [baseline] (56.239 ms) : 0, 56239
AppSec [candidate] (56.289 ms) : 0, 56289
Debugger [baseline] (5.812 ms) : 0, 5812
Debugger [candidate] (5.862 ms) : 0, 5862
Remote Config [baseline] (601.652 µs) : 0, 602
Remote Config [candidate] (594.251 µs) : 0, 594
Telemetry [baseline] (7.866 ms) : 0, 7866
Telemetry [candidate] (7.866 ms) : 0, 7866
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (787.246 ms) : 0, 787246
BytebuddyAgent [candidate] (787.162 ms) : 0, 787162
GlobalTracer [baseline] (230.264 ms) : 0, 230264
GlobalTracer [candidate] (230.599 ms) : 0, 230599
IAST [baseline] (22.279 ms) : 0, 22279
IAST [candidate] (22.952 ms) : 0, 22952
AppSec [baseline] (56.076 ms) : 0, 56076
AppSec [candidate] (55.389 ms) : 0, 55389
Debugger [baseline] (5.872 ms) : 0, 5872
Debugger [candidate] (5.965 ms) : 0, 5965
Remote Config [baseline] (599.845 µs) : 0, 600
Remote Config [candidate] (613.083 µs) : 0, 613
Telemetry [baseline] (7.735 ms) : 0, 7735
Telemetry [candidate] (7.763 ms) : 0, 7763
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.49.0-SNAPSHOT~04a2da9281, baseline=1.49.0-SNAPSHOT~b781193962

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.02 s) : 0, 1020423
Total [baseline] (10.531 s) : 0, 10531376
Agent [candidate] (1.008 s) : 0, 1007787
Total [candidate] (10.459 s) : 0, 10459450
section appsec
Agent [baseline] (1.151 s) : 0, 1151265
Total [baseline] (10.734 s) : 0, 10733762
Agent [candidate] (1.152 s) : 0, 1151509
Total [candidate] (10.728 s) : 0, 10728449
section iast
Agent [baseline] (1.143 s) : 0, 1143250
Total [baseline] (10.892 s) : 0, 10892483
Agent [candidate] (1.152 s) : 0, 1152077
Total [candidate] (10.946 s) : 0, 10945594
section profiling
Agent [baseline] (1.261 s) : 0, 1260742
Total [baseline] (10.811 s) : 0, 10811127
Agent [candidate] (1.259 s) : 0, 1259262
Total [candidate] (10.82 s) : 0, 10820076
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.02 s -
Agent appsec 1.151 s 130.842 ms (12.8%)
Agent iast 1.143 s 122.828 ms (12.0%)
Agent profiling 1.261 s 240.32 ms (23.6%)
Total tracing 10.531 s -
Total appsec 10.734 s 202.386 ms (1.9%)
Total iast 10.892 s 361.107 ms (3.4%)
Total profiling 10.811 s 279.751 ms (2.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.008 s -
Agent appsec 1.152 s 143.722 ms (14.3%)
Agent iast 1.152 s 144.29 ms (14.3%)
Agent profiling 1.259 s 251.475 ms (25.0%)
Total tracing 10.459 s -
Total appsec 10.728 s 268.999 ms (2.6%)
Total iast 10.946 s 486.145 ms (4.6%)
Total profiling 10.82 s 360.626 ms (3.4%)
gantt
    title petclinic - break down per module: candidate=1.49.0-SNAPSHOT~04a2da9281, baseline=1.49.0-SNAPSHOT~b781193962

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (680.126 ms) : 0, 680126
BytebuddyAgent [candidate] (671.477 ms) : 0, 671477
GlobalTracer [baseline] (242.317 ms) : 0, 242317
GlobalTracer [candidate] (240.907 ms) : 0, 240907
AppSec [baseline] (55.055 ms) : 0, 55055
AppSec [candidate] (54.496 ms) : 0, 54496
Debugger [baseline] (6.896 ms) : 0, 6896
Debugger [candidate] (6.118 ms) : 0, 6118
Remote Config [baseline] (784.99 µs) : 0, 785
Remote Config [candidate] (700.133 µs) : 0, 700
Telemetry [baseline] (11.51 ms) : 0, 11510
Telemetry [candidate] (10.619 ms) : 0, 10619
section appsec
BytebuddyAgent [baseline] (689.728 ms) : 0, 689728
BytebuddyAgent [candidate] (689.792 ms) : 0, 689792
GlobalTracer [baseline] (237.187 ms) : 0, 237187
GlobalTracer [candidate] (237.39 ms) : 0, 237390
AppSec [baseline] (175.378 ms) : 0, 175378
AppSec [candidate] (176.067 ms) : 0, 176067
Debugger [baseline] (5.861 ms) : 0, 5861
Debugger [candidate] (5.857 ms) : 0, 5857
Remote Config [baseline] (634.737 µs) : 0, 635
Remote Config [candidate] (636.533 µs) : 0, 637
Telemetry [baseline] (8.148 ms) : 0, 8148
Telemetry [candidate] (7.414 ms) : 0, 7414
IAST [baseline] (21.797 ms) : 0, 21797
IAST [candidate] (21.76 ms) : 0, 21760
section iast
BytebuddyAgent [baseline] (794.029 ms) : 0, 794029
BytebuddyAgent [candidate] (800.984 ms) : 0, 800984
GlobalTracer [baseline] (231.824 ms) : 0, 231824
GlobalTracer [candidate] (233.363 ms) : 0, 233363
AppSec [baseline] (56.563 ms) : 0, 56563
AppSec [candidate] (56.467 ms) : 0, 56467
Debugger [baseline] (5.933 ms) : 0, 5933
Debugger [candidate] (5.978 ms) : 0, 5978
Remote Config [baseline] (606.683 µs) : 0, 607
Remote Config [candidate] (606.014 µs) : 0, 606
Telemetry [baseline] (7.918 ms) : 0, 7918
Telemetry [candidate] (8.007 ms) : 0, 8007
IAST [baseline] (22.838 ms) : 0, 22838
IAST [candidate] (23.032 ms) : 0, 23032
section profiling
ProfilingAgent [baseline] (97.252 ms) : 0, 97252
ProfilingAgent [candidate] (96.552 ms) : 0, 96552
BytebuddyAgent [baseline] (663.38 ms) : 0, 663380
BytebuddyAgent [candidate] (663.27 ms) : 0, 663270
GlobalTracer [baseline] (380.389 ms) : 0, 380389
GlobalTracer [candidate] (380.282 ms) : 0, 380282
AppSec [baseline] (53.814 ms) : 0, 53814
AppSec [candidate] (53.969 ms) : 0, 53969
Debugger [baseline] (6.879 ms) : 0, 6879
Debugger [candidate] (6.15 ms) : 0, 6150
Remote Config [baseline] (661.292 µs) : 0, 661
Remote Config [candidate] (651.231 µs) : 0, 651
Telemetry [baseline] (8.152 ms) : 0, 8152
Telemetry [candidate] (8.199 ms) : 0, 8199
Profiling [baseline] (97.275 ms) : 0, 97275
Profiling [candidate] (96.576 ms) : 0, 96576
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-04-30T07:19:17 2025-04-30T07:27:01
git_branch master jb/avoid_jfr_cleanup
git_commit_date 1745996278 1745996372
git_commit_sha b781193 04a2da9
release_version 1.49.0-SNAPSHOT~b781193962 1.49.0-SNAPSHOT~04a2da9281
start_time 2025-04-30T07:19:03 2025-04-30T07:26:47
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1745998418 1745998418
ci_job_id 918200784 918200784
ci_pipeline_id 63701507 63701507
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-tsd2jdn2-project-304-concurrent-1-itbou753 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-tsd2jdn2-project-304-concurrent-1-itbou753 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant iast iast

Summary

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

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.49.0-SNAPSHOT~04a2da9281, baseline=1.49.0-SNAPSHOT~b781193962
    dateFormat X
    axisFormat %s
section baseline
no_agent (383.376 µs) : 364, 403
.   : milestone, 383,
iast (527.997 µs) : 505, 551
.   : milestone, 528,
iast_FULL (739.772 µs) : 717, 763
.   : milestone, 740,
iast_GLOBAL (557.358 µs) : 535, 580
.   : milestone, 557,
iast_HARDCODED_SECRET_DISABLED (528.148 µs) : 506, 551
.   : milestone, 528,
iast_INACTIVE (471.018 µs) : 448, 494
.   : milestone, 471,
iast_TELEMETRY_OFF (514.984 µs) : 492, 538
.   : milestone, 515,
tracing (465.136 µs) : 443, 488
.   : milestone, 465,
section candidate
no_agent (386.389 µs) : 366, 407
.   : milestone, 386,
iast (519.609 µs) : 496, 543
.   : milestone, 520,
iast_FULL (743.586 µs) : 720, 767
.   : milestone, 744,
iast_GLOBAL (560.439 µs) : 537, 584
.   : milestone, 560,
iast_HARDCODED_SECRET_DISABLED (532.097 µs) : 509, 555
.   : milestone, 532,
iast_INACTIVE (462.581 µs) : 441, 485
.   : milestone, 463,
iast_TELEMETRY_OFF (518.363 µs) : 495, 542
.   : milestone, 518,
tracing (463.149 µs) : 442, 485
.   : milestone, 463,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 383.376 µs [363.527 µs, 403.224 µs] -
iast 527.997 µs [505.071 µs, 550.922 µs] 144.621 µs (37.7%)
iast_FULL 739.772 µs [716.755 µs, 762.789 µs] 356.396 µs (93.0%)
iast_GLOBAL 557.358 µs [534.599 µs, 580.116 µs] 173.982 µs (45.4%)
iast_HARDCODED_SECRET_DISABLED 528.148 µs [505.527 µs, 550.769 µs] 144.772 µs (37.8%)
iast_INACTIVE 471.018 µs [448.065 µs, 493.972 µs] 87.643 µs (22.9%)
iast_TELEMETRY_OFF 514.984 µs [492.421 µs, 537.546 µs] 131.608 µs (34.3%)
tracing 465.136 µs [442.543 µs, 487.729 µs] 81.76 µs (21.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 386.389 µs [365.786 µs, 406.992 µs] -
iast 519.609 µs [496.366 µs, 542.853 µs] 133.22 µs (34.5%)
iast_FULL 743.586 µs [720.065 µs, 767.107 µs] 357.197 µs (92.4%)
iast_GLOBAL 560.439 µs [537.091 µs, 583.786 µs] 174.05 µs (45.0%)
iast_HARDCODED_SECRET_DISABLED 532.097 µs [509.286 µs, 554.907 µs] 145.708 µs (37.7%)
iast_INACTIVE 462.581 µs [440.569 µs, 484.593 µs] 76.192 µs (19.7%)
iast_TELEMETRY_OFF 518.363 µs [495.021 µs, 541.704 µs] 131.974 µs (34.2%)
tracing 463.149 µs [441.558 µs, 484.74 µs] 76.76 µs (19.9%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.49.0-SNAPSHOT~04a2da9281, baseline=1.49.0-SNAPSHOT~b781193962
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.362 ms) : 1342, 1382
.   : milestone, 1362,
appsec (1.732 ms) : 1709, 1755
.   : milestone, 1732,
appsec_no_iast (1.743 ms) : 1720, 1766
.   : milestone, 1743,
code_origins (1.674 ms) : 1647, 1702
.   : milestone, 1674,
iast (1.518 ms) : 1494, 1541
.   : milestone, 1518,
profiling (1.525 ms) : 1501, 1548
.   : milestone, 1525,
tracing (1.501 ms) : 1476, 1526
.   : milestone, 1501,
section candidate
no_agent (1.356 ms) : 1335, 1376
.   : milestone, 1356,
appsec (1.744 ms) : 1720, 1767
.   : milestone, 1744,
appsec_no_iast (1.736 ms) : 1712, 1759
.   : milestone, 1736,
code_origins (1.656 ms) : 1629, 1684
.   : milestone, 1656,
iast (1.523 ms) : 1498, 1548
.   : milestone, 1523,
profiling (1.511 ms) : 1488, 1535
.   : milestone, 1511,
tracing (1.482 ms) : 1458, 1507
.   : milestone, 1482,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.362 ms [1.342 ms, 1.382 ms] -
appsec 1.732 ms [1.709 ms, 1.755 ms] 370.082 µs (27.2%)
appsec_no_iast 1.743 ms [1.72 ms, 1.766 ms] 380.653 µs (27.9%)
code_origins 1.674 ms [1.647 ms, 1.702 ms] 312.565 µs (23.0%)
iast 1.518 ms [1.494 ms, 1.541 ms] 155.591 µs (11.4%)
profiling 1.525 ms [1.501 ms, 1.548 ms] 162.643 µs (11.9%)
tracing 1.501 ms [1.476 ms, 1.526 ms] 138.952 µs (10.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.356 ms [1.335 ms, 1.376 ms] -
appsec 1.744 ms [1.72 ms, 1.767 ms] 388.099 µs (28.6%)
appsec_no_iast 1.736 ms [1.712 ms, 1.759 ms] 379.821 µs (28.0%)
code_origins 1.656 ms [1.629 ms, 1.684 ms] 300.719 µs (22.2%)
iast 1.523 ms [1.498 ms, 1.548 ms] 167.551 µs (12.4%)
profiling 1.511 ms [1.488 ms, 1.535 ms] 155.446 µs (11.5%)
tracing 1.482 ms [1.458 ms, 1.507 ms] 126.767 µs (9.4%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jb/avoid_jfr_cleanup
git_commit_date 1745996278 1745996372
git_commit_sha b781193 04a2da9
release_version 1.49.0-SNAPSHOT~b781193962 1.49.0-SNAPSHOT~04a2da9281
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1745998937 1745998937
ci_job_id 918200785 918200785
ci_pipeline_id 63701507 63701507
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zazntmgv-project-304-concurrent-0-o06tek3i 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zazntmgv-project-304-concurrent-0-o06tek3i 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant appsec appsec

Summary

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

Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.49.0-SNAPSHOT~04a2da9281, baseline=1.49.0-SNAPSHOT~b781193962
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.466 s) : 15466000, 15466000
.   : milestone, 15466000,
appsec (14.882 s) : 14882000, 14882000
.   : milestone, 14882000,
iast (18.848 s) : 18848000, 18848000
.   : milestone, 18848000,
iast_GLOBAL (18.244 s) : 18244000, 18244000
.   : milestone, 18244000,
profiling (14.907 s) : 14907000, 14907000
.   : milestone, 14907000,
tracing (14.847 s) : 14847000, 14847000
.   : milestone, 14847000,
section candidate
no_agent (14.632 s) : 14632000, 14632000
.   : milestone, 14632000,
appsec (15.06 s) : 15060000, 15060000
.   : milestone, 15060000,
iast (18.234 s) : 18234000, 18234000
.   : milestone, 18234000,
iast_GLOBAL (18.119 s) : 18119000, 18119000
.   : milestone, 18119000,
profiling (14.967 s) : 14967000, 14967000
.   : milestone, 14967000,
tracing (14.85 s) : 14850000, 14850000
.   : milestone, 14850000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.466 s [15.466 s, 15.466 s] -
appsec 14.882 s [14.882 s, 14.882 s] -584.0 ms (-3.8%)
iast 18.848 s [18.848 s, 18.848 s] 3.382 s (21.9%)
iast_GLOBAL 18.244 s [18.244 s, 18.244 s] 2.778 s (18.0%)
profiling 14.907 s [14.907 s, 14.907 s] -559.0 ms (-3.6%)
tracing 14.847 s [14.847 s, 14.847 s] -619.0 ms (-4.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.632 s [14.632 s, 14.632 s] -
appsec 15.06 s [15.06 s, 15.06 s] 428.0 ms (2.9%)
iast 18.234 s [18.234 s, 18.234 s] 3.602 s (24.6%)
iast_GLOBAL 18.119 s [18.119 s, 18.119 s] 3.487 s (23.8%)
profiling 14.967 s [14.967 s, 14.967 s] 335.0 ms (2.3%)
tracing 14.85 s [14.85 s, 14.85 s] 218.0 ms (1.5%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.49.0-SNAPSHOT~04a2da9281, baseline=1.49.0-SNAPSHOT~b781193962
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.475 ms) : 1463, 1487
.   : milestone, 1475,
appsec (2.38 ms) : 2333, 2426
.   : milestone, 2380,
iast (2.158 ms) : 2099, 2218
.   : milestone, 2158,
iast_GLOBAL (2.206 ms) : 2147, 2266
.   : milestone, 2206,
profiling (2.023 ms) : 1974, 2071
.   : milestone, 2023,
tracing (1.984 ms) : 1938, 2029
.   : milestone, 1984,
section candidate
no_agent (1.473 ms) : 1461, 1484
.   : milestone, 1473,
appsec (2.382 ms) : 2335, 2429
.   : milestone, 2382,
iast (2.162 ms) : 2103, 2222
.   : milestone, 2162,
iast_GLOBAL (2.208 ms) : 2148, 2268
.   : milestone, 2208,
profiling (2.005 ms) : 1958, 2052
.   : milestone, 2005,
tracing (2.002 ms) : 1956, 2048
.   : milestone, 2002,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.475 ms [1.463 ms, 1.487 ms] -
appsec 2.38 ms [2.333 ms, 2.426 ms] 904.558 µs (61.3%)
iast 2.158 ms [2.099 ms, 2.218 ms] 683.468 µs (46.3%)
iast_GLOBAL 2.206 ms [2.147 ms, 2.266 ms] 731.281 µs (49.6%)
profiling 2.023 ms [1.974 ms, 2.071 ms] 547.774 µs (37.1%)
tracing 1.984 ms [1.938 ms, 2.029 ms] 508.597 µs (34.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.473 ms [1.461 ms, 1.484 ms] -
appsec 2.382 ms [2.335 ms, 2.429 ms] 908.98 µs (61.7%)
iast 2.162 ms [2.103 ms, 2.222 ms] 689.384 µs (46.8%)
iast_GLOBAL 2.208 ms [2.148 ms, 2.268 ms] 735.41 µs (49.9%)
profiling 2.005 ms [1.958 ms, 2.052 ms] 532.385 µs (36.1%)
tracing 2.002 ms [1.956 ms, 2.048 ms] 529.077 µs (35.9%)

@jbachorik jbachorik marked this pull request as ready for review April 28, 2025 18:11
@jbachorik jbachorik requested a review from a team as a code owner April 28, 2025 18:11
@jbachorik jbachorik requested a review from Copilot April 28, 2025 18:43
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR removes the shutdown hook–based temporary file cleanup from the TempLocationManager to avoid race conditions with profiling snapshot generation. Key changes include:

  • Removing the shutdown hook and self-cleanup parameter from TempLocationManager.
  • Updating tests to call cleanup() without the self-cleanup flag.
  • Introducing a new ignore(Path) method to allow specific temporary paths to be exempted from cleanup.

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
dd-java-agent/agent-profiling/profiling-controller/src/test/java/com/datadog/profiling/controller/TempLocationManagerTest.java Updated cleanup method calls in tests to remove selfCleanup parameter.
dd-java-agent/agent-profiling/profiling-controller/src/main/java/com/datadog/profiling/controller/TempLocationManager.java Removed shutdown hook logic and associated self-cleanup code; modified the CleanupHook interface and CleanupVisitor accordingly; added an ignore(Path) method.
dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/OpenJdkController.java Updated to retrieve the TempLocationManager instance before resolving the JFR repository path.
Comments suppressed due to low confidence (3)

dd-java-agent/agent-profiling/profiling-controller/src/main/java/com/datadog/profiling/controller/TempLocationManager.java:299

  • The removal of the shutdown hook is in line with the PR purpose; please ensure that the cooperative cleanup mechanism adequately handles leftover temporary files in all runtime scenarios.
Runtime.getRuntime().addShutdownHook(selfCleanup);

dd-java-agent/agent-profiling/profiling-controller/src/main/java/com/datadog/profiling/controller/TempLocationManager.java:365

  • Consider adding unit tests and JavaDoc for the new ignore(Path path) method to ensure its behavior is well validated.
public void ignore(Path path) {

dd-java-agent/agent-profiling/profiling-controller/src/main/java/com/datadog/profiling/controller/TempLocationManager.java:105

  • [nitpick] The removal of the self-cleanup check in preVisitDirectory affects the exclusion of the JFR repository. Please confirm this change is intentional and update the inline comments to clarify the intended behavior.
if (cleanSelf && JFR_DIR_PATTERN.matcher(dir.getFileName().toString()).matches()) {

@jbachorik jbachorik force-pushed the jb/avoid_jfr_cleanup branch from 6730e44 to 7d91b63 Compare April 29, 2025 14:36
@jbachorik jbachorik force-pushed the jb/avoid_jfr_cleanup branch from 7d91b63 to 04a2da9 Compare April 30, 2025 06:59
@jbachorik jbachorik merged commit bdab655 into master Apr 30, 2025
453 of 455 checks passed
@jbachorik jbachorik deleted the jb/avoid_jfr_cleanup branch April 30, 2025 08:06
@github-actions github-actions bot added this to the 1.49.0 milestone Apr 30, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request May 7, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.cloud:google-cloud-logging](https://github.com/googleapis/java-logging)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`3.22.2` -> `3.22.3` |
|
[com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.28.0` -> `2.28.1` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.48.2` -> `1.49.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |
| [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |

---

### Release Notes

<details>
<summary>googleapis/java-logging
(com.google.cloud:google-cloud-logging)</summary>

###
[`v3.22.3`](https://github.com/googleapis/java-logging/blob/HEAD/CHANGELOG.md#3223-2025-05-06)

##### Bug Fixes

- **deps:** Update the Java code generator (gapic-generator-java) to
2.56.3
([844f4fa](googleapis/java-logging@844f4fa))

##### Dependencies

- Update dependency com.google.cloud:sdk-platform-java-config to v3.46.3
([#&#8203;1801](googleapis/java-logging#1801))
([d7aa7bc](googleapis/java-logging@d7aa7bc))
- Update dependency com.google.cloud:sdk-platform-java-config to v3.47.0
([#&#8203;1803](googleapis/java-logging#1803))
([5967ffe](googleapis/java-logging@5967ffe))
- Update googleapis/sdk-platform-java action to v2.57.0
([#&#8203;1804](googleapis/java-logging#1804))
([e9a27ec](googleapis/java-logging@e9a27ec))

</details>

<details>
<summary>googleapis/java-datastore
(com.google.cloud:google-cloud-datastore)</summary>

###
[`v2.28.1`](https://github.com/googleapis/java-datastore/blob/HEAD/CHANGELOG.md#2281-2025-05-06)

##### Dependencies

- Update dependency com.google.cloud:sdk-platform-java-config to v3.47.0
([#&#8203;1841](googleapis/java-datastore#1841))
([ac393e6](googleapis/java-datastore@ac393e6))
- Update googleapis/sdk-platform-java action to v2.57.0
([#&#8203;1842](googleapis/java-datastore#1842))
([0745906](googleapis/java-datastore@0745906))

</details>

<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>

###
[`v1.49.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.49.0):
1.49.0

### Components

#### Configuration at Runtime

- ✨ Add process tags as list to remote config payload
([#&#8203;8705](DataDog/dd-trace-java#8705) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Continuous Integration Visibility

- 🐛 Add span propagation for Pekko scheduled tasks
([#&#8203;8765](DataDog/dd-trace-java#8765) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Update test.retry_reason to use full name of the feature
([#&#8203;8689](DataDog/dd-trace-java#8689) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🧹 Remove unused TestEventsHandler methods
([#&#8203;8674](DataDog/dd-trace-java#8674) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))

#### Dynamic Instrumentation

- 🐛 Fix exclude identifiers normalization
([#&#8203;8742](DataDog/dd-trace-java#8742) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Make source file tracking asynchronous
([#&#8203;8684](DataDog/dd-trace-java#8684) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add scope filtering for symbol extraction
([#&#8203;8676](DataDog/dd-trace-java#8676) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add support for [@&#8203;key](https://github.com/key) and
[@&#8203;value](https://github.com/value) for Map filtering
([#&#8203;8669](DataDog/dd-trace-java#8669) -
[@&#8203;jpbempel](https://github.com/jpbempel))

#### Library Injection

- ✨ Add system property to force injection of the tracing
library even though multiple javaagents have been detected
([#&#8203;8697](DataDog/dd-trace-java#8697) -
[@&#8203;cecile75](https://github.com/cecile75))

#### Metrics

- ✨ Allow dogstatsd port to be configurable with
DD_DOGSTATSD_PORT
([#&#8203;8693](DataDog/dd-trace-java#8693) -
[@&#8203;randomanderson](https://github.com/randomanderson))

#### Profiling

- ✨ Bump ddprof-java to 1.25.1
([#&#8203;8750](DataDog/dd-trace-java#8750) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- 🐛 Remove cleanup-on-shutdown for temporary files
([#&#8203;8746](DataDog/dd-trace-java#8746) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨⚡ Replace a regex-based SMAP parser with a hand-crafted
one
([#&#8203;8730](DataDog/dd-trace-java#8730) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Improve error reporting on profiler startup
([#&#8203;8714](DataDog/dd-trace-java#8714) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Exclude ProxyLeakTask exception from exception profiling
([#&#8203;8666](DataDog/dd-trace-java#8666) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Use jvmstat for JDKs 9+ programmatically
([#&#8203;8641](DataDog/dd-trace-java#8641) -
[@&#8203;MattAlp](https://github.com/MattAlp))

#### Telemetry

- ✨ Allow dogstatsd port to be configurable with
DD_DOGSTATSD_PORT
([#&#8203;8693](DataDog/dd-trace-java#8693) -
[@&#8203;randomanderson](https://github.com/randomanderson))
- 🐛 Fix appsec.waf.requests telemetry metric
([#&#8203;8644](DataDog/dd-trace-java#8644) -
[@&#8203;jandro996](https://github.com/jandro996))

#### Tracer core

- ✨ Exclude jackson afterburner dynamic classes from
instrumentation
([#&#8203;8747](DataDog/dd-trace-java#8747) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Introduce Java 8 bytecode bridge for instrumentation API
([#&#8203;8736](DataDog/dd-trace-java#8736) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ⚡🧹 Use byte-buddy classes optimized for Java8+
([#&#8203;8735](DataDog/dd-trace-java#8735) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🐛 Do not set the hibernate or datanucleus span service name when
disabled
([#&#8203;8727](DataDog/dd-trace-java#8727) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Update bytebuddy and ASM to support JDK 24
([#&#8203;8720](DataDog/dd-trace-java#8720) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- 🐛 Turn off JDK socket support by default
([#&#8203;8715](DataDog/dd-trace-java#8715) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🐛 Log warning when trace buffer overflow occurs
([#&#8203;8712](DataDog/dd-trace-java#8712) -
[@&#8203;ygree](https://github.com/ygree))
- ✨🧪 Introducing an internal integration name
([#&#8203;8708](DataDog/dd-trace-java#8708) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add process tags to client stats payload
([#&#8203;8704](DataDog/dd-trace-java#8704) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Collect process tags for tracing
([#&#8203;8698](DataDog/dd-trace-java#8698) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Stable Config file: target system properties in
process_arguments and support template variables in YamlParser
([#&#8203;8690](DataDog/dd-trace-java#8690) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨⚡ Use prefix trie for proxy ignores
([#&#8203;8678](DataDog/dd-trace-java#8678) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Allow agent to be automatically injected when running aside
Log4J patch agent
([#&#8203;8648](DataDog/dd-trace-java#8648) -
[@&#8203;paullegranddc](https://github.com/paullegranddc))
- ✨ Use jvmstat for JDKs 9+ programmatically
([#&#8203;8641](DataDog/dd-trace-java#8641) -
[@&#8203;MattAlp](https://github.com/MattAlp))

#### Tracer internal logging

- 🐛 Delete print line
([#&#8203;8686](DataDog/dd-trace-java#8686) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

### Instrumentations

#### Akka instrumentation

- 🐛 Handle reentrant scope cleanup in Akka/Pekko actor
instrumentations
([#&#8203;8722](DataDog/dd-trace-java#8722) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Apache Spark instrumentation

- ✨ Use OpenLineage root parent information to generate trace
id ([#&#8203;8726](DataDog/dd-trace-java#8726)
- [@&#8203;mobuchowski](https://github.com/mobuchowski))
- ✨ Spark job cancellation no longer marks application as
failed
([#&#8203;8701](DataDog/dd-trace-java#8701) -
[@&#8203;paul-laffon-dd](https://github.com/paul-laffon-dd))

#### JDBC instrumentation

- 💡 Add support for sybase tds jdbc driver
([#&#8203;8764](DataDog/dd-trace-java#8764) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Kotlin instrumentation

- 🐛 Take defensive copy of parent scope stack when closing nested
coroutines
([#&#8203;8749](DataDog/dd-trace-java#8749) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Reactor instrumentation

- ✨⚡ Do not inspect reactor context when not needed
([#&#8203;8745](DataDog/dd-trace-java#8745) -
[@&#8203;amarziali](https://github.com/amarziali))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am
every weekday" in timezone Australia/Melbourne, Automerge - At any time
(no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

GitOrigin-RevId: 795f347ae34d056efc1194c2f606cee7bca1beea
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants