- Notifications
You must be signed in to change notification settings - Fork 313
Add the possibility to output the logs of the Java tracer in JSON #8083
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
Conversation
Hi! 👋 Looks like you updated a Git Submodule.
|
Hi! 👋 Looks like you updated a Git Submodule.
|
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 58 metrics, 5 unstable metrics. Startup time reports for insecure-bankgantt title insecure-bank - global startup overhead: candidate=1.48.0-SNAPSHOT~ef0181b8ac, baseline=1.48.0-SNAPSHOT~b34cd6dbd9 dateFormat X axisFormat %s section tracing Agent [baseline] (1.04 s) : 0, 1040088 Total [baseline] (8.675 s) : 0, 8674829 Agent [candidate] (1.042 s) : 0, 1041886 Total [candidate] (8.662 s) : 0, 8662101 section iast Agent [baseline] (1.167 s) : 0, 1167247 Total [baseline] (9.224 s) : 0, 9223718 Agent [candidate] (1.168 s) : 0, 1168066 Total [candidate] (9.221 s) : 0, 9221249 section iast_HARDCODED_SECRET_DISABLED Agent [baseline] (1.189 s) : 0, 1188820 Total [baseline] (9.202 s) : 0, 9201661 Agent [candidate] (1.181 s) : 0, 1180705 Total [candidate] (9.2 s) : 0, 9200268 section iast_TELEMETRY_OFF Agent [baseline] (1.165 s) : 0, 1165026 Total [baseline] (9.244 s) : 0, 9243547 Agent [candidate] (1.164 s) : 0, 1164343 Total [candidate] (9.208 s) : 0, 9208278
gantt title insecure-bank - break down per module: candidate=1.48.0-SNAPSHOT~ef0181b8ac, baseline=1.48.0-SNAPSHOT~b34cd6dbd9 dateFormat X axisFormat %s section tracing BytebuddyAgent [baseline] (715.917 ms) : 0, 715917 BytebuddyAgent [candidate] (718.832 ms) : 0, 718832 GlobalTracer [baseline] (239.7 ms) : 0, 239700 GlobalTracer [candidate] (238.784 ms) : 0, 238784 AppSec [baseline] (55.139 ms) : 0, 55139 AppSec [candidate] (55.604 ms) : 0, 55604 Remote Config [baseline] (673.029 µs) : 0, 673 Remote Config [candidate] (699.505 µs) : 0, 700 Telemetry [baseline] (13.736 ms) : 0, 13736 Telemetry [candidate] (13.052 ms) : 0, 13052 section iast BytebuddyAgent [baseline] (833.886 ms) : 0, 833886 BytebuddyAgent [candidate] (835.063 ms) : 0, 835063 GlobalTracer [baseline] (229.383 ms) : 0, 229383 GlobalTracer [candidate] (229.625 ms) : 0, 229625 IAST [baseline] (22.943 ms) : 0, 22943 IAST [candidate] (22.899 ms) : 0, 22899 AppSec [baseline] (56.75 ms) : 0, 56750 AppSec [candidate] (56.327 ms) : 0, 56327 Remote Config [baseline] (609.868 µs) : 0, 610 Remote Config [candidate] (614.014 µs) : 0, 614 Telemetry [baseline] (8.717 ms) : 0, 8717 Telemetry [candidate] (8.665 ms) : 0, 8665 section iast_HARDCODED_SECRET_DISABLED BytebuddyAgent [baseline] (852.14 ms) : 0, 852140 BytebuddyAgent [candidate] (846.117 ms) : 0, 846117 GlobalTracer [baseline] (232.277 ms) : 0, 232277 GlobalTracer [candidate] (230.511 ms) : 0, 230511 IAST [baseline] (23.157 ms) : 0, 23157 IAST [candidate] (22.878 ms) : 0, 22878 AppSec [baseline] (56.76 ms) : 0, 56760 AppSec [candidate] (56.876 ms) : 0, 56876 Remote Config [baseline] (631.607 µs) : 0, 632 Remote Config [candidate] (604.605 µs) : 0, 605 Telemetry [baseline] (8.73 ms) : 0, 8730 Telemetry [candidate] (8.639 ms) : 0, 8639 section iast_TELEMETRY_OFF BytebuddyAgent [baseline] (832.362 ms) : 0, 832362 BytebuddyAgent [candidate] (831.919 ms) : 0, 831919 GlobalTracer [baseline] (229.678 ms) : 0, 229678 GlobalTracer [candidate] (229.51 ms) : 0, 229510 IAST [baseline] (23.908 ms) : 0, 23908 IAST [candidate] (22.354 ms) : 0, 22354 AppSec [baseline] (55.084 ms) : 0, 55084 AppSec [candidate] (56.543 ms) : 0, 56543 Remote Config [baseline] (616.593 µs) : 0, 617 Remote Config [candidate] (613.577 µs) : 0, 614 Telemetry [baseline] (8.526 ms) : 0, 8526 Telemetry [candidate] (8.58 ms) : 0, 8580 Startup time reports for petclinicgantt title petclinic - global startup overhead: candidate=1.48.0-SNAPSHOT~ef0181b8ac, baseline=1.48.0-SNAPSHOT~b34cd6dbd9 dateFormat X axisFormat %s section tracing Agent [baseline] (1.04 s) : 0, 1039590 Total [baseline] (10.445 s) : 0, 10445202 Agent [candidate] (1.04 s) : 0, 1039577 Total [candidate] (10.385 s) : 0, 10384879 section appsec Agent [baseline] (1.18 s) : 0, 1180122 Total [baseline] (10.71 s) : 0, 10709745 Agent [candidate] (1.182 s) : 0, 1182481 Total [candidate] (10.768 s) : 0, 10767707 section iast Agent [baseline] (1.175 s) : 0, 1175310 Total [baseline] (10.915 s) : 0, 10914709 Agent [candidate] (1.169 s) : 0, 1168598 Total [candidate] (10.974 s) : 0, 10973615 section profiling Agent [baseline] (1.26 s) : 0, 1259870 Total [baseline] (10.925 s) : 0, 10925423 Agent [candidate] (1.263 s) : 0, 1262820 Total [candidate] (10.84 s) : 0, 10839836
gantt title petclinic - break down per module: candidate=1.48.0-SNAPSHOT~ef0181b8ac, baseline=1.48.0-SNAPSHOT~b34cd6dbd9 dateFormat X axisFormat %s section tracing BytebuddyAgent [baseline] (715.967 ms) : 0, 715967 BytebuddyAgent [candidate] (716.566 ms) : 0, 716566 GlobalTracer [baseline] (239.091 ms) : 0, 239091 GlobalTracer [candidate] (239.714 ms) : 0, 239714 AppSec [baseline] (55.371 ms) : 0, 55371 AppSec [candidate] (55.47 ms) : 0, 55470 Remote Config [baseline] (688.468 µs) : 0, 688 Remote Config [candidate] (687.774 µs) : 0, 688 Telemetry [baseline] (13.55 ms) : 0, 13550 Telemetry [candidate] (12.263 ms) : 0, 12263 section appsec BytebuddyAgent [baseline] (733.263 ms) : 0, 733263 BytebuddyAgent [candidate] (733.989 ms) : 0, 733989 GlobalTracer [baseline] (235.783 ms) : 0, 235783 GlobalTracer [candidate] (236.523 ms) : 0, 236523 AppSec [baseline] (176.662 ms) : 0, 176662 AppSec [candidate] (177.489 ms) : 0, 177489 Remote Config [baseline] (652.016 µs) : 0, 652 Remote Config [candidate] (657.898 µs) : 0, 658 Telemetry [baseline] (8.232 ms) : 0, 8232 Telemetry [candidate] (8.293 ms) : 0, 8293 IAST [baseline] (21.351 ms) : 0, 21351 IAST [candidate] (21.229 ms) : 0, 21229 section iast BytebuddyAgent [baseline] (841.849 ms) : 0, 841849 BytebuddyAgent [candidate] (834.98 ms) : 0, 834980 GlobalTracer [baseline] (229.623 ms) : 0, 229623 GlobalTracer [candidate] (229.873 ms) : 0, 229873 AppSec [baseline] (56.491 ms) : 0, 56491 AppSec [candidate] (55.86 ms) : 0, 55860 Remote Config [baseline] (610.198 µs) : 0, 610 Remote Config [candidate] (621.435 µs) : 0, 621 Telemetry [baseline] (8.741 ms) : 0, 8741 Telemetry [candidate] (8.685 ms) : 0, 8685 IAST [baseline] (22.991 ms) : 0, 22991 IAST [candidate] (23.693 ms) : 0, 23693 section profiling BytebuddyAgent [baseline] (710.293 ms) : 0, 710293 BytebuddyAgent [candidate] (710.573 ms) : 0, 710573 GlobalTracer [baseline] (349.108 ms) : 0, 349108 GlobalTracer [candidate] (351.409 ms) : 0, 351409 AppSec [baseline] (54.389 ms) : 0, 54389 AppSec [candidate] (54.445 ms) : 0, 54445 Remote Config [baseline] (669.918 µs) : 0, 670 Remote Config [candidate] (675.458 µs) : 0, 675 Telemetry [baseline] (8.826 ms) : 0, 8826 Telemetry [candidate] (9.067 ms) : 0, 9067 ProfilingAgent [baseline] (95.891 ms) : 0, 95891 ProfilingAgent [candidate] (96.288 ms) : 0, 96288 Profiling [baseline] (95.915 ms) : 0, 95915 Profiling [candidate] (96.314 ms) : 0, 96314 LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 14 metrics, 16 unstable metrics. Request duration reports for insecure-bankgantt title insecure-bank - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~ef0181b8ac, baseline=1.48.0-SNAPSHOT~b34cd6dbd9 dateFormat X axisFormat %s section baseline no_agent (383.679 µs) : 363, 404 . : milestone, 384, iast (516.591 µs) : 495, 538 . : milestone, 517, iast_FULL (738.814 µs) : 717, 761 . : milestone, 739, iast_GLOBAL (560.308 µs) : 539, 582 . : milestone, 560, iast_HARDCODED_SECRET_DISABLED (519.092 µs) : 497, 541 . : milestone, 519, iast_INACTIVE (474.334 µs) : 453, 496 . : milestone, 474, iast_TELEMETRY_OFF (502.309 µs) : 481, 524 . : milestone, 502, tracing (463.32 µs) : 442, 485 . : milestone, 463, section candidate no_agent (385.289 µs) : 365, 405 . : milestone, 385, iast (514.393 µs) : 493, 536 . : milestone, 514, iast_FULL (735.338 µs) : 714, 757 . : milestone, 735, iast_GLOBAL (561.265 µs) : 540, 583 . : milestone, 561, iast_HARDCODED_SECRET_DISABLED (517.265 µs) : 495, 539 . : milestone, 517, iast_INACTIVE (468.033 µs) : 447, 489 . : milestone, 468, iast_TELEMETRY_OFF (503.873 µs) : 481, 527 . : milestone, 504, tracing (460.102 µs) : 439, 482 . : milestone, 460,
Request duration reports for petclinicgantt title petclinic - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~ef0181b8ac, baseline=1.48.0-SNAPSHOT~b34cd6dbd9 dateFormat X axisFormat %s section baseline no_agent (1.372 ms) : 1352, 1393 . : milestone, 1372, appsec (1.724 ms) : 1700, 1748 . : milestone, 1724, appsec_no_iast (1.746 ms) : 1722, 1771 . : milestone, 1746, code_origins (1.672 ms) : 1640, 1705 . : milestone, 1672, iast (1.508 ms) : 1484, 1532 . : milestone, 1508, profiling (1.525 ms) : 1501, 1548 . : milestone, 1525, tracing (1.489 ms) : 1464, 1513 . : milestone, 1489, section candidate no_agent (1.351 ms) : 1332, 1371 . : milestone, 1351, appsec (1.735 ms) : 1711, 1758 . : milestone, 1735, appsec_no_iast (1.76 ms) : 1736, 1784 . : milestone, 1760, code_origins (1.677 ms) : 1644, 1711 . : milestone, 1677, iast (1.541 ms) : 1518, 1564 . : milestone, 1541, profiling (1.558 ms) : 1534, 1583 . : milestone, 1558, tracing (1.489 ms) : 1464, 1514 . : milestone, 1489,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics. Execution time for biojavagantt title biojava - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~ef0181b8ac, baseline=1.48.0-SNAPSHOT~b34cd6dbd9 dateFormat X axisFormat %s section baseline no_agent (14.829 s) : 14829000, 14829000 . : milestone, 14829000, appsec (14.918 s) : 14918000, 14918000 . : milestone, 14918000, iast (18.458 s) : 18458000, 18458000 . : milestone, 18458000, iast_GLOBAL (18.033 s) : 18033000, 18033000 . : milestone, 18033000, profiling (14.933 s) : 14933000, 14933000 . : milestone, 14933000, tracing (15.306 s) : 15306000, 15306000 . : milestone, 15306000, section candidate no_agent (15.533 s) : 15533000, 15533000 . : milestone, 15533000, appsec (15.052 s) : 15052000, 15052000 . : milestone, 15052000, iast (18.787 s) : 18787000, 18787000 . : milestone, 18787000, iast_GLOBAL (17.882 s) : 17882000, 17882000 . : milestone, 17882000, profiling (15.052 s) : 15052000, 15052000 . : milestone, 15052000, tracing (14.724 s) : 14724000, 14724000 . : milestone, 14724000,
Execution time for tomcatgantt title tomcat - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~ef0181b8ac, baseline=1.48.0-SNAPSHOT~b34cd6dbd9 dateFormat X axisFormat %s section baseline no_agent (1.479 ms) : 1467, 1491 . : milestone, 1479, appsec (2.357 ms) : 2314, 2400 . : milestone, 2357, iast (2.108 ms) : 2053, 2162 . : milestone, 2108, iast_GLOBAL (2.181 ms) : 2125, 2237 . : milestone, 2181, profiling (1.97 ms) : 1927, 2013 . : milestone, 1970, tracing (1.952 ms) : 1910, 1994 . : milestone, 1952, section candidate no_agent (1.485 ms) : 1473, 1497 . : milestone, 1485, appsec (2.36 ms) : 2317, 2403 . : milestone, 2360, iast (2.122 ms) : 2067, 2177 . : milestone, 2122, iast_GLOBAL (2.166 ms) : 2110, 2221 . : milestone, 2166, profiling (1.989 ms) : 1944, 2033 . : milestone, 1989, tracing (1.965 ms) : 1922, 2007 . : milestone, 1965,
|
…ot-class-path (necessary so we can bypass restricted lookups, such as from GraalVM)
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
setSystemPropertyDefault( | ||
SIMPLE_LOGGER_DATE_TIME_FORMAT_PROPERTY, SIMPLE_LOGGER_DATE_TIME_FORMAT_DEFAULT); | ||
setSystemPropertyDefault(SIMPLE_LOGGER_JSON_ENABLED_PROPERTY, "false"); | ||
if (System.getProperty(SIMPLE_LOGGER_JSON_ENABLED_PROPERTY).equalsIgnoreCase("true")) { |
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.
If the property is set by using an environment variable this if won't go inside while it should. you should put || ddGetEnv(...)
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 mimic the behaviour of datadog.slf4j.simpleLogger.showDateTime:
- if the environment variable is set to any value => value applied: the default value in SLCompatSettings
- if the system property key is set => value applied: the system property value
- if nothing is set => value applied: the default value in Agent.java
This being said, I agree that it's probably something we want to revisit in another dedicated PR
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 that's acceptable as soon as it is well documented right now
writer.beginObject(); | ||
writer.name("message").value(t.getMessage()); | ||
if (t.getStackTrace().length > 0) { | ||
List<StackTraceElement> stackTraceElementList = Arrays.asList(t.getStackTrace()); |
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.
In the code above each call stack is iterated using a foreach:
for (StackTraceElement element : t.getStackTrace()) {
Why there here we need to use an extra list and copy the array?
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.
Thanks for the addition. It looks globally ok to me. I've left a couple of comments I'd like to clarify
| Package | Type | Package file | Manager | Update | Change | |---|---|---|---|---|---| | org.flywaydb.flyway | plugin | misk/gradle/libs.versions.toml | gradle | minor | `11.6.0` -> `11.7.0` | | [com.squareup.okio:okio-fakefilesystem](https://github.com/square/okio) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `3.10.2` -> `3.11.0` | | [com.squareup.okio:okio](https://github.com/square/okio) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `3.10.2` -> `3.11.0` | | [com.autonomousapps.dependency-analysis](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin) | plugin | misk/gradle/libs.versions.toml | gradle | minor | `2.15.0` -> `2.16.0` | | [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.47.3` -> `1.48.1` | | [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.47.3` -> `1.48.1` | | [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.18` -> `2.31.20` | | [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.18` -> `2.31.20` | | [software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.18` -> `2.31.20` | | [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.18` -> `2.31.20` | | [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.18` -> `2.31.20` | | [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.18` -> `2.31.20` | | [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.18` -> `2.31.20` | --- ### Release Notes <details> <summary>square/okio (com.squareup.okio:okio-fakefilesystem)</summary> ### [`v3.11.0`](https://github.com/square/okio/blob/HEAD/CHANGELOG.md#Version-3110) *2025-04-09* - Fix: Clear the deflater's byte array reference - New: Faster implementation of `String.decodeHex()` on Kotlin/JS. - New: Declare `EXACTLY_ONCE` execution for blocks like `Closeable.use {}` and `FileSystem.read {}`. - Upgrade: \[Kotlin 2.1.20]\[kotlin\_2\_1\_20]. </details> <details> <summary>autonomousapps/dependency-analysis-android-gradle-plugin (com.autonomousapps.dependency-analysis)</summary> ### [`v2.16.0`](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/blob/HEAD/CHANGELOG.md#Version-2160) - \[Feat]: support `com.android.test` projects. - \[Feat]: support typesafe project accessors with opt-in. ```kotlin dependencyAnalysis { useTypesafeProjectAccessors(true) // false by default } ``` </details> <details> <summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary> ### [`v1.48.1`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.48.1): 1.48.1 ### Components #### Tracer internal logging - 🐛 Remove print line causing unnecessary logs ([#​8687](DataDog/dd-trace-java#8687) - [@​sarahchen6](https://github.com/sarahchen6)) ### [`v1.48.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.48.0): 1.48.0 ### Known Bugs > \[!NOTE] > If you are experiencing issues with spamming timeout logs, please update to the [latest version](https://github.com/DataDog/dd-trace-java/releases/latest) or set [JDK_SOCKET_ENABLED](https://github.com/DataDog/dd-trace-java/blob/33fc3c9a9b7cda3beda88b8b3e5224ae2b10764a/dd-trace-api/src/main/java/datadog/trace/api/config/GeneralConfig.java#L98) to false. ### Components #### Application Security Management (IAST) - ✨ Fix vulnerability location org.jose4j.lang.HashUtil ([#​8610](DataDog/dd-trace-java#8610) - [@​jandro996](https://github.com/jandro996)) - ✨ Fix weak randomness in oracle.ucp.util.OpaqueString ([#​8609](DataDog/dd-trace-java#8609) - [@​jandro996](https://github.com/jandro996)) - ✨ Fix weak hash false positive in oracle.security.o5logon.O5Logon ([#​8608](DataDog/dd-trace-java#8608) - [@​jandro996](https://github.com/jandro996)) - 🐛 Prevent before callsites targeting constructors in super calls ([#​8549](DataDog/dd-trace-java#8549) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) #### Application Security Management (WAF) - ✨ Update login events public SDK to V2 ([#​8620](DataDog/dd-trace-java#8620) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - 🐛 Send RASP LFI capability only when AppSec is statically enabled ([#​8573](DataDog/dd-trace-java#8573) - [@​jandro996](https://github.com/jandro996)) - ✨ Improve detection of missing request end events ([#​8510](DataDog/dd-trace-java#8510) - [@​smola](https://github.com/smola)) - 🧹 Remove remote configuration for API Security sampling rate ([#​8486](DataDog/dd-trace-java#8486) - [@​smola](https://github.com/smola)) - ✨ Add setUser to user monitoring SDK ([#​8482](DataDog/dd-trace-java#8482) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Add missing address for signup event ([#​8469](DataDog/dd-trace-java#8469) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Allow login events SDK to be used with appsec disabled ([#​8464](DataDog/dd-trace-java#8464) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Add support for endpoint discovery in spring mvc ([#​8352](DataDog/dd-trace-java#8352) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ New API Security sampling algorithm ([#​8178](DataDog/dd-trace-java#8178) - [@​ValentinZakharov](https://github.com/ValentinZakharov)) #### Build & Tooling - ✨ Add buffer size customizability to JDK UDS support ([#​8629](DataDog/dd-trace-java#8629) - [@​sarahchen6](https://github.com/sarahchen6)) - ✨ Add JDK built-in support for UDS on Java 16+ ([#​8314](DataDog/dd-trace-java#8314) - [@​sarahchen6](https://github.com/sarahchen6)) #### Configuration at Runtime - 🐛 Send RASP LFI capability only when AppSec is statically enabled ([#​8573](DataDog/dd-trace-java#8573) - [@​jandro996](https://github.com/jandro996)) #### Continuous Integration Visibility - 🐛 Prevent double reporting of Scalatest events when using SBT with test forking ([#​8682](DataDog/dd-trace-java#8682) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Shutdown CI Visibility test event handlers before tracer ([#​8677](DataDog/dd-trace-java#8677) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Do not apply JUnit 4 instrumentation to MUnit runners ([#​8675](DataDog/dd-trace-java#8675), [#​8683](DataDog/dd-trace-java#8683) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Remove error log when source path resolution fails on isModified check ([#​8663](DataDog/dd-trace-java#8663) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Implement tests reordering for JUnit 4 ([#​8650](DataDog/dd-trace-java#8650) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - 🐛 Set default Attempt to Fix retries if none provided from the backend ([#​8615](DataDog/dd-trace-java#8615) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Allow to manually set PR info ([#​8566](DataDog/dd-trace-java#8566) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Fix Test Optimization init when repo root cannot be determined ([#​8533](DataDog/dd-trace-java#8533) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Add capabilities tagging ([#​8499](DataDog/dd-trace-java#8499), [#​8540](DataDog/dd-trace-java#8540) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) #### Crash tracking - 🐛 Remove dependency on bash from crash/oome uploder scripts ([#​8652](DataDog/dd-trace-java#8652) - [@​jbachorik](https://github.com/jbachorik)) #### Data Streams Monitoring - ✨ e2e pipeline configuration when data jobs is enabled ([#​8553](DataDog/dd-trace-java#8553) - [@​kr-igor](https://github.com/kr-igor)) #### Dynamic Instrumentation - 🐛 Fix In-Product when config is empty ([#​8679](DataDog/dd-trace-java#8679) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Add support for filtering shaded third-party libs ([#​8612](DataDog/dd-trace-java#8612) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Add In-Product Enablement ([#​8587](DataDog/dd-trace-java#8587) - [@​jpbempel](https://github.com/jpbempel)) - ✨⚡ Reduce footprint of SourceFile tracking ([#​8524](DataDog/dd-trace-java#8524) - [@​jpbempel](https://github.com/jpbempel)) - ✨⚡ Optimize the SourceFile tracking ([#​8520](DataDog/dd-trace-java#8520) - [@​jpbempel](https://github.com/jpbempel)) #### OpenTracing - 🧹 Remove activeScope() use in OpenTracing shim ([#​8478](DataDog/dd-trace-java#8478) - [@​mcculls](https://github.com/mcculls)) #### Profiling - ✨ Add profiler env check command to AgentCLI ([#​8671](DataDog/dd-trace-java#8671) - [@​jbachorik](https://github.com/jbachorik)) - ✨ Bump ddprof to 1.23.0 ([#​8668](DataDog/dd-trace-java#8668) - [@​jbachorik](https://github.com/jbachorik)) - Fix a crash related to ElfParser::loadSymbolTable ([#​191](DataDog/dd-trace-java#191)) by [@​yanglong1010](https://github.com/yanglong1010) in DataDog/java-profiler#192 - Unwind String.indexOf intrinsic on AArch64 by [@​MattAlp](https://github.com/MattAlp) in DataDog/java-profiler#193 - Fix Java 24 support by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#194 - A set of fixes related to clang, aarch64 and musl pecularities of vmstructs stack unwinder by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#199 - 🐛 Remove process information from JFR recording ([#​8661](DataDog/dd-trace-java#8661) - [@​r1viollet](https://github.com/r1viollet)) - 🐛 Make TempLocationManager USER aware ([#​8605](DataDog/dd-trace-java#8605) - [@​jbachorik](https://github.com/jbachorik)) - ✨ Extract git tags from embedded git.properties and datadog_git.properties ([#​8561](DataDog/dd-trace-java#8561) - [@​wmouchere](https://github.com/wmouchere)) #### Telemetry - 🐛 Fix appsec.rasp.error and appsec.waf.error telemetry metrics ([#​8624](DataDog/dd-trace-java#8624) - [@​jandro996](https://github.com/jandro996)) - ✨ Create metric: appsec.rasp.rule.skipped ([#​8618](DataDog/dd-trace-java#8618) - [@​jandro996](https://github.com/jandro996)) - ✨ Extract git tags from embedded git.properties and datadog_git.properties ([#​8561](DataDog/dd-trace-java#8561) - [@​wmouchere](https://github.com/wmouchere)) #### Testing - 🧹 Simplify ssi tests one-pipeline ([#​8558](DataDog/dd-trace-java#8558) - [@​robertomonteromiguel](https://github.com/robertomonteromiguel)) - ✨ Add smoke tests for java's concurrent API ([#​8438](DataDog/dd-trace-java#8438) - [@​sarahchen6](https://github.com/sarahchen6)) #### Trace context propagation - ✨ Adding Support for `TRACE_PROPAGATION_BEHAVIOR_EXTRACT` ([#​8535](DataDog/dd-trace-java#8535) - [@​mhlidd](https://github.com/mhlidd)) #### Tracer core - 🐛 Ensure shaded helpers have unique names ([#​8559](DataDog/dd-trace-java#8559) - [@​amarziali](https://github.com/amarziali)) - ✨ Support common config sources for user-provided git info ([#​8547](DataDog/dd-trace-java#8547) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Make the default config sources more robust when a security manager is installed ([#​8544](DataDog/dd-trace-java#8544) - [@​mcculls](https://github.com/mcculls)) - ✨ Support targeting services with configurations in stable configuration file ([#​8526](DataDog/dd-trace-java#8526) - [@​mtoffl01](https://github.com/mtoffl01)) - ✨ Add new parser for `DD_TAGS` and prioritizing `DD_SERVICE` ([#​8296](DataDog/dd-trace-java#8296) - [@​mhlidd](https://github.com/mhlidd)) #### Tracer internal logging - 🐛 Add missing debug log for the cloudPayloadTaggingServices config ([#​8600](DataDog/dd-trace-java#8600) - [@​ygree](https://github.com/ygree)) - ✨ Add the possibility to output the logs of the Java tracer in JSON ([#​8083](DataDog/dd-trace-java#8083) - [@​cecile75](https://github.com/cecile75)) #### Tracer public API - ✨ Introducing `DD_TRACE_EXPERIMENTAL_FEATURES_ENABLED` Config ([#​8536](DataDog/dd-trace-java#8536) - [@​mhlidd](https://github.com/mhlidd)) - ✨ Config Consistency Round 2 ([#​8489](DataDog/dd-trace-java#8489) - [@​mhlidd](https://github.com/mhlidd)) ### Instrumentations #### - 🐛 Fix NPE in getMdcCopy of LoggingEventInstrumentation ([#​8599](DataDog/dd-trace-java#8599) - [@​ygree](https://github.com/ygree)) #### Apache Spark instrumentation - ✨ Instrument Runtime.exit() to finish spark application spans ([#​8572](DataDog/dd-trace-java#8572) - [@​paul-laffon-dd](https://github.com/paul-laffon-dd)) - ✨ Configure OpenLineage if present in Spark instrumentation ([#​8541](DataDog/dd-trace-java#8541) - [@​mobuchowski](https://github.com/mobuchowski)) #### Armeria Instrumentation - ✨ Support armeria grpc 1.32.3 ([#​8606](DataDog/dd-trace-java#8606) - [@​github-actions](https://github.com/github-actions)\[bot]) #### AWS DynamoDB Instrumentation - ✨ Create DynamoDB instrumentation + add span pointers for `updateItem` and `deleteItem` ([#​8490](DataDog/dd-trace-java#8490) - [@​nhulston](https://github.com/nhulston)) #### AWS SDK instrumentation - ✨ Add DynamoDB in DEFAULT_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES ([#​8595](DataDog/dd-trace-java#8595) - [@​joeyzhao2018](https://github.com/joeyzhao2018)) #### Azure Functions instrumentation - ✨ Enable tracer computed trace metrics by default for Azure Functions ([#​8518](DataDog/dd-trace-java#8518) - [@​duncanpharvey](https://github.com/duncanpharvey)) - 💡 Add azure-functions instrumentation ([#​8432](DataDog/dd-trace-java#8432) - [@​duncanpharvey](https://github.com/duncanpharvey)) #### Core Java language instrumentation - 🐛 Fix ForkJoinPool.execute() instrumentation on Java 21+ ([#​8560](DataDog/dd-trace-java#8560) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) #### Eclipse Vert.x instrumentation - ✨ Add vertx postgresql client instrumentation ([#​8471](DataDog/dd-trace-java#8471) - [@​vandonr](https://github.com/vandonr) - thanks for the contribution!) #### Kafka instrumentation - ✨ Support and test kafka-clients 4 ([#​8581](DataDog/dd-trace-java#8581) - [@​amarziali](https://github.com/amarziali)) #### Kotlin instrumentation - ✨ Avoid disconnected traces when using Kotlin flowOn ([#​8651](DataDog/dd-trace-java#8651) - [@​mcculls](https://github.com/mcculls)) #### OpenTelemetry instrumentation - 🧹 Migrate OtelContext wrapper to new internal Context API ([#​8645](DataDog/dd-trace-java#8645) - [@​mcculls](https://github.com/mcculls)) #### Spring instrumentation - 🐛 Support CompletableFuture on spring webmvc controllers ([#​8659](DataDog/dd-trace-java#8659) - [@​amarziali](https://github.com/amarziali)) - ✨ Add support for endpoint discovery in spring mvc ([#​8352](DataDog/dd-trace-java#8352) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) #### WebSocket Instrumentation - ✨ Instrument Jetty websocket pojo ([#​8562](DataDog/dd-trace-java#8562) - [@​amarziali](https://github.com/amarziali)) - 💡 Instrument Java Websocket API (JSR356) ([#​8440](DataDog/dd-trace-java#8440) - [@​amarziali](https://github.com/amarziali)) #### All other instrumentations - ✨ Introduce cache for peer.hostname lookup ([#​8601](DataDog/dd-trace-java#8601) - [@​mcculls](https://github.com/mcculls)) - ✨ Support pekko http 1.1 ([#​8532](DataDog/dd-trace-java#8532) - [@​amarziali](https://github.com/amarziali)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am every weekday" in timezone Australia/Melbourne, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: 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: 331314f71acaced3adc75ea5d7e855c248d593fc
What Does This Do
Add the possibility to output the logs of the Java tracer in JSON.
The JSON keys have been chosen to be compatible out of the box with the Logs UI of Datadog.
You will be able to identify all the logs coming from the tracer by filtering them using @origin:dd.trace
Note:
If you don’t configure a specific
datadog.slf4j.simpleLogger.dateTimeFormat
,yyyy-MM-dd'T'HH:mm:ss.SSSZ
to be compatible with the logs UI .[dd.trace 'yyyy-MM-dd HH:mm:ss:SSS Z']
Usage
System property:
datadog.slf4j.simpleLogger.jsonEnabled
Default: false
Description: This configuration key set to true will output the logs of the Java tracer in JSON.
Motivation
#1109
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]