-
Notifications
You must be signed in to change notification settings - Fork 303
Allow agent to be automatically injected when running aside Log4J patch agent #8648
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
Allow agent to be automatically injected when running aside Log4J patch agent #8648
Conversation
2791554
to
fad276b
Compare
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
fad276b
to
3c30e55
Compare
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 66 metrics, 5 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.49.0-SNAPSHOT~5670cc926e, baseline=1.49.0-SNAPSHOT~12da6fe499
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.007 s) : 0, 1007039
Total [baseline] (8.628 s) : 0, 8628410
Agent [candidate] (1.004 s) : 0, 1004408
Total [candidate] (8.609 s) : 0, 8608629
section iast
Agent [baseline] (1.138 s) : 0, 1138142
Total [baseline] (9.228 s) : 0, 9228345
Agent [candidate] (1.137 s) : 0, 1136620
Total [candidate] (9.187 s) : 0, 9186634
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.143 s) : 0, 1142787
Total [baseline] (9.181 s) : 0, 9180746
Agent [candidate] (1.148 s) : 0, 1148243
Total [candidate] (9.21 s) : 0, 9210393
section iast_TELEMETRY_OFF
Agent [baseline] (1.131 s) : 0, 1130833
Total [baseline] (9.207 s) : 0, 9207289
Agent [candidate] (1.141 s) : 0, 1140813
Total [candidate] (9.183 s) : 0, 9182872
gantt
title insecure-bank - break down per module: candidate=1.49.0-SNAPSHOT~5670cc926e, baseline=1.49.0-SNAPSHOT~12da6fe499
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (670.658 ms) : 0, 670658
BytebuddyAgent [candidate] (669.84 ms) : 0, 669840
GlobalTracer [baseline] (239.948 ms) : 0, 239948
GlobalTracer [candidate] (239.616 ms) : 0, 239616
AppSec [baseline] (54.742 ms) : 0, 54742
AppSec [candidate] (54.672 ms) : 0, 54672
Debugger [baseline] (6.156 ms) : 0, 6156
Debugger [candidate] (6.13 ms) : 0, 6130
Remote Config [baseline] (707.304 µs) : 0, 707
Remote Config [candidate] (702.047 µs) : 0, 702
Telemetry [baseline] (11.331 ms) : 0, 11331
Telemetry [candidate] (9.932 ms) : 0, 9932
section iast
BytebuddyAgent [baseline] (790.556 ms) : 0, 790556
BytebuddyAgent [candidate] (789.84 ms) : 0, 789840
GlobalTracer [baseline] (230.176 ms) : 0, 230176
GlobalTracer [candidate] (229.984 ms) : 0, 229984
IAST [baseline] (22.702 ms) : 0, 22702
IAST [candidate] (23.624 ms) : 0, 23624
AppSec [baseline] (56.844 ms) : 0, 56844
AppSec [candidate] (55.356 ms) : 0, 55356
Debugger [baseline] (5.838 ms) : 0, 5838
Debugger [candidate] (5.896 ms) : 0, 5896
Remote Config [baseline] (570.297 µs) : 0, 570
Remote Config [candidate] (597.676 µs) : 0, 598
Telemetry [baseline] (7.857 ms) : 0, 7857
Telemetry [candidate] (7.882 ms) : 0, 7882
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (794.337 ms) : 0, 794337
BytebuddyAgent [candidate] (799.541 ms) : 0, 799541
GlobalTracer [baseline] (231.048 ms) : 0, 231048
GlobalTracer [candidate] (231.027 ms) : 0, 231027
IAST [baseline] (23.047 ms) : 0, 23047
IAST [candidate] (23.02 ms) : 0, 23020
AppSec [baseline] (56.425 ms) : 0, 56425
AppSec [candidate] (56.502 ms) : 0, 56502
Debugger [baseline] (5.907 ms) : 0, 5907
Debugger [candidate] (5.954 ms) : 0, 5954
Remote Config [baseline] (583.885 µs) : 0, 584
Remote Config [candidate] (587.582 µs) : 0, 588
Telemetry [baseline] (7.915 ms) : 0, 7915
Telemetry [candidate] (7.955 ms) : 0, 7955
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (785.657 ms) : 0, 785657
BytebuddyAgent [candidate] (791.667 ms) : 0, 791667
GlobalTracer [baseline] (229.641 ms) : 0, 229641
GlobalTracer [candidate] (231.558 ms) : 0, 231558
IAST [baseline] (22.216 ms) : 0, 22216
IAST [candidate] (22.598 ms) : 0, 22598
AppSec [baseline] (55.875 ms) : 0, 55875
AppSec [candidate] (56.987 ms) : 0, 56987
Debugger [baseline] (5.902 ms) : 0, 5902
Debugger [candidate] (5.991 ms) : 0, 5991
Remote Config [baseline] (598.88 µs) : 0, 599
Remote Config [candidate] (621.612 µs) : 0, 622
Telemetry [baseline] (7.569 ms) : 0, 7569
Telemetry [candidate] (7.853 ms) : 0, 7853
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.49.0-SNAPSHOT~5670cc926e, baseline=1.49.0-SNAPSHOT~12da6fe499
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.012 s) : 0, 1012200
Total [baseline] (10.439 s) : 0, 10438944
Agent [candidate] (1.008 s) : 0, 1007582
Total [candidate] (10.514 s) : 0, 10513824
section appsec
Agent [baseline] (1.15 s) : 0, 1150210
Total [baseline] (10.665 s) : 0, 10664995
Agent [candidate] (1.15 s) : 0, 1149986
Total [candidate] (10.726 s) : 0, 10725741
section iast
Agent [baseline] (1.138 s) : 0, 1138366
Total [baseline] (10.785 s) : 0, 10784754
Agent [candidate] (1.137 s) : 0, 1136886
Total [candidate] (10.849 s) : 0, 10849140
section profiling
Agent [baseline] (1.257 s) : 0, 1256931
Total [baseline] (10.766 s) : 0, 10766203
Agent [candidate] (1.257 s) : 0, 1256990
Total [candidate] (10.829 s) : 0, 10828556
gantt
title petclinic - break down per module: candidate=1.49.0-SNAPSHOT~5670cc926e, baseline=1.49.0-SNAPSHOT~12da6fe499
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (674.862 ms) : 0, 674862
BytebuddyAgent [candidate] (672.13 ms) : 0, 672130
GlobalTracer [baseline] (240.049 ms) : 0, 240049
GlobalTracer [candidate] (240.749 ms) : 0, 240749
AppSec [baseline] (54.63 ms) : 0, 54630
AppSec [candidate] (54.567 ms) : 0, 54567
Debugger [baseline] (6.826 ms) : 0, 6826
Debugger [candidate] (6.123 ms) : 0, 6123
Remote Config [baseline] (691.131 µs) : 0, 691
Remote Config [candidate] (703.551 µs) : 0, 704
Telemetry [baseline] (11.479 ms) : 0, 11479
Telemetry [candidate] (9.94 ms) : 0, 9940
section appsec
BytebuddyAgent [baseline] (689.976 ms) : 0, 689976
BytebuddyAgent [candidate] (688.627 ms) : 0, 688627
GlobalTracer [baseline] (236.599 ms) : 0, 236599
GlobalTracer [candidate] (236.994 ms) : 0, 236994
AppSec [baseline] (174.902 ms) : 0, 174902
AppSec [candidate] (175.776 ms) : 0, 175776
Debugger [baseline] (5.897 ms) : 0, 5897
Debugger [candidate] (5.909 ms) : 0, 5909
Remote Config [baseline] (635.9 µs) : 0, 636
Remote Config [candidate] (637.534 µs) : 0, 638
Telemetry [baseline] (7.808 ms) : 0, 7808
Telemetry [candidate] (7.774 ms) : 0, 7774
IAST [baseline] (21.805 ms) : 0, 21805
IAST [candidate] (21.652 ms) : 0, 21652
section iast
BytebuddyAgent [baseline] (791.127 ms) : 0, 791127
BytebuddyAgent [candidate] (789.746 ms) : 0, 789746
GlobalTracer [baseline] (230.564 ms) : 0, 230564
GlobalTracer [candidate] (229.947 ms) : 0, 229947
AppSec [baseline] (56.175 ms) : 0, 56175
AppSec [candidate] (56.774 ms) : 0, 56774
Debugger [baseline] (5.847 ms) : 0, 5847
Debugger [candidate] (5.905 ms) : 0, 5905
Remote Config [baseline] (591.433 µs) : 0, 591
Remote Config [candidate] (597.064 µs) : 0, 597
Telemetry [baseline] (7.92 ms) : 0, 7920
Telemetry [candidate] (7.898 ms) : 0, 7898
IAST [baseline] (22.662 ms) : 0, 22662
IAST [candidate] (22.658 ms) : 0, 22658
section profiling
ProfilingAgent [baseline] (96.243 ms) : 0, 96243
ProfilingAgent [candidate] (96.758 ms) : 0, 96758
BytebuddyAgent [baseline] (662.325 ms) : 0, 662325
BytebuddyAgent [candidate] (662.164 ms) : 0, 662164
GlobalTracer [baseline] (378.464 ms) : 0, 378464
GlobalTracer [candidate] (378.937 ms) : 0, 378937
AppSec [baseline] (54.6 ms) : 0, 54600
AppSec [candidate] (53.945 ms) : 0, 53945
Debugger [baseline] (6.127 ms) : 0, 6127
Debugger [candidate] (6.183 ms) : 0, 6183
Remote Config [baseline] (649.837 µs) : 0, 650
Remote Config [candidate] (654.384 µs) : 0, 654
Telemetry [baseline] (8.154 ms) : 0, 8154
Telemetry [candidate] (8.146 ms) : 0, 8146
Profiling [baseline] (96.266 ms) : 0, 96266
Profiling [candidate] (96.782 ms) : 0, 96782
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 18 unstable metrics. Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.49.0-SNAPSHOT~5670cc926e, baseline=1.49.0-SNAPSHOT~12da6fe499
dateFormat X
axisFormat %s
section baseline
no_agent (379.756 µs) : 360, 400
. : milestone, 380,
iast (512.631 µs) : 489, 536
. : milestone, 513,
iast_FULL (736.295 µs) : 713, 760
. : milestone, 736,
iast_GLOBAL (560.192 µs) : 537, 583
. : milestone, 560,
iast_HARDCODED_SECRET_DISABLED (524.155 µs) : 501, 547
. : milestone, 524,
iast_INACTIVE (467.558 µs) : 445, 490
. : milestone, 468,
iast_TELEMETRY_OFF (517.0 µs) : 494, 540
. : milestone, 517,
tracing (457.49 µs) : 436, 479
. : milestone, 457,
section candidate
no_agent (385.0 µs) : 364, 406
. : milestone, 385,
iast (526.236 µs) : 503, 550
. : milestone, 526,
iast_FULL (738.313 µs) : 715, 762
. : milestone, 738,
iast_GLOBAL (560.464 µs) : 537, 584
. : milestone, 560,
iast_HARDCODED_SECRET_DISABLED (510.206 µs) : 487, 533
. : milestone, 510,
iast_INACTIVE (464.337 µs) : 442, 487
. : milestone, 464,
iast_TELEMETRY_OFF (513.335 µs) : 491, 536
. : milestone, 513,
tracing (456.969 µs) : 435, 479
. : milestone, 457,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.49.0-SNAPSHOT~5670cc926e, baseline=1.49.0-SNAPSHOT~12da6fe499
dateFormat X
axisFormat %s
section baseline
no_agent (1.354 ms) : 1336, 1373
. : milestone, 1354,
appsec (1.734 ms) : 1710, 1759
. : milestone, 1734,
appsec_no_iast (1.71 ms) : 1686, 1734
. : milestone, 1710,
code_origins (1.686 ms) : 1659, 1714
. : milestone, 1686,
iast (1.517 ms) : 1493, 1542
. : milestone, 1517,
profiling (1.556 ms) : 1531, 1581
. : milestone, 1556,
tracing (1.49 ms) : 1465, 1514
. : milestone, 1490,
section candidate
no_agent (1.369 ms) : 1349, 1389
. : milestone, 1369,
appsec (1.732 ms) : 1709, 1755
. : milestone, 1732,
appsec_no_iast (1.727 ms) : 1703, 1751
. : milestone, 1727,
code_origins (1.675 ms) : 1648, 1702
. : milestone, 1675,
iast (1.491 ms) : 1467, 1515
. : milestone, 1491,
profiling (1.524 ms) : 1500, 1548
. : milestone, 1524,
tracing (1.487 ms) : 1462, 1512
. : milestone, 1487,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics. Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.49.0-SNAPSHOT~5670cc926e, baseline=1.49.0-SNAPSHOT~12da6fe499
dateFormat X
axisFormat %s
section baseline
no_agent (14.964 s) : 14964000, 14964000
. : milestone, 14964000,
appsec (15.258 s) : 15258000, 15258000
. : milestone, 15258000,
iast (18.816 s) : 18816000, 18816000
. : milestone, 18816000,
iast_GLOBAL (18.269 s) : 18269000, 18269000
. : milestone, 18269000,
profiling (14.871 s) : 14871000, 14871000
. : milestone, 14871000,
tracing (14.843 s) : 14843000, 14843000
. : milestone, 14843000,
section candidate
no_agent (14.958 s) : 14958000, 14958000
. : milestone, 14958000,
appsec (14.931 s) : 14931000, 14931000
. : milestone, 14931000,
iast (19.067 s) : 19067000, 19067000
. : milestone, 19067000,
iast_GLOBAL (18.036 s) : 18036000, 18036000
. : milestone, 18036000,
profiling (14.953 s) : 14953000, 14953000
. : milestone, 14953000,
tracing (14.887 s) : 14887000, 14887000
. : milestone, 14887000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.49.0-SNAPSHOT~5670cc926e, baseline=1.49.0-SNAPSHOT~12da6fe499
dateFormat X
axisFormat %s
section baseline
no_agent (1.477 ms) : 1466, 1489
. : milestone, 1477,
appsec (2.394 ms) : 2347, 2442
. : milestone, 2394,
iast (2.174 ms) : 2114, 2234
. : milestone, 2174,
iast_GLOBAL (2.212 ms) : 2152, 2272
. : milestone, 2212,
profiling (2.009 ms) : 1962, 2057
. : milestone, 2009,
tracing (1.998 ms) : 1952, 2044
. : milestone, 1998,
section candidate
no_agent (1.481 ms) : 1469, 1493
. : milestone, 1481,
appsec (2.395 ms) : 2347, 2442
. : milestone, 2395,
iast (2.176 ms) : 2117, 2236
. : milestone, 2176,
iast_GLOBAL (2.222 ms) : 2161, 2282
. : milestone, 2222,
profiling (2.496 ms) : 2313, 2679
. : milestone, 2496,
tracing (1.989 ms) : 1943, 2035
. : milestone, 1989,
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice catch!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we need to set up an integration test to verify that EMR's agent isn't incompatible with ours.
Well in practice we know this is not incompatible because every customer that has used EMR with DJM has had both the log4j patch agent adds and our agent. I'd like to see integration tests too, but I don't think this change make them any more or less necessary than they were before. |
6fef1bf
to
ba0184e
Compare
I don't actually think that we know that the patch jar in question is fully compatible. However, I actually think it is reasonably likely that the patch jar isn't compatible with our log4j instrumentation. Given how the DJM instrumentation works, DJM isn't really compatible with our log4j instrumentation. I say that because the DJM instrumentation is listener based and does not / cannot do scope activation in the normal way. And the log4j instrumentation only works if scope activation is being done. That's not a criticism of DJM. I'm just saying that the patch jar might be compatible with DJM because log injection doesn't come into play, but that's not true for other products. I'm hopeful that the patch jar is compatible. The patch probably doesn't change any signatures or internals in way that would run afoul of our log4j instrumentation, but we really should verify that. Did we test products other than DJM? Did we check with the relevant versions of log4j? |
ba0184e
to
c94652c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cleaned up title for changelog and tests
| 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 ([#​1801](googleapis/java-logging#1801)) ([d7aa7bc](googleapis/java-logging@d7aa7bc)) - Update dependency com.google.cloud:sdk-platform-java-config to v3.47.0 ([#​1803](googleapis/java-logging#1803)) ([5967ffe](googleapis/java-logging@5967ffe)) - Update googleapis/sdk-platform-java action to v2.57.0 ([#​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 ([#​1841](googleapis/java-datastore#1841)) ([ac393e6](googleapis/java-datastore@ac393e6)) - Update googleapis/sdk-platform-java action to v2.57.0 ([#​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 ([#​8705](DataDog/dd-trace-java#8705) - [@​amarziali](https://github.com/amarziali)) #### Continuous Integration Visibility - 🐛 Add span propagation for Pekko scheduled tasks ([#​8765](DataDog/dd-trace-java#8765) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Update test.retry_reason to use full name of the feature ([#​8689](DataDog/dd-trace-java#8689) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - 🧹 Remove unused TestEventsHandler methods ([#​8674](DataDog/dd-trace-java#8674) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) #### Dynamic Instrumentation - 🐛 Fix exclude identifiers normalization ([#​8742](DataDog/dd-trace-java#8742) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Make source file tracking asynchronous ([#​8684](DataDog/dd-trace-java#8684) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Add scope filtering for symbol extraction ([#​8676](DataDog/dd-trace-java#8676) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Add support for [@​key](https://github.com/key) and [@​value](https://github.com/value) for Map filtering ([#​8669](DataDog/dd-trace-java#8669) - [@​jpbempel](https://github.com/jpbempel)) #### Library Injection - ✨ Add system property to force injection of the tracing library even though multiple javaagents have been detected ([#​8697](DataDog/dd-trace-java#8697) - [@​cecile75](https://github.com/cecile75)) #### Metrics - ✨ Allow dogstatsd port to be configurable with DD_DOGSTATSD_PORT ([#​8693](DataDog/dd-trace-java#8693) - [@​randomanderson](https://github.com/randomanderson)) #### Profiling - ✨ Bump ddprof-java to 1.25.1 ([#​8750](DataDog/dd-trace-java#8750) - [@​jbachorik](https://github.com/jbachorik)) - 🐛 Remove cleanup-on-shutdown for temporary files ([#​8746](DataDog/dd-trace-java#8746) - [@​jbachorik](https://github.com/jbachorik)) - ✨⚡ Replace a regex-based SMAP parser with a hand-crafted one ([#​8730](DataDog/dd-trace-java#8730) - [@​jbachorik](https://github.com/jbachorik)) - ✨ Improve error reporting on profiler startup ([#​8714](DataDog/dd-trace-java#8714) - [@​jbachorik](https://github.com/jbachorik)) - ✨ Exclude ProxyLeakTask exception from exception profiling ([#​8666](DataDog/dd-trace-java#8666) - [@​jbachorik](https://github.com/jbachorik)) - ✨ Use jvmstat for JDKs 9+ programmatically ([#​8641](DataDog/dd-trace-java#8641) - [@​MattAlp](https://github.com/MattAlp)) #### Telemetry - ✨ Allow dogstatsd port to be configurable with DD_DOGSTATSD_PORT ([#​8693](DataDog/dd-trace-java#8693) - [@​randomanderson](https://github.com/randomanderson)) - 🐛 Fix appsec.waf.requests telemetry metric ([#​8644](DataDog/dd-trace-java#8644) - [@​jandro996](https://github.com/jandro996)) #### Tracer core - ✨ Exclude jackson afterburner dynamic classes from instrumentation ([#​8747](DataDog/dd-trace-java#8747) - [@​amarziali](https://github.com/amarziali)) - ✨ Introduce Java 8 bytecode bridge for instrumentation API ([#​8736](DataDog/dd-trace-java#8736) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - ⚡🧹 Use byte-buddy classes optimized for Java8+ ([#​8735](DataDog/dd-trace-java#8735) - [@​mcculls](https://github.com/mcculls)) - 🐛 Do not set the hibernate or datanucleus span service name when disabled ([#​8727](DataDog/dd-trace-java#8727) - [@​ygree](https://github.com/ygree)) - ✨ Update bytebuddy and ASM to support JDK 24 ([#​8720](DataDog/dd-trace-java#8720) - [@​sarahchen6](https://github.com/sarahchen6)) - 🐛 Turn off JDK socket support by default ([#​8715](DataDog/dd-trace-java#8715) - [@​mcculls](https://github.com/mcculls)) - 🐛 Log warning when trace buffer overflow occurs ([#​8712](DataDog/dd-trace-java#8712) - [@​ygree](https://github.com/ygree)) - ✨🧪 Introducing an internal integration name ([#​8708](DataDog/dd-trace-java#8708) - [@​amarziali](https://github.com/amarziali)) - ✨ Add process tags to client stats payload ([#​8704](DataDog/dd-trace-java#8704) - [@​amarziali](https://github.com/amarziali)) - ✨ Collect process tags for tracing ([#​8698](DataDog/dd-trace-java#8698) - [@​amarziali](https://github.com/amarziali)) - ✨ Stable Config file: target system properties in process_arguments and support template variables in YamlParser ([#​8690](DataDog/dd-trace-java#8690) - [@​mtoffl01](https://github.com/mtoffl01)) - ✨⚡ Use prefix trie for proxy ignores ([#​8678](DataDog/dd-trace-java#8678) - [@​amarziali](https://github.com/amarziali)) - ✨ Allow agent to be automatically injected when running aside Log4J patch agent ([#​8648](DataDog/dd-trace-java#8648) - [@​paullegranddc](https://github.com/paullegranddc)) - ✨ Use jvmstat for JDKs 9+ programmatically ([#​8641](DataDog/dd-trace-java#8641) - [@​MattAlp](https://github.com/MattAlp)) #### Tracer internal logging - 🐛 Delete print line ([#​8686](DataDog/dd-trace-java#8686) - [@​sarahchen6](https://github.com/sarahchen6)) ### Instrumentations #### Akka instrumentation - 🐛 Handle reentrant scope cleanup in Akka/Pekko actor instrumentations ([#​8722](DataDog/dd-trace-java#8722) - [@​mcculls](https://github.com/mcculls)) #### Apache Spark instrumentation - ✨ Use OpenLineage root parent information to generate trace id ([#​8726](DataDog/dd-trace-java#8726) - [@​mobuchowski](https://github.com/mobuchowski)) - ✨ Spark job cancellation no longer marks application as failed ([#​8701](DataDog/dd-trace-java#8701) - [@​paul-laffon-dd](https://github.com/paul-laffon-dd)) #### JDBC instrumentation - 💡 Add support for sybase tds jdbc driver ([#​8764](DataDog/dd-trace-java#8764) - [@​amarziali](https://github.com/amarziali)) #### Kotlin instrumentation - 🐛 Take defensive copy of parent scope stack when closing nested coroutines ([#​8749](DataDog/dd-trace-java#8749) - [@​mcculls](https://github.com/mcculls)) #### Reactor instrumentation - ✨⚡ Do not inspect reactor context when not needed ([#​8745](DataDog/dd-trace-java#8745) - [@​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
What Does This Do
Motivation
This fix is meant for DJM running in AWS EMR.
AWS adds a javaagent on their spark processes to patch the log4j vulnerability. This wouldn't pass the current double injection check so the injector is currently configured to pass
DD_INJECT_FORCE
on EMR to force the check.The issue is that this is configuration is currently passed to the injector in a legacy way we want to remove, so we wouldn't be able to skip checks. This exception is also, in general, a bit scary because it applies everywhere we will inject everything on EMR regardless of deny lists.
So this PR adds a more restricted exception in the AgentBootstrap, and only works if there 2 agents one of them being for log4j.
Additional Notes
Contributor Checklist
type:
and (comp:
orinst:
) labels in addition to any usefull labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]