Skip to content

Add system property to force injection of the tracing library even though multiple javaagents have been detected #8697

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 3 commits into from
Apr 18, 2025

Conversation

cecile75
Copy link
Collaborator

@cecile75 cecile75 commented Apr 15, 2025

What Does This Do

Add the possibility to use a system property to force injection of the tracing library even though multiple javaagents have been detected.

Forcing the library injection can now be done:

  • by setting the env variable DD_INJECT_FORCE to 1 or true
  • by setting the system property dd.inject.force to 1 or true

Motivation

APMS-15377

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@cecile75 cecile75 added type: enhancement tag: multiple-javaagent Issues related to using multiple javaagent labels Apr 15, 2025
@cecile75 cecile75 changed the title Add system property to force injection of the tracing library Add system property to force injection of the tracing library even though multiple javaagents have been detected Apr 15, 2025
@pr-commenter
Copy link

pr-commenter bot commented Apr 15, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master cecile/injectforce
git_commit_date 1744612276 1744805003
git_commit_sha b00c24e f4d3b10
release_version 1.49.0-SNAPSHOT~b00c24e26a 1.49.0-SNAPSHOT~f4d3b10eb6
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1744808144 1744808144
ci_job_id 899230812 899230812
ci_pipeline_id 62349452 62349452
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-s6sqwae-project-304-concurrent-1-0z42ni4o 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-s6sqwae-project-304-concurrent-1-0z42ni4o 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 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 60 metrics, 11 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.49.0-SNAPSHOT~f4d3b10eb6, baseline=1.49.0-SNAPSHOT~b00c24e26a

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.057 s) : 0, 1056655
Total [baseline] (10.492 s) : 0, 10492108
Agent [candidate] (1.055 s) : 0, 1055445
Total [candidate] (10.474 s) : 0, 10473555
section appsec
Agent [baseline] (1.195 s) : 0, 1194803
Total [baseline] (10.766 s) : 0, 10765517
Agent [candidate] (1.196 s) : 0, 1195585
Total [candidate] (10.81 s) : 0, 10810154
section iast
Agent [baseline] (1.184 s) : 0, 1184392
Total [baseline] (11.001 s) : 0, 11001005
Agent [candidate] (1.183 s) : 0, 1182501
Total [candidate] (10.976 s) : 0, 10975898
section profiling
Agent [baseline] (1.291 s) : 0, 1291287
Total [baseline] (10.879 s) : 0, 10879124
Agent [candidate] (1.304 s) : 0, 1303544
Total [candidate] (10.938 s) : 0, 10938480
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.057 s -
Agent appsec 1.195 s 138.149 ms (13.1%)
Agent iast 1.184 s 127.737 ms (12.1%)
Agent profiling 1.291 s 234.633 ms (22.2%)
Total tracing 10.492 s -
Total appsec 10.766 s 273.409 ms (2.6%)
Total iast 11.001 s 508.897 ms (4.9%)
Total profiling 10.879 s 387.017 ms (3.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.055 s -
Agent appsec 1.196 s 140.139 ms (13.3%)
Agent iast 1.183 s 127.056 ms (12.0%)
Agent profiling 1.304 s 248.098 ms (23.5%)
Total tracing 10.474 s -
Total appsec 10.81 s 336.598 ms (3.2%)
Total iast 10.976 s 502.343 ms (4.8%)
Total profiling 10.938 s 464.924 ms (4.4%)
gantt
    title petclinic - break down per module: candidate=1.49.0-SNAPSHOT~f4d3b10eb6, baseline=1.49.0-SNAPSHOT~b00c24e26a

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (720.528 ms) : 0, 720528
BytebuddyAgent [candidate] (720.956 ms) : 0, 720956
GlobalTracer [baseline] (239.679 ms) : 0, 239679
GlobalTracer [candidate] (239.582 ms) : 0, 239582
AppSec [baseline] (56.618 ms) : 0, 56618
AppSec [candidate] (55.808 ms) : 0, 55808
Debugger [baseline] (4.353 ms) : 0, 4353
Debugger [candidate] (4.339 ms) : 0, 4339
Remote Config [baseline] (704.311 µs) : 0, 704
Remote Config [candidate] (688.769 µs) : 0, 689
Telemetry [baseline] (11.276 ms) : 0, 11276
Telemetry [candidate] (10.554 ms) : 0, 10554
section appsec
BytebuddyAgent [baseline] (737.227 ms) : 0, 737227
BytebuddyAgent [candidate] (737.713 ms) : 0, 737713
GlobalTracer [baseline] (235.065 ms) : 0, 235065
GlobalTracer [candidate] (235.144 ms) : 0, 235144
AppSec [baseline] (175.364 ms) : 0, 175364
AppSec [candidate] (175.408 ms) : 0, 175408
Debugger [baseline] (4.207 ms) : 0, 4207
Debugger [candidate] (4.199 ms) : 0, 4199
Remote Config [baseline] (620.822 µs) : 0, 621
Remote Config [candidate] (632.471 µs) : 0, 632
Telemetry [baseline] (8.134 ms) : 0, 8134
Telemetry [candidate] (8.18 ms) : 0, 8180
IAST [baseline] (21.699 ms) : 0, 21699
IAST [candidate] (21.79 ms) : 0, 21790
section iast
BytebuddyAgent [baseline] (838.483 ms) : 0, 838483
BytebuddyAgent [candidate] (837.894 ms) : 0, 837894
GlobalTracer [baseline] (230.35 ms) : 0, 230350
GlobalTracer [candidate] (229.344 ms) : 0, 229344
AppSec [baseline] (55.174 ms) : 0, 55174
AppSec [candidate] (54.112 ms) : 0, 54112
Debugger [baseline] (4.227 ms) : 0, 4227
Debugger [candidate] (4.221 ms) : 0, 4221
Remote Config [baseline] (617.0 µs) : 0, 617
Remote Config [candidate] (603.866 µs) : 0, 604
Telemetry [baseline] (8.742 ms) : 0, 8742
Telemetry [candidate] (8.675 ms) : 0, 8675
IAST [baseline] (23.451 ms) : 0, 23451
IAST [candidate] (24.347 ms) : 0, 24347
section profiling
BytebuddyAgent [baseline] (712.298 ms) : 0, 712298
BytebuddyAgent [candidate] (719.205 ms) : 0, 719205
GlobalTracer [baseline] (359.781 ms) : 0, 359781
GlobalTracer [candidate] (362.619 ms) : 0, 362619
AppSec [baseline] (53.871 ms) : 0, 53871
AppSec [candidate] (53.692 ms) : 0, 53692
Debugger [baseline] (4.345 ms) : 0, 4345
Debugger [candidate] (4.419 ms) : 0, 4419
Remote Config [baseline] (649.369 µs) : 0, 649
Remote Config [candidate] (655.076 µs) : 0, 655
Telemetry [baseline] (8.896 ms) : 0, 8896
Telemetry [candidate] (9.017 ms) : 0, 9017
ProfilingAgent [baseline] (101.195 ms) : 0, 101195
ProfilingAgent [candidate] (103.162 ms) : 0, 103162
Profiling [baseline] (101.221 ms) : 0, 101221
Profiling [candidate] (103.188 ms) : 0, 103188
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.49.0-SNAPSHOT~f4d3b10eb6, baseline=1.49.0-SNAPSHOT~b00c24e26a

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.063 s) : 0, 1063162
Total [baseline] (8.674 s) : 0, 8673843
Agent [candidate] (1.062 s) : 0, 1061732
Total [candidate] (8.68 s) : 0, 8679959
section iast
Agent [baseline] (1.182 s) : 0, 1182361
Total [baseline] (9.207 s) : 0, 9206580
Agent [candidate] (1.185 s) : 0, 1185230
Total [candidate] (9.231 s) : 0, 9231045
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.191 s) : 0, 1191317
Total [baseline] (9.237 s) : 0, 9237498
Agent [candidate] (1.185 s) : 0, 1185438
Total [candidate] (9.233 s) : 0, 9232722
section iast_TELEMETRY_OFF
Agent [baseline] (1.175 s) : 0, 1174579
Total [baseline] (9.228 s) : 0, 9228284
Agent [candidate] (1.184 s) : 0, 1184064
Total [candidate] (9.24 s) : 0, 9239558
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.063 s -
Agent iast 1.182 s 119.199 ms (11.2%)
Agent iast_HARDCODED_SECRET_DISABLED 1.191 s 128.155 ms (12.1%)
Agent iast_TELEMETRY_OFF 1.175 s 111.417 ms (10.5%)
Total tracing 8.674 s -
Total iast 9.207 s 532.737 ms (6.1%)
Total iast_HARDCODED_SECRET_DISABLED 9.237 s 563.655 ms (6.5%)
Total iast_TELEMETRY_OFF 9.228 s 554.44 ms (6.4%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.062 s -
Agent iast 1.185 s 123.498 ms (11.6%)
Agent iast_HARDCODED_SECRET_DISABLED 1.185 s 123.706 ms (11.7%)
Agent iast_TELEMETRY_OFF 1.184 s 122.332 ms (11.5%)
Total tracing 8.68 s -
Total iast 9.231 s 551.086 ms (6.3%)
Total iast_HARDCODED_SECRET_DISABLED 9.233 s 552.763 ms (6.4%)
Total iast_TELEMETRY_OFF 9.24 s 559.599 ms (6.4%)
gantt
    title insecure-bank - break down per module: candidate=1.49.0-SNAPSHOT~f4d3b10eb6, baseline=1.49.0-SNAPSHOT~b00c24e26a

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (725.101 ms) : 0, 725101
BytebuddyAgent [candidate] (725.585 ms) : 0, 725585
GlobalTracer [baseline] (240.347 ms) : 0, 240347
GlobalTracer [candidate] (240.288 ms) : 0, 240288
AppSec [baseline] (55.467 ms) : 0, 55467
AppSec [candidate] (56.595 ms) : 0, 56595
Debugger [baseline] (5.135 ms) : 0, 5135
Debugger [candidate] (4.349 ms) : 0, 4349
Remote Config [baseline] (3.536 ms) : 0, 3536
Remote Config [candidate] (1.41 ms) : 0, 1410
Telemetry [baseline] (10.045 ms) : 0, 10045
Telemetry [candidate] (9.888 ms) : 0, 9888
section iast
BytebuddyAgent [baseline] (837.603 ms) : 0, 837603
BytebuddyAgent [candidate] (839.648 ms) : 0, 839648
GlobalTracer [baseline] (229.971 ms) : 0, 229971
GlobalTracer [candidate] (230.046 ms) : 0, 230046
IAST [baseline] (25.863 ms) : 0, 25863
IAST [candidate] (22.955 ms) : 0, 22955
AppSec [baseline] (52.123 ms) : 0, 52123
AppSec [candidate] (55.687 ms) : 0, 55687
Debugger [baseline] (4.181 ms) : 0, 4181
Debugger [candidate] (4.197 ms) : 0, 4197
Remote Config [baseline] (602.821 µs) : 0, 603
Remote Config [candidate] (601.713 µs) : 0, 602
Telemetry [baseline] (8.685 ms) : 0, 8685
Telemetry [candidate] (8.696 ms) : 0, 8696
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (845.146 ms) : 0, 845146
BytebuddyAgent [candidate] (839.88 ms) : 0, 839880
GlobalTracer [baseline] (230.377 ms) : 0, 230377
GlobalTracer [candidate] (229.838 ms) : 0, 229838
IAST [baseline] (24.409 ms) : 0, 24409
IAST [candidate] (22.905 ms) : 0, 22905
AppSec [baseline] (54.231 ms) : 0, 54231
AppSec [candidate] (55.832 ms) : 0, 55832
Debugger [baseline] (4.258 ms) : 0, 4258
Debugger [candidate] (4.218 ms) : 0, 4218
Remote Config [baseline] (613.137 µs) : 0, 613
Remote Config [candidate] (610.216 µs) : 0, 610
Telemetry [baseline] (8.802 ms) : 0, 8802
Telemetry [candidate] (8.694 ms) : 0, 8694
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (832.356 ms) : 0, 832356
BytebuddyAgent [candidate] (838.516 ms) : 0, 838516
GlobalTracer [baseline] (228.201 ms) : 0, 228201
GlobalTracer [candidate] (230.097 ms) : 0, 230097
IAST [baseline] (22.342 ms) : 0, 22342
IAST [candidate] (22.651 ms) : 0, 22651
AppSec [baseline] (55.215 ms) : 0, 55215
AppSec [candidate] (55.895 ms) : 0, 55895
Debugger [baseline] (4.053 ms) : 0, 4053
Debugger [candidate] (4.166 ms) : 0, 4166
Remote Config [baseline] (609.088 µs) : 0, 609
Remote Config [candidate] (633.245 µs) : 0, 633
Telemetry [baseline] (8.596 ms) : 0, 8596
Telemetry [candidate] (8.677 ms) : 0, 8677
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-04-16T12:26:00 2025-04-16T12:33:45
git_branch master cecile/injectforce
git_commit_date 1744612276 1744805003
git_commit_sha b00c24e f4d3b10
release_version 1.49.0-SNAPSHOT~b00c24e26a 1.49.0-SNAPSHOT~f4d3b10eb6
start_time 2025-04-16T12:25:46 2025-04-16T12:33:31
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1744807223 1744807223
ci_job_id 899230813 899230813
ci_pipeline_id 62349452 62349452
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-bt7q-tis-project-304-concurrent-1-ef5l9wer 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-bt7q-tis-project-304-concurrent-1-ef5l9wer 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant iast iast

Summary

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

scenario Δ mean http_req_duration Δ mean throughput candidate mean http_req_duration candidate mean throughput baseline mean http_req_duration baseline mean throughput
scenario:load:petclinic:profiling worse
[+34.436µs; +85.957µs] or [+2.260%; +5.641%]
unstable
[-652.044op/s; +424.124op/s] or [-21.191%; +13.784%]
1.584ms 2962.963op/s 1.524ms 3076.923op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.49.0-SNAPSHOT~f4d3b10eb6, baseline=1.49.0-SNAPSHOT~b00c24e26a
    dateFormat X
    axisFormat %s
section baseline
no_agent (377.786 µs) : 358, 397
.   : milestone, 378,
iast (517.516 µs) : 495, 540
.   : milestone, 518,
iast_FULL (732.313 µs) : 710, 754
.   : milestone, 732,
iast_GLOBAL (565.965 µs) : 543, 589
.   : milestone, 566,
iast_HARDCODED_SECRET_DISABLED (513.278 µs) : 491, 535
.   : milestone, 513,
iast_INACTIVE (457.262 µs) : 436, 478
.   : milestone, 457,
iast_TELEMETRY_OFF (504.543 µs) : 482, 527
.   : milestone, 505,
tracing (462.577 µs) : 441, 484
.   : milestone, 463,
section candidate
no_agent (389.853 µs) : 370, 410
.   : milestone, 390,
iast (511.134 µs) : 489, 533
.   : milestone, 511,
iast_FULL (730.392 µs) : 708, 752
.   : milestone, 730,
iast_GLOBAL (557.593 µs) : 536, 579
.   : milestone, 558,
iast_HARDCODED_SECRET_DISABLED (507.501 µs) : 486, 529
.   : milestone, 508,
iast_INACTIVE (464.679 µs) : 443, 487
.   : milestone, 465,
iast_TELEMETRY_OFF (501.019 µs) : 479, 523
.   : milestone, 501,
tracing (460.659 µs) : 439, 482
.   : milestone, 461,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 377.786 µs [358.204 µs, 397.369 µs] -
iast 517.516 µs [495.314 µs, 539.719 µs] 139.73 µs (37.0%)
iast_FULL 732.313 µs [710.314 µs, 754.313 µs] 354.527 µs (93.8%)
iast_GLOBAL 565.965 µs [542.824 µs, 589.107 µs] 188.179 µs (49.8%)
iast_HARDCODED_SECRET_DISABLED 513.278 µs [491.103 µs, 535.454 µs] 135.492 µs (35.9%)
iast_INACTIVE 457.262 µs [436.28 µs, 478.243 µs] 79.475 µs (21.0%)
iast_TELEMETRY_OFF 504.543 µs [482.486 µs, 526.6 µs] 126.756 µs (33.6%)
tracing 462.577 µs [441.382 µs, 483.773 µs] 84.791 µs (22.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 389.853 µs [370.068 µs, 409.638 µs] -
iast 511.134 µs [488.958 µs, 533.31 µs] 121.281 µs (31.1%)
iast_FULL 730.392 µs [708.466 µs, 752.318 µs] 340.539 µs (87.4%)
iast_GLOBAL 557.593 µs [535.736 µs, 579.45 µs] 167.74 µs (43.0%)
iast_HARDCODED_SECRET_DISABLED 507.501 µs [486.198 µs, 528.803 µs] 117.648 µs (30.2%)
iast_INACTIVE 464.679 µs [442.539 µs, 486.819 µs] 74.826 µs (19.2%)
iast_TELEMETRY_OFF 501.019 µs [479.138 µs, 522.899 µs] 111.166 µs (28.5%)
tracing 460.659 µs [439.129 µs, 482.19 µs] 70.806 µs (18.2%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.49.0-SNAPSHOT~f4d3b10eb6, baseline=1.49.0-SNAPSHOT~b00c24e26a
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.354 ms) : 1335, 1373
.   : milestone, 1354,
appsec (1.741 ms) : 1717, 1765
.   : milestone, 1741,
appsec_no_iast (1.745 ms) : 1721, 1769
.   : milestone, 1745,
code_origins (1.691 ms) : 1663, 1718
.   : milestone, 1691,
iast (1.524 ms) : 1500, 1547
.   : milestone, 1524,
profiling (1.524 ms) : 1500, 1547
.   : milestone, 1524,
tracing (1.493 ms) : 1468, 1518
.   : milestone, 1493,
section candidate
no_agent (1.336 ms) : 1317, 1356
.   : milestone, 1336,
appsec (1.734 ms) : 1710, 1758
.   : milestone, 1734,
appsec_no_iast (1.72 ms) : 1697, 1743
.   : milestone, 1720,
code_origins (1.695 ms) : 1668, 1722
.   : milestone, 1695,
iast (1.531 ms) : 1507, 1555
.   : milestone, 1531,
profiling (1.584 ms) : 1559, 1608
.   : milestone, 1584,
tracing (1.5 ms) : 1477, 1524
.   : milestone, 1500,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.354 ms [1.335 ms, 1.373 ms] -
appsec 1.741 ms [1.717 ms, 1.765 ms] 386.679 µs (28.6%)
appsec_no_iast 1.745 ms [1.721 ms, 1.769 ms] 391.139 µs (28.9%)
code_origins 1.691 ms [1.663 ms, 1.718 ms] 336.495 µs (24.9%)
iast 1.524 ms [1.5 ms, 1.547 ms] 169.629 µs (12.5%)
profiling 1.524 ms [1.5 ms, 1.547 ms] 169.689 µs (12.5%)
tracing 1.493 ms [1.468 ms, 1.518 ms] 138.779 µs (10.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.336 ms [1.317 ms, 1.356 ms] -
appsec 1.734 ms [1.71 ms, 1.758 ms] 397.914 µs (29.8%)
appsec_no_iast 1.72 ms [1.697 ms, 1.743 ms] 383.462 µs (28.7%)
code_origins 1.695 ms [1.668 ms, 1.722 ms] 358.661 µs (26.8%)
iast 1.531 ms [1.507 ms, 1.555 ms] 194.749 µs (14.6%)
profiling 1.584 ms [1.559 ms, 1.608 ms] 247.66 µs (18.5%)
tracing 1.5 ms [1.477 ms, 1.524 ms] 163.873 µs (12.3%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master cecile/injectforce
git_commit_date 1744612276 1744805003
git_commit_sha b00c24e f4d3b10
release_version 1.49.0-SNAPSHOT~b00c24e26a 1.49.0-SNAPSHOT~f4d3b10eb6
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1744807727 1744807727
ci_job_id 899230814 899230814
ci_pipeline_id 62349452 62349452
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-s6sqwae-project-304-concurrent-2-dasrule8 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-s6sqwae-project-304-concurrent-2-dasrule8 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 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 tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.49.0-SNAPSHOT~f4d3b10eb6, baseline=1.49.0-SNAPSHOT~b00c24e26a
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.473 ms) : 1462, 1484
.   : milestone, 1473,
appsec (2.349 ms) : 2305, 2393
.   : milestone, 2349,
iast (2.127 ms) : 2071, 2182
.   : milestone, 2127,
iast_GLOBAL (2.168 ms) : 2112, 2224
.   : milestone, 2168,
profiling (1.998 ms) : 1953, 2044
.   : milestone, 1998,
tracing (1.972 ms) : 1929, 2015
.   : milestone, 1972,
section candidate
no_agent (1.475 ms) : 1463, 1486
.   : milestone, 1475,
appsec (2.35 ms) : 2307, 2394
.   : milestone, 2350,
iast (2.14 ms) : 2084, 2196
.   : milestone, 2140,
iast_GLOBAL (2.168 ms) : 2112, 2224
.   : milestone, 2168,
profiling (2.002 ms) : 1956, 2047
.   : milestone, 2002,
tracing (1.958 ms) : 1915, 2001
.   : milestone, 1958,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.473 ms [1.462 ms, 1.484 ms] -
appsec 2.349 ms [2.305 ms, 2.393 ms] 876.12 µs (59.5%)
iast 2.127 ms [2.071 ms, 2.182 ms] 653.712 µs (44.4%)
iast_GLOBAL 2.168 ms [2.112 ms, 2.224 ms] 695.222 µs (47.2%)
profiling 1.998 ms [1.953 ms, 2.044 ms] 525.346 µs (35.7%)
tracing 1.972 ms [1.929 ms, 2.015 ms] 498.763 µs (33.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.475 ms [1.463 ms, 1.486 ms] -
appsec 2.35 ms [2.307 ms, 2.394 ms] 875.691 µs (59.4%)
iast 2.14 ms [2.084 ms, 2.196 ms] 665.153 µs (45.1%)
iast_GLOBAL 2.168 ms [2.112 ms, 2.224 ms] 693.429 µs (47.0%)
profiling 2.002 ms [1.956 ms, 2.047 ms] 526.84 µs (35.7%)
tracing 1.958 ms [1.915 ms, 2.001 ms] 483.349 µs (32.8%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.49.0-SNAPSHOT~f4d3b10eb6, baseline=1.49.0-SNAPSHOT~b00c24e26a
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.072 s) : 15072000, 15072000
.   : milestone, 15072000,
appsec (14.82 s) : 14820000, 14820000
.   : milestone, 14820000,
iast (19.028 s) : 19028000, 19028000
.   : milestone, 19028000,
iast_GLOBAL (17.478 s) : 17478000, 17478000
.   : milestone, 17478000,
profiling (15.077 s) : 15077000, 15077000
.   : milestone, 15077000,
tracing (15.055 s) : 15055000, 15055000
.   : milestone, 15055000,
section candidate
no_agent (15.394 s) : 15394000, 15394000
.   : milestone, 15394000,
appsec (14.78 s) : 14780000, 14780000
.   : milestone, 14780000,
iast (18.413 s) : 18413000, 18413000
.   : milestone, 18413000,
iast_GLOBAL (18.137 s) : 18137000, 18137000
.   : milestone, 18137000,
profiling (15.067 s) : 15067000, 15067000
.   : milestone, 15067000,
tracing (15.115 s) : 15115000, 15115000
.   : milestone, 15115000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.072 s [15.072 s, 15.072 s] -
appsec 14.82 s [14.82 s, 14.82 s] -252.0 ms (-1.7%)
iast 19.028 s [19.028 s, 19.028 s] 3.956 s (26.2%)
iast_GLOBAL 17.478 s [17.478 s, 17.478 s] 2.406 s (16.0%)
profiling 15.077 s [15.077 s, 15.077 s] 5.0 ms (0.0%)
tracing 15.055 s [15.055 s, 15.055 s] -17.0 ms (-0.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.394 s [15.394 s, 15.394 s] -
appsec 14.78 s [14.78 s, 14.78 s] -614.0 ms (-4.0%)
iast 18.413 s [18.413 s, 18.413 s] 3.019 s (19.6%)
iast_GLOBAL 18.137 s [18.137 s, 18.137 s] 2.743 s (17.8%)
profiling 15.067 s [15.067 s, 15.067 s] -327.0 ms (-2.1%)
tracing 15.115 s [15.115 s, 15.115 s] -279.0 ms (-1.8%)

@@ -45,7 +46,7 @@
*/
public final class AgentBootstrap {
static final String LIB_INJECTION_ENABLED_FLAG = "DD_INJECTION_ENABLED";
static final String LIB_INJECTION_FORCE_FLAG = "DD_INJECT_FORCE";
static final String LIB_INJECTION_FORCE_FLAG = "dd.inject.force";
Copy link
Contributor

@dougqh dougqh Apr 15, 2025

Choose a reason for hiding this comment

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

Can we rename this property and the other env var?
Both being labeled as flags, but being different name types is a bit confusing.

e.g. LIB_INJECTION_ENABLED_ENV_AR & LIB_INJECTION_FORCE_PROPERTY

@cecile75 cecile75 marked this pull request as ready for review April 16, 2025 16:37
@cecile75 cecile75 requested a review from a team as a code owner April 16, 2025 16:37
@cecile75 cecile75 requested a review from amarziali April 16, 2025 16:37
Copy link
Contributor

Hi! 👋 Thanks for your pull request! 🎉

To help us review it, please make sure to:

  • Add at least one type, and one component or instrumentation label to the pull request

If you need help, please check our contributing guidelines.

@cecile75 cecile75 added the comp: library injection Library Injection label Apr 16, 2025
@cecile75 cecile75 merged commit 0604f66 into master Apr 18, 2025
260 of 261 checks passed
@cecile75 cecile75 deleted the cecile/injectforce branch April 18, 2025 09:11
@github-actions github-actions bot added this to the 1.49.0 milestone Apr 18, 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
Labels
comp: library injection Library Injection tag: multiple-javaagent Issues related to using multiple javaagent type: enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants