Skip to content

Conversation

cecile75
Copy link
Contributor

@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 Enhancements and improvements 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%)
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 Enhancements and improvements

3 participants