Skip to content

Conversation

mcculls
Copy link
Contributor

@mcculls mcculls commented Jan 23, 2025

Motivation

If these providers exist in the running JDK then complete registration of other products on a different thread after premain to avoid eagerly loading 'java.util.logging' before main. A longer delay is added when we know a custom logging manager will be installed.

Additional Notes

Includes a fix for a race condition on IBM Java 8 where resuming Appsec/IAST could affect initial remote discovery.

Contributor Checklist

Jira ticket: APMS-14233

@mcculls mcculls added the tag: do not merge Do not merge changes label Jan 23, 2025
@pr-commenter
Copy link

pr-commenter bot commented Jan 23, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/delay-starting-okhttp
git_commit_date 1737969316 1737976750
git_commit_sha 19da739 23d1d39
release_version 1.46.0-SNAPSHOT~19da739a7c 1.46.0-SNAPSHOT~23d1d39203
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1737979281 1737979281
ci_job_id 781237709 781237709
ci_pipeline_id 54042301 54042301
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-8wlcx2s5-project-304-concurrent-0-g6s543ku 6.8.0-1018-aws #19~22.04.1-Ubuntu SMP Wed Oct 9 16:48:22 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-8wlcx2s5-project-304-concurrent-0-g6s543ku 6.8.0-1018-aws #19~22.04.1-Ubuntu SMP Wed Oct 9 16:48:22 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 petclinic
gantt
    title petclinic - global startup overhead: candidate=1.46.0-SNAPSHOT~23d1d39203, baseline=1.46.0-SNAPSHOT~19da739a7c

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.054 s) : 0, 1053892
Total [baseline] (10.618 s) : 0, 10618307
Agent [candidate] (1.039 s) : 0, 1039407
Total [candidate] (10.414 s) : 0, 10413834
section appsec
Agent [baseline] (1.183 s) : 0, 1182750
Total [baseline] (10.734 s) : 0, 10734003
Agent [candidate] (1.18 s) : 0, 1179650
Total [candidate] (10.696 s) : 0, 10696064
section iast
Agent [baseline] (1.161 s) : 0, 1161438
Total [baseline] (10.926 s) : 0, 10926257
Agent [candidate] (1.165 s) : 0, 1164997
Total [candidate] (10.891 s) : 0, 10890501
section profiling
Agent [baseline] (1.252 s) : 0, 1252157
Total [baseline] (10.812 s) : 0, 10811580
Agent [candidate] (1.263 s) : 0, 1262615
Total [candidate] (10.83 s) : 0, 10829686
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.054 s -
Agent appsec 1.183 s 128.858 ms (12.2%)
Agent iast 1.161 s 107.546 ms (10.2%)
Agent profiling 1.252 s 198.265 ms (18.8%)
Total tracing 10.618 s -
Total appsec 10.734 s 115.696 ms (1.1%)
Total iast 10.926 s 307.95 ms (2.9%)
Total profiling 10.812 s 193.273 ms (1.8%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.039 s -
Agent appsec 1.18 s 140.243 ms (13.5%)
Agent iast 1.165 s 125.59 ms (12.1%)
Agent profiling 1.263 s 223.208 ms (21.5%)
Total tracing 10.414 s -
Total appsec 10.696 s 282.229 ms (2.7%)
Total iast 10.891 s 476.667 ms (4.6%)
Total profiling 10.83 s 415.852 ms (4.0%)
gantt
    title petclinic - break down per module: candidate=1.46.0-SNAPSHOT~23d1d39203, baseline=1.46.0-SNAPSHOT~19da739a7c

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (727.25 ms) : 0, 727250
BytebuddyAgent [candidate] (714.649 ms) : 0, 714649
GlobalTracer [baseline] (242.286 ms) : 0, 242286
GlobalTracer [candidate] (238.651 ms) : 0, 238651
AppSec [baseline] (56.039 ms) : 0, 56039
AppSec [candidate] (55.288 ms) : 0, 55288
Remote Config [baseline] (724.29 µs) : 0, 724
Remote Config [candidate] (711.645 µs) : 0, 712
Telemetry [baseline] (12.335 ms) : 0, 12335
Telemetry [candidate] (14.868 ms) : 0, 14868
section appsec
BytebuddyAgent [baseline] (734.941 ms) : 0, 734941
BytebuddyAgent [candidate] (732.86 ms) : 0, 732860
GlobalTracer [baseline] (237.448 ms) : 0, 237448
GlobalTracer [candidate] (236.552 ms) : 0, 236552
AppSec [baseline] (175.959 ms) : 0, 175959
AppSec [candidate] (176.584 ms) : 0, 176584
Remote Config [baseline] (669.54 µs) : 0, 670
Remote Config [candidate] (659.452 µs) : 0, 659
Telemetry [baseline] (8.588 ms) : 0, 8588
Telemetry [candidate] (8.17 ms) : 0, 8170
IAST [baseline] (20.349 ms) : 0, 20349
IAST [candidate] (19.194 ms) : 0, 19194
section iast
BytebuddyAgent [baseline] (829.325 ms) : 0, 829325
BytebuddyAgent [candidate] (832.465 ms) : 0, 832465
GlobalTracer [baseline] (228.256 ms) : 0, 228256
GlobalTracer [candidate] (228.965 ms) : 0, 228965
AppSec [baseline] (58.179 ms) : 0, 58179
AppSec [candidate] (57.773 ms) : 0, 57773
Remote Config [baseline] (690.501 µs) : 0, 691
Remote Config [candidate] (644.851 µs) : 0, 645
Telemetry [baseline] (8.721 ms) : 0, 8721
Telemetry [candidate] (8.701 ms) : 0, 8701
IAST [baseline] (21.349 ms) : 0, 21349
IAST [candidate] (21.154 ms) : 0, 21154
section profiling
BytebuddyAgent [baseline] (702.843 ms) : 0, 702843
BytebuddyAgent [candidate] (708.429 ms) : 0, 708429
GlobalTracer [baseline] (347.696 ms) : 0, 347696
GlobalTracer [candidate] (352.04 ms) : 0, 352040
AppSec [baseline] (54.753 ms) : 0, 54753
AppSec [candidate] (54.179 ms) : 0, 54179
Remote Config [baseline] (700.492 µs) : 0, 700
Remote Config [candidate] (718.42 µs) : 0, 718
Telemetry [baseline] (8.796 ms) : 0, 8796
Telemetry [candidate] (8.928 ms) : 0, 8928
ProfilingAgent [baseline] (95.391 ms) : 0, 95391
ProfilingAgent [candidate] (95.747 ms) : 0, 95747
Profiling [baseline] (95.415 ms) : 0, 95415
Profiling [candidate] (95.771 ms) : 0, 95771
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.46.0-SNAPSHOT~23d1d39203, baseline=1.46.0-SNAPSHOT~19da739a7c

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.044 s) : 0, 1044281
Total [baseline] (8.625 s) : 0, 8625260
Agent [candidate] (1.039 s) : 0, 1039303
Total [candidate] (8.597 s) : 0, 8596557
section iast
Agent [baseline] (1.165 s) : 0, 1165423
Total [baseline] (9.181 s) : 0, 9180931
Agent [candidate] (1.165 s) : 0, 1165444
Total [candidate] (9.183 s) : 0, 9182846
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.172 s) : 0, 1171777
Total [baseline] (9.198 s) : 0, 9198397
Agent [candidate] (1.173 s) : 0, 1172942
Total [candidate] (9.23 s) : 0, 9229924
section iast_TELEMETRY_OFF
Agent [baseline] (1.169 s) : 0, 1169074
Total [baseline] (9.203 s) : 0, 9202980
Agent [candidate] (1.17 s) : 0, 1169577
Total [candidate] (9.237 s) : 0, 9237393
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.044 s -
Agent iast 1.165 s 121.143 ms (11.6%)
Agent iast_HARDCODED_SECRET_DISABLED 1.172 s 127.496 ms (12.2%)
Agent iast_TELEMETRY_OFF 1.169 s 124.793 ms (12.0%)
Total tracing 8.625 s -
Total iast 9.181 s 555.671 ms (6.4%)
Total iast_HARDCODED_SECRET_DISABLED 9.198 s 573.137 ms (6.6%)
Total iast_TELEMETRY_OFF 9.203 s 577.72 ms (6.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.039 s -
Agent iast 1.165 s 126.14 ms (12.1%)
Agent iast_HARDCODED_SECRET_DISABLED 1.173 s 133.639 ms (12.9%)
Agent iast_TELEMETRY_OFF 1.17 s 130.274 ms (12.5%)
Total tracing 8.597 s -
Total iast 9.183 s 586.289 ms (6.8%)
Total iast_HARDCODED_SECRET_DISABLED 9.23 s 633.368 ms (7.4%)
Total iast_TELEMETRY_OFF 9.237 s 640.837 ms (7.5%)
gantt
    title insecure-bank - break down per module: candidate=1.46.0-SNAPSHOT~23d1d39203, baseline=1.46.0-SNAPSHOT~19da739a7c

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (719.665 ms) : 0, 719665
BytebuddyAgent [candidate] (715.858 ms) : 0, 715858
GlobalTracer [baseline] (240.078 ms) : 0, 240078
GlobalTracer [candidate] (238.243 ms) : 0, 238243
AppSec [baseline] (55.599 ms) : 0, 55599
AppSec [candidate] (55.441 ms) : 0, 55441
Remote Config [baseline] (723.669 µs) : 0, 724
Remote Config [candidate] (855.716 µs) : 0, 856
Telemetry [baseline] (13.104 ms) : 0, 13104
Telemetry [candidate] (13.666 ms) : 0, 13666
section iast
BytebuddyAgent [baseline] (833.721 ms) : 0, 833721
BytebuddyAgent [candidate] (832.744 ms) : 0, 832744
GlobalTracer [baseline] (228.136 ms) : 0, 228136
GlobalTracer [candidate] (229.237 ms) : 0, 229237
AppSec [baseline] (57.884 ms) : 0, 57884
AppSec [candidate] (57.614 ms) : 0, 57614
Remote Config [baseline] (653.433 µs) : 0, 653
Remote Config [candidate] (647.868 µs) : 0, 648
Telemetry [baseline] (8.75 ms) : 0, 8750
Telemetry [candidate] (8.565 ms) : 0, 8565
IAST [baseline] (21.254 ms) : 0, 21254
IAST [candidate] (21.354 ms) : 0, 21354
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (837.593 ms) : 0, 837593
BytebuddyAgent [candidate] (837.869 ms) : 0, 837869
GlobalTracer [baseline] (230.012 ms) : 0, 230012
GlobalTracer [candidate] (230.469 ms) : 0, 230469
AppSec [baseline] (58.135 ms) : 0, 58135
AppSec [candidate] (58.302 ms) : 0, 58302
Remote Config [baseline] (720.18 µs) : 0, 720
Remote Config [candidate] (665.882 µs) : 0, 666
Telemetry [baseline] (8.685 ms) : 0, 8685
Telemetry [candidate] (8.836 ms) : 0, 8836
IAST [baseline] (21.55 ms) : 0, 21550
IAST [candidate] (21.485 ms) : 0, 21485
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (835.212 ms) : 0, 835212
BytebuddyAgent [candidate] (835.366 ms) : 0, 835366
GlobalTracer [baseline] (230.57 ms) : 0, 230570
GlobalTracer [candidate] (230.226 ms) : 0, 230226
AppSec [baseline] (58.125 ms) : 0, 58125
AppSec [candidate] (58.316 ms) : 0, 58316
Remote Config [baseline] (651.026 µs) : 0, 651
Remote Config [candidate] (658.438 µs) : 0, 658
Telemetry [baseline] (8.586 ms) : 0, 8586
Telemetry [candidate] (8.681 ms) : 0, 8681
IAST [baseline] (20.87 ms) : 0, 20870
IAST [candidate] (21.017 ms) : 0, 21017
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-01-27T11:31:30 2025-01-27T11:38:34
git_branch master mcculls/delay-starting-okhttp
git_commit_date 1737969316 1737976750
git_commit_sha 19da739 23d1d39
release_version 1.46.0-SNAPSHOT~19da739a7c 1.46.0-SNAPSHOT~23d1d39203
start_time 2025-01-27T11:31:16 2025-01-27T11:38:20
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1737978274 1737978274
ci_job_id 781237710 781237710
ci_pipeline_id 54042301 54042301
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-fgow3nxt-project-304-concurrent-0-tub068zx 6.8.0-1018-aws #19~22.04.1-Ubuntu SMP Wed Oct 9 16:48:22 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-fgow3nxt-project-304-concurrent-0-tub068zx 6.8.0-1018-aws #19~22.04.1-Ubuntu SMP Wed Oct 9 16:48:22 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 12 metrics, 16 unstable metrics.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~23d1d39203, baseline=1.46.0-SNAPSHOT~19da739a7c
    dateFormat X
    axisFormat %s
section baseline
no_agent (378.89 µs) : 359, 399
.   : milestone, 379,
iast (508.874 µs) : 486, 532
.   : milestone, 509,
iast_FULL (752.115 µs) : 729, 775
.   : milestone, 752,
iast_GLOBAL (558.34 µs) : 535, 582
.   : milestone, 558,
iast_HARDCODED_SECRET_DISABLED (509.806 µs) : 486, 534
.   : milestone, 510,
iast_INACTIVE (463.478 µs) : 442, 485
.   : milestone, 463,
iast_TELEMETRY_OFF (501.955 µs) : 479, 525
.   : milestone, 502,
tracing (455.804 µs) : 435, 477
.   : milestone, 456,
section candidate
no_agent (376.842 µs) : 357, 396
.   : milestone, 377,
iast (514.38 µs) : 491, 538
.   : milestone, 514,
iast_FULL (746.813 µs) : 725, 769
.   : milestone, 747,
iast_GLOBAL (558.583 µs) : 535, 582
.   : milestone, 559,
iast_HARDCODED_SECRET_DISABLED (517.087 µs) : 494, 540
.   : milestone, 517,
iast_INACTIVE (457.364 µs) : 436, 479
.   : milestone, 457,
iast_TELEMETRY_OFF (500.121 µs) : 477, 523
.   : milestone, 500,
tracing (457.712 µs) : 436, 479
.   : milestone, 458,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 378.89 µs [359.101 µs, 398.678 µs] -
iast 508.874 µs [485.825 µs, 531.924 µs] 129.984 µs (34.3%)
iast_FULL 752.115 µs [729.135 µs, 775.095 µs] 373.226 µs (98.5%)
iast_GLOBAL 558.34 µs [535.0 µs, 581.679 µs] 179.45 µs (47.4%)
iast_HARDCODED_SECRET_DISABLED 509.806 µs [486.111 µs, 533.5 µs] 130.916 µs (34.6%)
iast_INACTIVE 463.478 µs [441.738 µs, 485.218 µs] 84.588 µs (22.3%)
iast_TELEMETRY_OFF 501.955 µs [478.628 µs, 525.282 µs] 123.065 µs (32.5%)
tracing 455.804 µs [434.66 µs, 476.948 µs] 76.914 µs (20.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 376.842 µs [357.329 µs, 396.354 µs] -
iast 514.38 µs [490.997 µs, 537.762 µs] 137.538 µs (36.5%)
iast_FULL 746.813 µs [724.885 µs, 768.74 µs] 369.971 µs (98.2%)
iast_GLOBAL 558.583 µs [534.809 µs, 582.357 µs] 181.742 µs (48.2%)
iast_HARDCODED_SECRET_DISABLED 517.087 µs [494.056 µs, 540.119 µs] 140.246 µs (37.2%)
iast_INACTIVE 457.364 µs [436.042 µs, 478.685 µs] 80.522 µs (21.4%)
iast_TELEMETRY_OFF 500.121 µs [476.933 µs, 523.31 µs] 123.28 µs (32.7%)
tracing 457.712 µs [436.449 µs, 478.975 µs] 80.87 µs (21.5%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~23d1d39203, baseline=1.46.0-SNAPSHOT~19da739a7c
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.357 ms) : 1337, 1376
.   : milestone, 1357,
appsec (1.765 ms) : 1740, 1789
.   : milestone, 1765,
appsec_no_iast (1.757 ms) : 1734, 1781
.   : milestone, 1757,
iast (1.515 ms) : 1491, 1539
.   : milestone, 1515,
profiling (1.507 ms) : 1483, 1532
.   : milestone, 1507,
tracing (1.49 ms) : 1466, 1514
.   : milestone, 1490,
section candidate
no_agent (1.366 ms) : 1345, 1386
.   : milestone, 1366,
appsec (1.756 ms) : 1732, 1779
.   : milestone, 1756,
appsec_no_iast (1.769 ms) : 1746, 1791
.   : milestone, 1769,
iast (1.519 ms) : 1494, 1544
.   : milestone, 1519,
profiling (1.54 ms) : 1516, 1565
.   : milestone, 1540,
tracing (1.493 ms) : 1467, 1518
.   : milestone, 1493,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.357 ms [1.337 ms, 1.376 ms] -
appsec 1.765 ms [1.74 ms, 1.789 ms] 407.836 µs (30.1%)
appsec_no_iast 1.757 ms [1.734 ms, 1.781 ms] 400.639 µs (29.5%)
iast 1.515 ms [1.491 ms, 1.539 ms] 158.365 µs (11.7%)
profiling 1.507 ms [1.483 ms, 1.532 ms] 150.565 µs (11.1%)
tracing 1.49 ms [1.466 ms, 1.514 ms] 133.228 µs (9.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.366 ms [1.345 ms, 1.386 ms] -
appsec 1.756 ms [1.732 ms, 1.779 ms] 390.257 µs (28.6%)
appsec_no_iast 1.769 ms [1.746 ms, 1.791 ms] 402.988 µs (29.5%)
iast 1.519 ms [1.494 ms, 1.544 ms] 153.334 µs (11.2%)
profiling 1.54 ms [1.516 ms, 1.565 ms] 174.46 µs (12.8%)
tracing 1.493 ms [1.467 ms, 1.518 ms] 127.198 µs (9.3%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/delay-starting-okhttp
git_commit_date 1737969316 1737976750
git_commit_sha 19da739 23d1d39
release_version 1.46.0-SNAPSHOT~19da739a7c 1.46.0-SNAPSHOT~23d1d39203
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1737978881 1737978881
ci_job_id 781237711 781237711
ci_pipeline_id 54042301 54042301
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-8wlcx2s5-project-304-concurrent-1-1dqz9uut 6.8.0-1018-aws #19~22.04.1-Ubuntu SMP Wed Oct 9 16:48:22 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-8wlcx2s5-project-304-concurrent-1-1dqz9uut 6.8.0-1018-aws #19~22.04.1-Ubuntu SMP Wed Oct 9 16:48:22 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 tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~23d1d39203, baseline=1.46.0-SNAPSHOT~19da739a7c
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.477 ms) : 1465, 1488
.   : milestone, 1477,
appsec (2.363 ms) : 2320, 2407
.   : milestone, 2363,
iast (2.115 ms) : 2061, 2170
.   : milestone, 2115,
iast_GLOBAL (2.164 ms) : 2109, 2219
.   : milestone, 2164,
profiling (2.015 ms) : 1969, 2061
.   : milestone, 2015,
tracing (1.945 ms) : 1903, 1987
.   : milestone, 1945,
section candidate
no_agent (1.475 ms) : 1463, 1486
.   : milestone, 1475,
appsec (2.369 ms) : 2326, 2412
.   : milestone, 2369,
iast (2.114 ms) : 2059, 2168
.   : milestone, 2114,
iast_GLOBAL (2.156 ms) : 2101, 2211
.   : milestone, 2156,
profiling (1.969 ms) : 1926, 2013
.   : milestone, 1969,
tracing (1.94 ms) : 1898, 1981
.   : milestone, 1940,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.477 ms [1.465 ms, 1.488 ms] -
appsec 2.363 ms [2.32 ms, 2.407 ms] 886.609 µs (60.0%)
iast 2.115 ms [2.061 ms, 2.17 ms] 638.554 µs (43.2%)
iast_GLOBAL 2.164 ms [2.109 ms, 2.219 ms] 686.704 µs (46.5%)
profiling 2.015 ms [1.969 ms, 2.061 ms] 538.222 µs (36.4%)
tracing 1.945 ms [1.903 ms, 1.987 ms] 468.199 µs (31.7%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.475 ms [1.463 ms, 1.486 ms] -
appsec 2.369 ms [2.326 ms, 2.412 ms] 894.217 µs (60.6%)
iast 2.114 ms [2.059 ms, 2.168 ms] 638.811 µs (43.3%)
iast_GLOBAL 2.156 ms [2.101 ms, 2.211 ms] 681.092 µs (46.2%)
profiling 1.969 ms [1.926 ms, 2.013 ms] 494.666 µs (33.5%)
tracing 1.94 ms [1.898 ms, 1.981 ms] 464.781 µs (31.5%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~23d1d39203, baseline=1.46.0-SNAPSHOT~19da739a7c
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.694 s) : 14694000, 14694000
.   : milestone, 14694000,
appsec (15.157 s) : 15157000, 15157000
.   : milestone, 15157000,
iast (19.019 s) : 19019000, 19019000
.   : milestone, 19019000,
iast_GLOBAL (18.367 s) : 18367000, 18367000
.   : milestone, 18367000,
profiling (15.013 s) : 15013000, 15013000
.   : milestone, 15013000,
tracing (14.701 s) : 14701000, 14701000
.   : milestone, 14701000,
section candidate
no_agent (14.953 s) : 14953000, 14953000
.   : milestone, 14953000,
appsec (14.81 s) : 14810000, 14810000
.   : milestone, 14810000,
iast (18.679 s) : 18679000, 18679000
.   : milestone, 18679000,
iast_GLOBAL (18.209 s) : 18209000, 18209000
.   : milestone, 18209000,
profiling (15.513 s) : 15513000, 15513000
.   : milestone, 15513000,
tracing (15.052 s) : 15052000, 15052000
.   : milestone, 15052000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.694 s [14.694 s, 14.694 s] -
appsec 15.157 s [15.157 s, 15.157 s] 463.0 ms (3.2%)
iast 19.019 s [19.019 s, 19.019 s] 4.325 s (29.4%)
iast_GLOBAL 18.367 s [18.367 s, 18.367 s] 3.673 s (25.0%)
profiling 15.013 s [15.013 s, 15.013 s] 319.0 ms (2.2%)
tracing 14.701 s [14.701 s, 14.701 s] 7.0 ms (0.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.953 s [14.953 s, 14.953 s] -
appsec 14.81 s [14.81 s, 14.81 s] -143.0 ms (-1.0%)
iast 18.679 s [18.679 s, 18.679 s] 3.726 s (24.9%)
iast_GLOBAL 18.209 s [18.209 s, 18.209 s] 3.256 s (21.8%)
profiling 15.513 s [15.513 s, 15.513 s] 560.0 ms (3.7%)
tracing 15.052 s [15.052 s, 15.052 s] 99.0 ms (0.7%)

@mcculls mcculls force-pushed the mcculls/delay-starting-okhttp branch 5 times, most recently from 86f7cae to dffe2ac Compare January 24, 2025 14:58
@mcculls mcculls added the run-tests: ibm8 Run tests using IBM 8 JDK label Jan 24, 2025
@mcculls mcculls force-pushed the mcculls/delay-starting-okhttp branch from dffe2ac to e7ae79b Compare January 24, 2025 16:00
@mcculls mcculls changed the title WIP - delay starting OkHttp (default to 1 second) WIP - delay starting OkHttp Jan 24, 2025
@mcculls mcculls force-pushed the mcculls/delay-starting-okhttp branch 5 times, most recently from 6210f36 to 1b56d50 Compare January 24, 2025 23:57
@mcculls mcculls force-pushed the mcculls/delay-starting-okhttp branch 4 times, most recently from aa79461 to 175fc77 Compare January 27, 2025 11:11
@mcculls mcculls changed the title WIP - delay starting OkHttp Probe for existence of IBMSASL or ACCP security providers Jan 27, 2025
@mcculls mcculls added type: enhancement Enhancements and improvements comp: core Tracer core and removed tag: do not merge Do not merge changes labels Jan 27, 2025
If these providers exist in the running JDK then complete registration of other products on a different thread after premain to avoid eagerly loading 'java.util.logging' before main. A longer delay is added when we know a custom logging manager will be installed.

Includes a fix for a race condition on IBM Java 8 where resuming Appsec/IAST could affect initial remote discovery.
@mcculls mcculls force-pushed the mcculls/delay-starting-okhttp branch from 175fc77 to 23d1d39 Compare January 27, 2025 11:19
@mcculls mcculls added tag: no release notes Changes to exclude from release notes and removed tag: no release notes Changes to exclude from release notes labels Jan 27, 2025
@mcculls mcculls marked this pull request as ready for review January 27, 2025 12:59
@mcculls mcculls requested a review from a team as a code owner January 27, 2025 12:59
@mcculls mcculls requested a review from amarziali January 27, 2025 12:59
@mcculls mcculls merged commit c58164b into master Jan 27, 2025
181 of 182 checks passed
@mcculls mcculls deleted the mcculls/delay-starting-okhttp branch January 27, 2025 13:51
@github-actions github-actions bot added this to the 1.46.0 milestone Jan 27, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jan 31, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.25.4` -> `2.26.0` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.45.2` -> `1.46.0` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.45.2` -> `1.46.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |

---

### Release Notes

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

###
[`v2.26.0`](https://github.com/googleapis/java-datastore/blob/HEAD/CHANGELOG.md#2260-2025-01-29)

##### Features

- Add firestoreInDatastoreMode for datastore emulator
([#&#8203;1698](googleapis/java-datastore#1698))
([50f106d](googleapis/java-datastore@50f106d))

##### Dependencies

- Update dependency com.google.cloud:sdk-platform-java-config to v3.42.0
([#&#8203;1725](googleapis/java-datastore#1725))
([1cbaf22](googleapis/java-datastore@1cbaf22))

</details>

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

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

##### Breaking Changes

> \[!WARNING]
> jnr-unixsocket is now an external dependency of dd-trace-ot and must
be included when deploying dd-trace-ot.

> \[!NOTE]
> The API `TracerScope.setAsync(boolean)`, used to manually control
asynchronous span propagation, does no more apply to the scope instance
but to the active span scope.

##### Components

##### Application Security Management (IAST)

- 🐛 Fix String.replace instrumentation for IAST
([#&#8203;8281](DataDog/dd-trace-java#8281) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Apply the standard nomenclature to the stacktrace configs
([#&#8203;8244](DataDog/dd-trace-java#8244) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Exclude false positive weak randomness
([#&#8203;8232](DataDog/dd-trace-java#8232) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Propagation of translateEscapes of String class
([#&#8203;8186](DataDog/dd-trace-java#8186) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Add security control metrics
([#&#8203;8175](DataDog/dd-trace-java#8175) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Increase IAST propagation to StringBuffer setLength
([#&#8203;8128](DataDog/dd-trace-java#8128) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Add IAST taint tracking for DB values
([#&#8203;8072](DataDog/dd-trace-java#8072) -
[@&#8203;Mariovido](https://github.com/Mariovido))

##### Application Security Management (WAF)

- 🐛 Prevents a NPE when there is no subscriber for user events
([#&#8203;8258](DataDog/dd-trace-java#8258) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Apply the standard nomenclature to the stacktrace configs
([#&#8203;8244](DataDog/dd-trace-java#8244) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Ensure cached subscriptions are cleared on reconfiguration via
RC ([#&#8203;8229](DataDog/dd-trace-java#8229)
-
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Add support for session tracking in Vertx
([#&#8203;8167](DataDog/dd-trace-java#8167) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Create span tag: \_dd.appsec.rasp.timeout
([#&#8203;8269](DataDog/dd-trace-java#8269) -
[@&#8203;Mariovido](https://github.com/Mariovido))

##### Build & Tooling

- 🐛 Ensure shaded helpers have unique names when injected into
class-loaders
([#&#8203;8192](DataDog/dd-trace-java#8192) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Configuration at Runtime

- 🐛 Remove filtering of `DD_SERVICE` and `DD_ENV` from the tracer
([#&#8203;8176](DataDog/dd-trace-java#8176) -
[@&#8203;mhlidd](https://github.com/mhlidd))

##### Continuous Integration Visibility

- 🧹 Generalize TestRetryPolicy to TestExecutionPolicy
([#&#8203;8302](DataDog/dd-trace-java#8302) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Parallelize CI Visibility settings requests
([#&#8203;8299](DataDog/dd-trace-java#8299) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Generalize test retry logic
([#&#8203;8289](DataDog/dd-trace-java#8289) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Generalize tests skipping logic
([#&#8203;8288](DataDog/dd-trace-java#8288) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Remove skip and shouldBeSkipped methods from TestEventsHandler
in favor of isSkippable
([#&#8203;8286](DataDog/dd-trace-java#8286) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨⚡ Optimize Git repository information computation
([#&#8203;8270](DataDog/dd-trace-java#8270) -
[@&#8203;dougqh](https://github.com/dougqh))
- ✨ Always request known tests from the backend
([#&#8203;8268](DataDog/dd-trace-java#8268) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Fix NPE when trying to get retry analyzer in Test NG
([#&#8203;8253](DataDog/dd-trace-java#8253) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Set test framework and test framework version tags atomically
([#&#8203;8252](DataDog/dd-trace-java#8252) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add debug logging to Android Gradle module layout logic
([#&#8203;8251](DataDog/dd-trace-java#8251) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix source and destination folders computation for Android
Gradle projects
([#&#8203;8190](DataDog/dd-trace-java#8190) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add basic Scala Weaver sbt support
([#&#8203;8189](DataDog/dd-trace-java#8189) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement impacted tests detection
([#&#8203;8188](DataDog/dd-trace-java#8188) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))

##### Data Streams Monitoring

- ✨ Change hash computation for protobuf to better represent
impacting changes + save proto number in schema
([#&#8203;8201](DataDog/dd-trace-java#8201) -
[@&#8203;vandonr](https://github.com/vandonr))

##### Database Monitoring

- Add peer service tag in dbm sql commenter
([#&#8203;7913](DataDog/dd-trace-java#7913) -
[@&#8203;jordan-wong](https://github.com/jordan-wong))

##### Dynamic Instrumentation

- ✨ Add support for SymDB to scan directories
([#&#8203;8306](DataDog/dd-trace-java#8306) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add SymDB report for any jar scanning failures
([#&#8203;8300](DataDog/dd-trace-java#8300) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Use two budgets depending on type
([#&#8203;8283](DataDog/dd-trace-java#8283) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Institute a 10 snapshot per probe per trace budget
([#&#8203;8277](DataDog/dd-trace-java#8277) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Avoid double snapshots for Exception Replay
([#&#8203;8273](DataDog/dd-trace-java#8273) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Simplify code origins. Separate out snapshot generation.
([#&#8203;8263](DataDog/dd-trace-java#8263) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Add Exception probe custom instrumentation
([#&#8203;8230](DataDog/dd-trace-java#8230) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Enhance log probes to honor debug session tags
([#&#8203;8215](DataDog/dd-trace-java#8215) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Don't redact env tokens from debugger probe snapshots
([#&#8203;8211](DataDog/dd-trace-java#8211) -
[@&#8203;watson](https://github.com/watson))
- ✨⚡ Move Trace/SpanId capture at commit time
([#&#8203;8184](DataDog/dd-trace-java#8184) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Capture values at entry for method probe
([#&#8203;8169](DataDog/dd-trace-java#8169) -
[@&#8203;jpbempel](https://github.com/jpbempel))

##### JMX fetch

- 🐛 Mute JMXFetch Shutdown in progress error
([#&#8203;8068](DataDog/dd-trace-java#8068) -
[@&#8203;ygree](https://github.com/ygree))

##### OpenTracing

- ⚠️🧹 Make jnr-unixsocket an explicit dependency of
dd-trace-ot
([#&#8203;8307](DataDog/dd-trace-java#8307) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Profiling

- 🐛 Avoid unsupported API call for creating folders on windows
([#&#8203;8304](DataDog/dd-trace-java#8304) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Tag profiles for serverless
([#&#8203;8279](DataDog/dd-trace-java#8279) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ add queue type and length to queue events
([#&#8203;8242](DataDog/dd-trace-java#8242) -
[@&#8203;richardstartin](https://github.com/richardstartin))
- 🐛 TempLocationManager Fixes and Improvements
([#&#8203;8191](DataDog/dd-trace-java#8191) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Bump ddprof to 1.18.0
([#&#8203;8173](DataDog/dd-trace-java#8173) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Report profiler initialization and configuration errors to
telemetry
([#&#8203;8171](DataDog/dd-trace-java#8171) -
[@&#8203;jbachorik](https://github.com/jbachorik))

##### Telemetry

- ✨ Add pending traces report in tracer flares
([#&#8203;8053](DataDog/dd-trace-java#8053) -
[@&#8203;mhlidd](https://github.com/mhlidd))

##### Testing

- ✨ Test http server requests in parallel
([#&#8203;8222](DataDog/dd-trace-java#8222) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Trace context propagation

- ✨ Add non default propagator registration
([#&#8203;8310](DataDog/dd-trace-java#8310) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

##### Tracer core

- ✨ Probe for existence of IBMSASL or ACCP security providers
([#&#8203;8276](DataDog/dd-trace-java#8276) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨⚡ Overhead improvement to agent feedback based sampling
([#&#8203;8265](DataDog/dd-trace-java#8265) -
[@&#8203;dougqh](https://github.com/dougqh))
- 🧹 Move async propagation API from scope to tracer
([#&#8203;8231](DataDog/dd-trace-java#8231) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Introduce context propagation API
([#&#8203;8161](DataDog/dd-trace-java#8161) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨🧪 Use env-entry to add tags per webapp deployment
([#&#8203;8138](DataDog/dd-trace-java#8138) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Introduce context helpers API
([#&#8203;8134](DataDog/dd-trace-java#8134) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Support IPv6 values for `DD_AGENT_HOST` and
`DD_TRACE_AGENT_URL`
([#&#8203;7984](DataDog/dd-trace-java#7984) -
[@&#8203;mhlidd](https://github.com/mhlidd))

##### Instrumentations

##### Apache HttpComponents

- 🐛 Properly finish spans and support latest apache httpclient5
([#&#8203;8272](DataDog/dd-trace-java#8272) -
[@&#8203;amarziali](https://github.com/amarziali))

##### AWS Lambda instrumentation

- 🐛 Properly capture lambda payloads for all handler types.
([#&#8203;8264](DataDog/dd-trace-java#8264) -
[@&#8203;purple4reina](https://github.com/purple4reina))

##### AWS S3 instrumentation

- 💡 Create S3 instrumentation + add span pointers
([#&#8203;8075](DataDog/dd-trace-java#8075) -
[@&#8203;nhulston](https://github.com/nhulston))

##### AWS SDK instrumentation

- 🐛 Revert "Add avoid double instrumenting lambda non-streaming
handlers."
([#&#8203;8247](DataDog/dd-trace-java#8247) -
[@&#8203;nhulston](https://github.com/nhulston))

##### Cassandra

- ✨ Allow extracting keyspace from statement result
([#&#8203;8239](DataDog/dd-trace-java#8239) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Core Java language instrumentation

- ✨ Propagation of translateEscapes of String class
([#&#8203;8186](DataDog/dd-trace-java#8186) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))

##### Eclipse Vert.x instrumentation

- 🐛 Fix vertx worker propagation and error handling
([#&#8203;8237](DataDog/dd-trace-java#8237) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Support vertx 5
([#&#8203;8220](DataDog/dd-trace-java#8220) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add support for session tracking in Vertx
([#&#8203;8167](DataDog/dd-trace-java#8167) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))

##### Kafka instrumentation

- 🐛 Prevent possible NPE calculating Kafka record header size
([#&#8203;8292](DataDog/dd-trace-java#8292) -
[@&#8203;ygree](https://github.com/ygree))

##### Mule instrumentation

- 🐛 Fix crash using Mule with JPMS
([#&#8203;8187](DataDog/dd-trace-java#8187) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Protocol Buffer instrumentation

- ✨ Change hash computation for protobuf to better represent
impacting changes + save proto number in schema
([#&#8203;8201](DataDog/dd-trace-java#8201) -
[@&#8203;vandonr](https://github.com/vandonr))

##### Spring instrumentation

- 🐛 Preserve getQualifier from spring scheduling runnables
([#&#8203;8293](DataDog/dd-trace-java#8293) -
[@&#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**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, 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: bb09d47e4eed77a003f630273b4d0a84003eb899
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: core Tracer core run-tests: ibm8 Run tests using IBM 8 JDK type: enhancement Enhancements and improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants