Skip to content
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

Only fork jps when required #8419

Merged
merged 1 commit into from
Feb 19, 2025
Merged

Conversation

mcculls
Copy link
Contributor

@mcculls mcculls commented Feb 18, 2025

Motivation

Ideally we wouldn't need to use jps at all, but we can still avoid calling it until necessary to reduce overhead - as well as reducing the risk of port collisions, such as reported in #8148

Additional Notes

We might want to introduce a CachingSupplier helper class or similar to simplify this approach if we end up using it in more places.

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@mcculls mcculls requested a review from a team as a code owner February 18, 2025 22:00
@mcculls mcculls requested a review from jbachorik February 18, 2025 22:00
@pr-commenter
Copy link

pr-commenter bot commented Feb 18, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/only-fork-jps-when-required
git_commit_date 1739916594 1739921836
git_commit_sha 17f4653 756ae4e
release_version 1.47.0-SNAPSHOT~17f4653dc5 1.47.0-SNAPSHOT~756ae4eb9b
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1739924139 1739924139
ci_job_id 813177403 813177403
ci_pipeline_id 56232060 56232060
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-m6ysev4j-project-304-concurrent-0-ir3z0803 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-m6ysev4j-project-304-concurrent-0-ir3z0803 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 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 56 metrics, 7 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.47.0-SNAPSHOT~756ae4eb9b, baseline=1.47.0-SNAPSHOT~17f4653dc5

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.039 s) : 0, 1038586
Total [baseline] (8.622 s) : 0, 8622041
Agent [candidate] (1.038 s) : 0, 1038473
Total [candidate] (8.639 s) : 0, 8638612
section iast
Agent [baseline] (1.172 s) : 0, 1171830
Total [baseline] (9.196 s) : 0, 9196430
Agent [candidate] (1.195 s) : 0, 1195120
Total [candidate] (9.248 s) : 0, 9248494
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.17 s) : 0, 1169741
Total [baseline] (9.193 s) : 0, 9193374
Agent [candidate] (1.171 s) : 0, 1171318
Total [candidate] (9.193 s) : 0, 9192534
section iast_TELEMETRY_OFF
Agent [baseline] (1.177 s) : 0, 1176993
Total [baseline] (9.204 s) : 0, 9204061
Agent [candidate] (1.167 s) : 0, 1167164
Total [candidate] (9.253 s) : 0, 9253368
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.039 s -
Agent iast 1.172 s 133.244 ms (12.8%)
Agent iast_HARDCODED_SECRET_DISABLED 1.17 s 131.154 ms (12.6%)
Agent iast_TELEMETRY_OFF 1.177 s 138.407 ms (13.3%)
Total tracing 8.622 s -
Total iast 9.196 s 574.389 ms (6.7%)
Total iast_HARDCODED_SECRET_DISABLED 9.193 s 571.333 ms (6.6%)
Total iast_TELEMETRY_OFF 9.204 s 582.02 ms (6.8%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.038 s -
Agent iast 1.195 s 156.647 ms (15.1%)
Agent iast_HARDCODED_SECRET_DISABLED 1.171 s 132.845 ms (12.8%)
Agent iast_TELEMETRY_OFF 1.167 s 128.691 ms (12.4%)
Total tracing 8.639 s -
Total iast 9.248 s 609.882 ms (7.1%)
Total iast_HARDCODED_SECRET_DISABLED 9.193 s 553.923 ms (6.4%)
Total iast_TELEMETRY_OFF 9.253 s 614.757 ms (7.1%)
gantt
    title insecure-bank - break down per module: candidate=1.47.0-SNAPSHOT~756ae4eb9b, baseline=1.47.0-SNAPSHOT~17f4653dc5

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (716.274 ms) : 0, 716274
BytebuddyAgent [candidate] (716.563 ms) : 0, 716563
GlobalTracer [baseline] (239.112 ms) : 0, 239112
GlobalTracer [candidate] (239.265 ms) : 0, 239265
AppSec [baseline] (55.201 ms) : 0, 55201
AppSec [candidate] (55.507 ms) : 0, 55507
Remote Config [baseline] (686.733 µs) : 0, 687
Remote Config [candidate] (691.013 µs) : 0, 691
Telemetry [baseline] (12.11 ms) : 0, 12110
Telemetry [candidate] (11.269 ms) : 0, 11269
section iast
BytebuddyAgent [baseline] (836.611 ms) : 0, 836611
BytebuddyAgent [candidate] (854.685 ms) : 0, 854685
GlobalTracer [baseline] (230.848 ms) : 0, 230848
GlobalTracer [candidate] (233.801 ms) : 0, 233801
IAST [baseline] (22.746 ms) : 0, 22746
IAST [candidate] (23.382 ms) : 0, 23382
AppSec [baseline] (57.01 ms) : 0, 57010
AppSec [candidate] (58.002 ms) : 0, 58002
Remote Config [baseline] (661.156 µs) : 0, 661
Remote Config [candidate] (638.538 µs) : 0, 639
Telemetry [baseline] (8.699 ms) : 0, 8699
Telemetry [candidate] (9.008 ms) : 0, 9008
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (834.488 ms) : 0, 834488
BytebuddyAgent [candidate] (835.233 ms) : 0, 835233
GlobalTracer [baseline] (230.07 ms) : 0, 230070
GlobalTracer [candidate] (231.389 ms) : 0, 231389
IAST [baseline] (23.051 ms) : 0, 23051
IAST [candidate] (23.039 ms) : 0, 23039
AppSec [baseline] (57.514 ms) : 0, 57514
AppSec [candidate] (57.031 ms) : 0, 57031
Remote Config [baseline] (621.493 µs) : 0, 621
Remote Config [candidate] (617.968 µs) : 0, 618
Telemetry [baseline] (8.778 ms) : 0, 8778
Telemetry [candidate] (8.756 ms) : 0, 8756
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (840.57 ms) : 0, 840570
BytebuddyAgent [candidate] (833.218 ms) : 0, 833218
GlobalTracer [baseline] (231.542 ms) : 0, 231542
GlobalTracer [candidate] (230.253 ms) : 0, 230253
IAST [baseline] (24.272 ms) : 0, 24272
IAST [candidate] (27.066 ms) : 0, 27066
AppSec [baseline] (55.849 ms) : 0, 55849
AppSec [candidate] (52.193 ms) : 0, 52193
Remote Config [baseline] (636.433 µs) : 0, 636
Remote Config [candidate] (620.765 µs) : 0, 621
Telemetry [baseline] (8.649 ms) : 0, 8649
Telemetry [candidate] (8.598 ms) : 0, 8598
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.47.0-SNAPSHOT~756ae4eb9b, baseline=1.47.0-SNAPSHOT~17f4653dc5

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.047 s) : 0, 1047118
Total [baseline] (10.62 s) : 0, 10619959
Agent [candidate] (1.054 s) : 0, 1054414
Total [candidate] (10.432 s) : 0, 10432040
section appsec
Agent [baseline] (1.185 s) : 0, 1185296
Total [baseline] (10.735 s) : 0, 10734560
Agent [candidate] (1.186 s) : 0, 1185950
Total [candidate] (10.729 s) : 0, 10728948
section iast
Agent [baseline] (1.174 s) : 0, 1174281
Total [baseline] (11.044 s) : 0, 11043682
Agent [candidate] (1.179 s) : 0, 1179233
Total [candidate] (10.937 s) : 0, 10936919
section profiling
Agent [baseline] (1.262 s) : 0, 1262325
Total [baseline] (10.842 s) : 0, 10841885
Agent [candidate] (1.261 s) : 0, 1260986
Total [candidate] (10.794 s) : 0, 10793563
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.047 s -
Agent appsec 1.185 s 138.179 ms (13.2%)
Agent iast 1.174 s 127.163 ms (12.1%)
Agent profiling 1.262 s 215.207 ms (20.6%)
Total tracing 10.62 s -
Total appsec 10.735 s 114.601 ms (1.1%)
Total iast 11.044 s 423.723 ms (4.0%)
Total profiling 10.842 s 221.926 ms (2.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.054 s -
Agent appsec 1.186 s 131.536 ms (12.5%)
Agent iast 1.179 s 124.819 ms (11.8%)
Agent profiling 1.261 s 206.572 ms (19.6%)
Total tracing 10.432 s -
Total appsec 10.729 s 296.908 ms (2.8%)
Total iast 10.937 s 504.879 ms (4.8%)
Total profiling 10.794 s 361.523 ms (3.5%)
gantt
    title petclinic - break down per module: candidate=1.47.0-SNAPSHOT~756ae4eb9b, baseline=1.47.0-SNAPSHOT~17f4653dc5

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (721.43 ms) : 0, 721430
BytebuddyAgent [candidate] (726.709 ms) : 0, 726709
GlobalTracer [baseline] (240.81 ms) : 0, 240810
GlobalTracer [candidate] (242.327 ms) : 0, 242327
AppSec [baseline] (55.937 ms) : 0, 55937
AppSec [candidate] (55.913 ms) : 0, 55913
Remote Config [baseline] (713.543 µs) : 0, 714
Remote Config [candidate] (712.45 µs) : 0, 712
Telemetry [baseline] (12.902 ms) : 0, 12902
Telemetry [candidate] (13.344 ms) : 0, 13344
section appsec
BytebuddyAgent [baseline] (736.706 ms) : 0, 736706
BytebuddyAgent [candidate] (737.177 ms) : 0, 737177
GlobalTracer [baseline] (237.062 ms) : 0, 237062
GlobalTracer [candidate] (237.178 ms) : 0, 237178
IAST [baseline] (21.536 ms) : 0, 21536
IAST [candidate] (21.699 ms) : 0, 21699
AppSec [baseline] (176.568 ms) : 0, 176568
AppSec [candidate] (176.582 ms) : 0, 176582
Remote Config [baseline] (672.717 µs) : 0, 673
Remote Config [candidate] (656.938 µs) : 0, 657
Telemetry [baseline] (8.294 ms) : 0, 8294
Telemetry [candidate] (8.244 ms) : 0, 8244
section iast
BytebuddyAgent [baseline] (836.748 ms) : 0, 836748
BytebuddyAgent [candidate] (841.553 ms) : 0, 841553
GlobalTracer [baseline] (232.179 ms) : 0, 232179
GlobalTracer [candidate] (231.715 ms) : 0, 231715
IAST [baseline] (23.179 ms) : 0, 23179
IAST [candidate] (23.185 ms) : 0, 23185
AppSec [baseline] (57.525 ms) : 0, 57525
AppSec [candidate] (58.022 ms) : 0, 58022
Remote Config [baseline] (622.22 µs) : 0, 622
Remote Config [candidate] (621.861 µs) : 0, 622
Telemetry [baseline] (8.793 ms) : 0, 8793
Telemetry [candidate] (8.839 ms) : 0, 8839
section profiling
BytebuddyAgent [baseline] (709.229 ms) : 0, 709229
BytebuddyAgent [candidate] (708.222 ms) : 0, 708222
GlobalTracer [baseline] (349.849 ms) : 0, 349849
GlobalTracer [candidate] (350.181 ms) : 0, 350181
AppSec [baseline] (55.299 ms) : 0, 55299
AppSec [candidate] (54.748 ms) : 0, 54748
Remote Config [baseline] (671.52 µs) : 0, 672
Remote Config [candidate] (671.4 µs) : 0, 671
Telemetry [baseline] (8.9 ms) : 0, 8900
Telemetry [candidate] (8.976 ms) : 0, 8976
ProfilingAgent [baseline] (96.103 ms) : 0, 96103
ProfilingAgent [candidate] (95.799 ms) : 0, 95799
Profiling [baseline] (96.128 ms) : 0, 96128
Profiling [candidate] (95.826 ms) : 0, 95826
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-02-18T23:45:38 2025-02-18T23:52:43
git_branch master mcculls/only-fork-jps-when-required
git_commit_date 1739916594 1739921836
git_commit_sha 17f4653 756ae4e
release_version 1.47.0-SNAPSHOT~17f4653dc5 1.47.0-SNAPSHOT~756ae4eb9b
start_time 2025-02-18T23:45:24 2025-02-18T23:52:29
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1739923121 1739923121
ci_job_id 813177404 813177404
ci_pipeline_id 56232060 56232060
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-m6ysev4j-project-304-concurrent-1-3svpwq5c 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-m6ysev4j-project-304-concurrent-1-3svpwq5c 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 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 11 metrics, 17 unstable metrics.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~756ae4eb9b, baseline=1.47.0-SNAPSHOT~17f4653dc5
    dateFormat X
    axisFormat %s
section baseline
no_agent (377.711 µs) : 356, 399
.   : milestone, 378,
iast (504.905 µs) : 483, 526
.   : milestone, 505,
iast_FULL (728.54 µs) : 707, 750
.   : milestone, 729,
iast_GLOBAL (561.705 µs) : 539, 585
.   : milestone, 562,
iast_HARDCODED_SECRET_DISABLED (507.087 µs) : 484, 530
.   : milestone, 507,
iast_INACTIVE (457.619 µs) : 436, 479
.   : milestone, 458,
iast_TELEMETRY_OFF (500.391 µs) : 477, 524
.   : milestone, 500,
tracing (461.385 µs) : 440, 483
.   : milestone, 461,
section candidate
no_agent (376.331 µs) : 357, 396
.   : milestone, 376,
iast (504.204 µs) : 482, 526
.   : milestone, 504,
iast_FULL (722.362 µs) : 700, 744
.   : milestone, 722,
iast_GLOBAL (560.812 µs) : 538, 583
.   : milestone, 561,
iast_HARDCODED_SECRET_DISABLED (506.435 µs) : 484, 528
.   : milestone, 506,
iast_INACTIVE (460.759 µs) : 439, 482
.   : milestone, 461,
iast_TELEMETRY_OFF (493.006 µs) : 471, 515
.   : milestone, 493,
tracing (453.47 µs) : 432, 475
.   : milestone, 453,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 377.711 µs [356.217 µs, 399.206 µs] -
iast 504.905 µs [483.381 µs, 526.429 µs] 127.194 µs (33.7%)
iast_FULL 728.54 µs [706.751 µs, 750.33 µs] 350.829 µs (92.9%)
iast_GLOBAL 561.705 µs [538.528 µs, 584.882 µs] 183.994 µs (48.7%)
iast_HARDCODED_SECRET_DISABLED 507.087 µs [484.462 µs, 529.712 µs] 129.375 µs (34.3%)
iast_INACTIVE 457.619 µs [436.207 µs, 479.032 µs] 79.908 µs (21.2%)
iast_TELEMETRY_OFF 500.391 µs [476.995 µs, 523.787 µs] 122.68 µs (32.5%)
tracing 461.385 µs [439.912 µs, 482.858 µs] 83.674 µs (22.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 376.331 µs [356.645 µs, 396.016 µs] -
iast 504.204 µs [482.279 µs, 526.129 µs] 127.873 µs (34.0%)
iast_FULL 722.362 µs [700.286 µs, 744.439 µs] 346.032 µs (91.9%)
iast_GLOBAL 560.812 µs [538.169 µs, 583.454 µs] 184.481 µs (49.0%)
iast_HARDCODED_SECRET_DISABLED 506.435 µs [484.373 µs, 528.497 µs] 130.104 µs (34.6%)
iast_INACTIVE 460.759 µs [439.474 µs, 482.044 µs] 84.428 µs (22.4%)
iast_TELEMETRY_OFF 493.006 µs [471.073 µs, 514.939 µs] 116.675 µs (31.0%)
tracing 453.47 µs [432.002 µs, 474.938 µs] 77.139 µs (20.5%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~756ae4eb9b, baseline=1.47.0-SNAPSHOT~17f4653dc5
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.368 ms) : 1348, 1387
.   : milestone, 1368,
appsec (1.748 ms) : 1724, 1772
.   : milestone, 1748,
appsec_no_iast (1.762 ms) : 1739, 1786
.   : milestone, 1762,
iast (1.528 ms) : 1505, 1551
.   : milestone, 1528,
profiling (1.549 ms) : 1524, 1574
.   : milestone, 1549,
tracing (1.477 ms) : 1451, 1502
.   : milestone, 1477,
section candidate
no_agent (1.338 ms) : 1318, 1358
.   : milestone, 1338,
appsec (1.76 ms) : 1737, 1784
.   : milestone, 1760,
appsec_no_iast (1.737 ms) : 1712, 1762
.   : milestone, 1737,
iast (1.517 ms) : 1493, 1541
.   : milestone, 1517,
profiling (1.552 ms) : 1528, 1577
.   : milestone, 1552,
tracing (1.506 ms) : 1481, 1531
.   : milestone, 1506,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.368 ms [1.348 ms, 1.387 ms] -
appsec 1.748 ms [1.724 ms, 1.772 ms] 380.151 µs (27.8%)
appsec_no_iast 1.762 ms [1.739 ms, 1.786 ms] 394.901 µs (28.9%)
iast 1.528 ms [1.505 ms, 1.551 ms] 160.408 µs (11.7%)
profiling 1.549 ms [1.524 ms, 1.574 ms] 181.365 µs (13.3%)
tracing 1.477 ms [1.451 ms, 1.502 ms] 108.939 µs (8.0%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.338 ms [1.318 ms, 1.358 ms] -
appsec 1.76 ms [1.737 ms, 1.784 ms] 422.897 µs (31.6%)
appsec_no_iast 1.737 ms [1.712 ms, 1.762 ms] 399.504 µs (29.9%)
iast 1.517 ms [1.493 ms, 1.541 ms] 179.536 µs (13.4%)
profiling 1.552 ms [1.528 ms, 1.577 ms] 214.783 µs (16.1%)
tracing 1.506 ms [1.481 ms, 1.531 ms] 168.09 µs (12.6%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/only-fork-jps-when-required
git_commit_date 1739916594 1739921836
git_commit_sha 17f4653 756ae4e
release_version 1.47.0-SNAPSHOT~17f4653dc5 1.47.0-SNAPSHOT~756ae4eb9b
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1739923672 1739923672
ci_job_id 813177405 813177405
ci_pipeline_id 56232060 56232060
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-m6ysev4j-project-304-concurrent-2-ydiww7z1 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-m6ysev4j-project-304-concurrent-2-ydiww7z1 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 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.47.0-SNAPSHOT~756ae4eb9b, baseline=1.47.0-SNAPSHOT~17f4653dc5
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.449 s) : 15449000, 15449000
.   : milestone, 15449000,
appsec (15.186 s) : 15186000, 15186000
.   : milestone, 15186000,
iast (18.85 s) : 18850000, 18850000
.   : milestone, 18850000,
iast_GLOBAL (17.853 s) : 17853000, 17853000
.   : milestone, 17853000,
profiling (15.167 s) : 15167000, 15167000
.   : milestone, 15167000,
tracing (14.81 s) : 14810000, 14810000
.   : milestone, 14810000,
section candidate
no_agent (14.917 s) : 14917000, 14917000
.   : milestone, 14917000,
appsec (14.88 s) : 14880000, 14880000
.   : milestone, 14880000,
iast (18.537 s) : 18537000, 18537000
.   : milestone, 18537000,
iast_GLOBAL (17.948 s) : 17948000, 17948000
.   : milestone, 17948000,
profiling (15.228 s) : 15228000, 15228000
.   : milestone, 15228000,
tracing (14.785 s) : 14785000, 14785000
.   : milestone, 14785000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.449 s [15.449 s, 15.449 s] -
appsec 15.186 s [15.186 s, 15.186 s] -263.0 ms (-1.7%)
iast 18.85 s [18.85 s, 18.85 s] 3.401 s (22.0%)
iast_GLOBAL 17.853 s [17.853 s, 17.853 s] 2.404 s (15.6%)
profiling 15.167 s [15.167 s, 15.167 s] -282.0 ms (-1.8%)
tracing 14.81 s [14.81 s, 14.81 s] -639.0 ms (-4.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.917 s [14.917 s, 14.917 s] -
appsec 14.88 s [14.88 s, 14.88 s] -37.0 ms (-0.2%)
iast 18.537 s [18.537 s, 18.537 s] 3.62 s (24.3%)
iast_GLOBAL 17.948 s [17.948 s, 17.948 s] 3.031 s (20.3%)
profiling 15.228 s [15.228 s, 15.228 s] 311.0 ms (2.1%)
tracing 14.785 s [14.785 s, 14.785 s] -132.0 ms (-0.9%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~756ae4eb9b, baseline=1.47.0-SNAPSHOT~17f4653dc5
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.471 ms) : 1460, 1482
.   : milestone, 1471,
appsec (2.371 ms) : 2327, 2414
.   : milestone, 2371,
iast (2.106 ms) : 2050, 2161
.   : milestone, 2106,
iast_GLOBAL (2.148 ms) : 2093, 2204
.   : milestone, 2148,
profiling (1.981 ms) : 1937, 2025
.   : milestone, 1981,
tracing (1.946 ms) : 1903, 1988
.   : milestone, 1946,
section candidate
no_agent (1.475 ms) : 1463, 1486
.   : milestone, 1475,
appsec (2.373 ms) : 2329, 2417
.   : milestone, 2373,
iast (2.118 ms) : 2063, 2174
.   : milestone, 2118,
iast_GLOBAL (2.168 ms) : 2112, 2224
.   : milestone, 2168,
profiling (1.995 ms) : 1951, 2040
.   : milestone, 1995,
tracing (1.953 ms) : 1911, 1996
.   : milestone, 1953,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.471 ms [1.46 ms, 1.482 ms] -
appsec 2.371 ms [2.327 ms, 2.414 ms] 899.88 µs (61.2%)
iast 2.106 ms [2.05 ms, 2.161 ms] 634.844 µs (43.2%)
iast_GLOBAL 2.148 ms [2.093 ms, 2.204 ms] 677.391 µs (46.1%)
profiling 1.981 ms [1.937 ms, 2.025 ms] 509.645 µs (34.6%)
tracing 1.946 ms [1.903 ms, 1.988 ms] 474.838 µs (32.3%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.475 ms [1.463 ms, 1.486 ms] -
appsec 2.373 ms [2.329 ms, 2.417 ms] 898.022 µs (60.9%)
iast 2.118 ms [2.063 ms, 2.174 ms] 643.4 µs (43.6%)
iast_GLOBAL 2.168 ms [2.112 ms, 2.224 ms] 693.564 µs (47.0%)
profiling 1.995 ms [1.951 ms, 2.04 ms] 520.544 µs (35.3%)
tracing 1.953 ms [1.911 ms, 1.996 ms] 478.321 µs (32.4%)

@mcculls mcculls force-pushed the mcculls/only-fork-jps-when-required branch from d8086f4 to 756ae4e Compare February 18, 2025 23:37
@mcculls mcculls merged commit a55351f into master Feb 19, 2025
203 checks passed
@mcculls mcculls deleted the mcculls/only-fork-jps-when-required branch February 19, 2025 19:37
@github-actions github-actions bot added this to the 1.47.0 milestone Feb 19, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Mar 6, 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.46.1` -> `1.47.0` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.46.1` -> `1.47.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |
| [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |

---

### Release Notes

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

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

##### Components

##### Application Security Management (IAST)

- 🐛 Exclude com.stripe.net.HttpURLConnectionClient to solve IAST
SSRF vulnerability false positives
([#&#8203;8483](DataDog/dd-trace-java#8483) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Add exclusion to solve IAST weak randomness vulnerability false
positives
([#&#8203;8462](DataDog/dd-trace-java#8462) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Fix weak randomness false positive in Kafka client
([#&#8203;8408](DataDog/dd-trace-java#8408) -
[@&#8203;smola](https://github.com/smola))
- ✨ Fix location for SSRF with Kong Unirest
([#&#8203;8407](DataDog/dd-trace-java#8407) -
[@&#8203;smola](https://github.com/smola))
- ✨ Exclude IBM Instana from IAST
([#&#8203;8406](DataDog/dd-trace-java#8406) -
[@&#8203;smola](https://github.com/smola))
- 🐛 Fix org.json iast instrumentation test for latest dependency
([#&#8203;8347](DataDog/dd-trace-java#8347) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Configuration to Disable APM Tracing
([#&#8203;8219](DataDog/dd-trace-java#8219) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Address cookie vulnerability cardinality issues
([#&#8203;8210](DataDog/dd-trace-java#8210) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Email HTML Injection detection in IAST
([#&#8203;8205](DataDog/dd-trace-java#8205) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))

##### Application Security Management (WAF)

- 🐛✨ Ensure usr.exists tag is not overridden when
UsernameNotFoundException is thrown
([#&#8203;8376](DataDog/dd-trace-java#8376) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- 🐛✨ Ensure usr.exists tag is not overridden by auto
instrumentation
([#&#8203;8374](DataDog/dd-trace-java#8374) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Update appsec metrics with event_rules_version tag
([#&#8203;8354](DataDog/dd-trace-java#8354) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Update metrics: appsec.waf.requests
([#&#8203;8353](DataDog/dd-trace-java#8353) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Improve ASM support in vert.x 5.0
([#&#8203;8285](DataDog/dd-trace-java#8285) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Update metrics: appsec.waf.updates and appsec.waf.init
([#&#8203;8280](DataDog/dd-trace-java#8280) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Configuration to Disable APM Tracing
([#&#8203;8219](DataDog/dd-trace-java#8219) -
[@&#8203;jandro996](https://github.com/jandro996))

##### Build & Tooling

- 🐛 Do not generate Muzzle references for primitive arrays in method
body
([#&#8203;8361](DataDog/dd-trace-java#8361) -
[@&#8203;amarziali](https://github.com/amarziali))
- 📖 Improve dev env setup documentation for Windows
([#&#8203;8180](DataDog/dd-trace-java#8180) -
[@&#8203;lucaspimentel](https://github.com/lucaspimentel))

##### Continuous Integration Visibility

- ✨ Add support for skip-EFD tagging
([#&#8203;8487](DataDog/dd-trace-java#8487) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix an NPE in Gradle Android instrumentation
([#&#8203;8484](DataDog/dd-trace-java#8484) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Consider modified tests when applying fail-fast tests
ordering
([#&#8203;8474](DataDog/dd-trace-java#8474) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Implement tests reordering for TestNG
([#&#8203;8467](DataDog/dd-trace-java#8467) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix Gradle Launcher instrumentation to not interfere with Gradle
Test Kit
([#&#8203;8465](DataDog/dd-trace-java#8465) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Use separate TestEventHandlers per framework in CI Vis
instrumentations
([#&#8203;8451](DataDog/dd-trace-java#8451) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Remove warning log when JUnit 4 test method cannot be
retrieved
([#&#8203;8445](DataDog/dd-trace-java#8445) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix Scalatest tracing for tests that are reported asynchronously
([#&#8203;8444](DataDog/dd-trace-java#8444) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Implement attempt to fix tests
([#&#8203;8393](DataDog/dd-trace-java#8393) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement test disabling
([#&#8203;8377](DataDog/dd-trace-java#8377) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Update CODEOWNERS parser to not log errors on comments with
leading whitespace
([#&#8203;8349](DataDog/dd-trace-java#8349) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Request Test Management tests list
([#&#8203;8345](DataDog/dd-trace-java#8345) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Receive test management settings from CIVis settings
request
([#&#8203;8331](DataDog/dd-trace-java#8331) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement quarantined tests tagging
([#&#8203;8326](DataDog/dd-trace-java#8326) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Implement tests quarantining
([#&#8203;8320](DataDog/dd-trace-java#8320) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add tag to specify if the user is setting DD_SERVICE
([#&#8203;8318](DataDog/dd-trace-java#8318) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))

##### Crash tracking

- ✨ Only fork jps when required
([#&#8203;8419](DataDog/dd-trace-java#8419) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🐛 Use Java home of the crashed process to launch crash uploader
([#&#8203;8348](DataDog/dd-trace-java#8348) -
[@&#8203;jbachorik](https://github.com/jbachorik))

##### Data Streams Monitoring

- 🐛 Fix error happening when sqs message attributes are readonly
([#&#8203;8473](DataDog/dd-trace-java#8473) -
[@&#8203;vandonr](https://github.com/vandonr))
- 🐛 Fix bug on proto schema extraction
([#&#8203;8403](DataDog/dd-trace-java#8403) -
[@&#8203;vandonr](https://github.com/vandonr))
- 🐛 Fix service name overrides in consumers
([#&#8203;8387](DataDog/dd-trace-java#8387) -
[@&#8203;piochelepiotr](https://github.com/piochelepiotr))

##### Database Monitoring

- ✨ Add DBMTracePreparedStatements to tracer configuration log
([#&#8203;8508](DataDog/dd-trace-java#8508) -
[@&#8203;cecile75](https://github.com/cecile75))

##### Dynamic Instrumentation

- ✨ Look in another location for grpc service methods
([#&#8203;8468](DataDog/dd-trace-java#8468) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Fix Exception Replay with Lambda proxy classes
([#&#8203;8452](DataDog/dd-trace-java#8452) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add code origin support for spring-webmvc
([#&#8203;8416](DataDog/dd-trace-java#8416) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Add support for scanning jar from loaded class
([#&#8203;8370](DataDog/dd-trace-java#8370) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Disable capture of entry values
([#&#8203;8369](DataDog/dd-trace-java#8369) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix CodeOrigin for `@Trace` annotation
([#&#8203;8344](DataDog/dd-trace-java#8344) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix equals/hashCode for CodeOrigin probe
([#&#8203;8319](DataDog/dd-trace-java#8319) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add code origin support to kafka message listeners
([#&#8203;8301](DataDog/dd-trace-java#8301) -
[@&#8203;evanchooly](https://github.com/evanchooly))

##### Metrics

- ✨ Create metric: appsec.waf.error
([#&#8203;8381](DataDog/dd-trace-java#8381) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Create metric: appsec.rasp.error
([#&#8203;8364](DataDog/dd-trace-java#8364) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))

##### Profiling

- ✨ Bump ddprof library to 1.22.0
([#&#8203;8463](DataDog/dd-trace-java#8463) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- IBM J9 8u361 corresponds to OpenJDK 8u362 by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#187
- Fix compatibility with musl libc 1.2.4 by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#189
- Modify version extraction by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#179
- Do not write null values to jvminfo event by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#184
- Productize VMStructs-based stack walker by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#177
- A few minor downport issues by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#180
- Enable ASGCT by default on fairly safe J9 JDK versions by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#181
- 🐛 Exclude OrderedThreadPoolExecutor from queue-time measurements
([#&#8203;8456](DataDog/dd-trace-java#8456) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Record JVM info on JVMs without JFR
([#&#8203;8431](DataDog/dd-trace-java#8431) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- 🐛 Actually use CleanupTask in TempLocationManager
([#&#8203;8420](DataDog/dd-trace-java#8420) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Only fork jps when required
([#&#8203;8419](DataDog/dd-trace-java#8419) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🐛 Adjust JFR checks for J9
([#&#8203;8405](DataDog/dd-trace-java#8405) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- 🧹 Disable smap RSS parsing by default
([#&#8203;8342](DataDog/dd-trace-java#8342) -
[@&#8203;MattAlp](https://github.com/MattAlp))

##### Telemetry

- 🐛 Add support for JBoss jar:file format to DependencyResolver
([#&#8203;8428](DataDog/dd-trace-java#8428) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Update metrics: appsec.waf.requests
([#&#8203;8353](DataDog/dd-trace-java#8353) -
[@&#8203;Mariovido](https://github.com/Mariovido))

##### Trace context propagation

- ✨ Introduce tracing propagator
([#&#8203;8313](DataDog/dd-trace-java#8313) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

##### Tracer core

- 🐛 Fix Stable Config telemetry source names
([#&#8203;8460](DataDog/dd-trace-java#8460) -
[@&#8203;BaptisteFoy](https://github.com/BaptisteFoy))
- ✨ Probe trace endpoints with a valid payload of empty arrays
([#&#8203;8414](DataDog/dd-trace-java#8414) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Add 1 minute fail-safe to JUL/JMX class-loading callback
([#&#8203;8399](DataDog/dd-trace-java#8399) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Migrate DSM injection calls to context-first APIs
([#&#8203;8383](DataDog/dd-trace-java#8383) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- 🧹 Move continuation capture methods from scope to tracer
([#&#8203;8371](DataDog/dd-trace-java#8371) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Migrate context extraction calls to context-first APIs
([#&#8203;8368](DataDog/dd-trace-java#8368) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- 🧹 Migrate context injection calls to context-first APIs
([#&#8203;8358](DataDog/dd-trace-java#8358) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- 💡 Support reading configurations from files
([#&#8203;8338](DataDog/dd-trace-java#8338) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- 💡 Implementation of BaggagePropagator and BaggageContext
([#&#8203;8330](DataDog/dd-trace-java#8330) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- 🧹 Combine continuation implementations into one which supports
multiple activations
([#&#8203;8324](DataDog/dd-trace-java#8324) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Introduce tracing propagator
([#&#8203;8313](DataDog/dd-trace-java#8313) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Remove old context propagation API
([#&#8203;8271](DataDog/dd-trace-java#8271) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

##### Instrumentations

##### AWS Lambda instrumentation

- 🐛 Send error message and stack to Lambda extension
([#&#8203;8417](DataDog/dd-trace-java#8417) -
[@&#8203;nhulston](https://github.com/nhulston))

##### AWS SDK instrumentation

- 🐛 Fix error happening when sqs message attributes are readonly
([#&#8203;8473](DataDog/dd-trace-java#8473) -
[@&#8203;vandonr](https://github.com/vandonr))
- 💡 Inject trace context into AWS Step Functions input
([#&#8203;7585](DataDog/dd-trace-java#7585) -
[@&#8203;DylanLovesCoffee](https://github.com/DylanLovesCoffee))

##### Core Java language instrumentation

- ✨ Look in another location for grpc service methods
([#&#8203;8468](DataDog/dd-trace-java#8468) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Add code origin support for spring-webmvc
([#&#8203;8416](DataDog/dd-trace-java#8416) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 💡 Implementation of BaggagePropagator and BaggageContext
([#&#8203;8330](DataDog/dd-trace-java#8330) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Add code origin support to kafka message listeners
([#&#8203;8301](DataDog/dd-trace-java#8301) -
[@&#8203;evanchooly](https://github.com/evanchooly))

##### gRPC instrumentation

- ✨ Look in another location for grpc service methods
([#&#8203;8468](DataDog/dd-trace-java#8468) -
[@&#8203;evanchooly](https://github.com/evanchooly))

##### Kafka instrumentation

- ✨ Add messaging.destination.name tag to kafka integrations
([#&#8203;8366](DataDog/dd-trace-java#8366) -
[@&#8203;rarguelloF](https://github.com/rarguelloF))

##### Protocol Buffer instrumentation

- 🐛 Fix bug on proto schema extraction
([#&#8203;8403](DataDog/dd-trace-java#8403) -
[@&#8203;vandonr](https://github.com/vandonr))

</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**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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: 108a0f86aa59ab4c938cbac0688dd4c19cb301fa
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