- Notifications
You must be signed in to change notification settings - Fork 314
Fix ForkJoinPool.execute() instrumentation on Java 21+ #8560
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
From Java 21+, do no more stop context capture for ForkJoinPool.execute(Runnable).
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 1 performance regressions! Performance is the same for 57 metrics, 5 unstable metrics.
Startup time reports for insecure-bankgantt title insecure-bank - global startup overhead: candidate=1.48.0-SNAPSHOT~b01cedb12e, baseline=1.48.0-SNAPSHOT~56d8cd82bc dateFormat X axisFormat %s section tracing Agent [baseline] (1.046 s) : 0, 1045605 Total [baseline] (8.666 s) : 0, 8665961 Agent [candidate] (1.041 s) : 0, 1041342 Total [candidate] (8.678 s) : 0, 8678446 section iast Agent [baseline] (1.174 s) : 0, 1173870 Total [baseline] (9.274 s) : 0, 9274387 Agent [candidate] (1.172 s) : 0, 1171992 Total [candidate] (9.243 s) : 0, 9242832 section iast_HARDCODED_SECRET_DISABLED Agent [baseline] (1.181 s) : 0, 1180778 Total [baseline] (9.22 s) : 0, 9219980 Agent [candidate] (1.172 s) : 0, 1172427 Total [candidate] (9.205 s) : 0, 9205366 section iast_TELEMETRY_OFF Agent [baseline] (1.175 s) : 0, 1175072 Total [baseline] (9.241 s) : 0, 9240648 Agent [candidate] (1.167 s) : 0, 1167201 Total [candidate] (9.241 s) : 0, 9240840
gantt title insecure-bank - break down per module: candidate=1.48.0-SNAPSHOT~b01cedb12e, baseline=1.48.0-SNAPSHOT~56d8cd82bc dateFormat X axisFormat %s section tracing BytebuddyAgent [baseline] (723.959 ms) : 0, 723959 BytebuddyAgent [candidate] (719.154 ms) : 0, 719154 GlobalTracer [baseline] (240.109 ms) : 0, 240109 GlobalTracer [candidate] (239.918 ms) : 0, 239918 AppSec [baseline] (54.554 ms) : 0, 54554 AppSec [candidate] (55.282 ms) : 0, 55282 Remote Config [baseline] (694.076 µs) : 0, 694 Remote Config [candidate] (702.432 µs) : 0, 702 Telemetry [baseline] (10.927 ms) : 0, 10927 Telemetry [candidate] (11.417 ms) : 0, 11417 section iast BytebuddyAgent [baseline] (839.707 ms) : 0, 839707 BytebuddyAgent [candidate] (837.681 ms) : 0, 837681 GlobalTracer [baseline] (230.712 ms) : 0, 230712 GlobalTracer [candidate] (230.596 ms) : 0, 230596 IAST [baseline] (22.713 ms) : 0, 22713 IAST [candidate] (22.71 ms) : 0, 22710 AppSec [baseline] (56.116 ms) : 0, 56116 AppSec [candidate] (56.837 ms) : 0, 56837 Remote Config [baseline] (609.178 µs) : 0, 609 Remote Config [candidate] (613.143 µs) : 0, 613 Telemetry [baseline] (8.696 ms) : 0, 8696 Telemetry [candidate] (8.661 ms) : 0, 8661 section iast_HARDCODED_SECRET_DISABLED BytebuddyAgent [baseline] (844.294 ms) : 0, 844294 BytebuddyAgent [candidate] (837.805 ms) : 0, 837805 GlobalTracer [baseline] (231.724 ms) : 0, 231724 GlobalTracer [candidate] (230.875 ms) : 0, 230875 IAST [baseline] (23.097 ms) : 0, 23097 IAST [candidate] (24.311 ms) : 0, 24311 AppSec [baseline] (56.78 ms) : 0, 56780 AppSec [candidate] (55.233 ms) : 0, 55233 Remote Config [baseline] (606.164 µs) : 0, 606 Remote Config [candidate] (612.104 µs) : 0, 612 Telemetry [baseline] (8.863 ms) : 0, 8863 Telemetry [candidate] (8.674 ms) : 0, 8674 section iast_TELEMETRY_OFF BytebuddyAgent [baseline] (839.865 ms) : 0, 839865 BytebuddyAgent [candidate] (833.246 ms) : 0, 833246 GlobalTracer [baseline] (230.987 ms) : 0, 230987 GlobalTracer [candidate] (229.66 ms) : 0, 229660 IAST [baseline] (22.658 ms) : 0, 22658 IAST [candidate] (22.514 ms) : 0, 22514 AppSec [baseline] (56.721 ms) : 0, 56721 AppSec [candidate] (57.637 ms) : 0, 57637 Remote Config [baseline] (625.223 µs) : 0, 625 Remote Config [candidate] (627.691 µs) : 0, 628 Telemetry [baseline] (8.795 ms) : 0, 8795 Telemetry [candidate] (8.648 ms) : 0, 8648 Startup time reports for petclinicgantt title petclinic - global startup overhead: candidate=1.48.0-SNAPSHOT~b01cedb12e, baseline=1.48.0-SNAPSHOT~56d8cd82bc dateFormat X axisFormat %s section tracing Agent [baseline] (1.043 s) : 0, 1042591 Total [baseline] (10.535 s) : 0, 10535359 Agent [candidate] (1.049 s) : 0, 1048780 Total [candidate] (10.562 s) : 0, 10561995 section appsec Agent [baseline] (1.183 s) : 0, 1183306 Total [baseline] (10.761 s) : 0, 10760918 Agent [candidate] (1.187 s) : 0, 1187177 Total [candidate] (10.783 s) : 0, 10783009 section iast Agent [baseline] (1.175 s) : 0, 1175474 Total [baseline] (11.054 s) : 0, 11053512 Agent [candidate] (1.177 s) : 0, 1176806 Total [candidate] (11.081 s) : 0, 11080858 section profiling Agent [baseline] (1.263 s) : 0, 1263018 Total [baseline] (10.851 s) : 0, 10850672 Agent [candidate] (1.263 s) : 0, 1262607 Total [candidate] (10.856 s) : 0, 10856389
gantt title petclinic - break down per module: candidate=1.48.0-SNAPSHOT~b01cedb12e, baseline=1.48.0-SNAPSHOT~56d8cd82bc dateFormat X axisFormat %s section tracing BytebuddyAgent [baseline] (719.039 ms) : 0, 719039 BytebuddyAgent [candidate] (723.192 ms) : 0, 723192 GlobalTracer [baseline] (240.12 ms) : 0, 240120 GlobalTracer [candidate] (241.283 ms) : 0, 241283 AppSec [baseline] (54.622 ms) : 0, 54622 AppSec [candidate] (55.49 ms) : 0, 55490 Remote Config [baseline] (679.231 µs) : 0, 679 Remote Config [candidate] (709.4 µs) : 0, 709 Telemetry [baseline] (12.905 ms) : 0, 12905 Telemetry [candidate] (13.138 ms) : 0, 13138 section appsec BytebuddyAgent [baseline] (736.207 ms) : 0, 736207 BytebuddyAgent [candidate] (738.882 ms) : 0, 738882 GlobalTracer [baseline] (235.746 ms) : 0, 235746 GlobalTracer [candidate] (237.634 ms) : 0, 237634 IAST [baseline] (21.353 ms) : 0, 21353 IAST [candidate] (21.556 ms) : 0, 21556 AppSec [baseline] (176.503 ms) : 0, 176503 AppSec [candidate] (175.931 ms) : 0, 175931 Remote Config [baseline] (661.114 µs) : 0, 661 Remote Config [candidate] (671.901 µs) : 0, 672 Telemetry [baseline] (8.272 ms) : 0, 8272 Telemetry [candidate] (8.366 ms) : 0, 8366 section iast BytebuddyAgent [baseline] (838.905 ms) : 0, 838905 BytebuddyAgent [candidate] (841.496 ms) : 0, 841496 GlobalTracer [baseline] (232.537 ms) : 0, 232537 GlobalTracer [candidate] (231.483 ms) : 0, 231483 IAST [baseline] (22.755 ms) : 0, 22755 IAST [candidate] (22.798 ms) : 0, 22798 AppSec [baseline] (56.723 ms) : 0, 56723 AppSec [candidate] (56.787 ms) : 0, 56787 Remote Config [baseline] (620.799 µs) : 0, 621 Remote Config [candidate] (607.685 µs) : 0, 608 Telemetry [baseline] (8.724 ms) : 0, 8724 Telemetry [candidate] (8.725 ms) : 0, 8725 section profiling BytebuddyAgent [baseline] (710.589 ms) : 0, 710589 BytebuddyAgent [candidate] (711.713 ms) : 0, 711713 GlobalTracer [baseline] (351.138 ms) : 0, 351138 GlobalTracer [candidate] (350.496 ms) : 0, 350496 AppSec [baseline] (54.246 ms) : 0, 54246 AppSec [candidate] (54.271 ms) : 0, 54271 Remote Config [baseline] (684.49 µs) : 0, 684 Remote Config [candidate] (683.805 µs) : 0, 684 Telemetry [baseline] (9.003 ms) : 0, 9003 Telemetry [candidate] (8.891 ms) : 0, 8891 ProfilingAgent [baseline] (96.567 ms) : 0, 96567 ProfilingAgent [candidate] (96.217 ms) : 0, 96217 Profiling [baseline] (96.594 ms) : 0, 96594 Profiling [candidate] (96.241 ms) : 0, 96241 LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 13 metrics, 17 unstable metrics. Request duration reports for petclinicgantt title petclinic - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~b01cedb12e, baseline=1.48.0-SNAPSHOT~56d8cd82bc dateFormat X axisFormat %s section baseline no_agent (1.36 ms) : 1340, 1380 . : milestone, 1360, appsec (1.716 ms) : 1691, 1740 . : milestone, 1716, appsec_no_iast (1.757 ms) : 1733, 1781 . : milestone, 1757, code_origins (1.683 ms) : 1656, 1711 . : milestone, 1683, iast (1.501 ms) : 1476, 1526 . : milestone, 1501, profiling (1.505 ms) : 1481, 1529 . : milestone, 1505, tracing (1.498 ms) : 1472, 1523 . : milestone, 1498, section candidate no_agent (1.359 ms) : 1340, 1379 . : milestone, 1359, appsec (1.725 ms) : 1701, 1748 . : milestone, 1725, appsec_no_iast (1.735 ms) : 1710, 1759 . : milestone, 1735, code_origins (1.703 ms) : 1677, 1730 . : milestone, 1703, iast (1.517 ms) : 1492, 1543 . : milestone, 1517, profiling (1.517 ms) : 1493, 1540 . : milestone, 1517, tracing (1.477 ms) : 1452, 1503 . : milestone, 1477,
Request duration reports for insecure-bankgantt title insecure-bank - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~b01cedb12e, baseline=1.48.0-SNAPSHOT~56d8cd82bc dateFormat X axisFormat %s section baseline no_agent (377.413 µs) : 357, 398 . : milestone, 377, iast (507.754 µs) : 486, 530 . : milestone, 508, iast_FULL (730.71 µs) : 709, 753 . : milestone, 731, iast_GLOBAL (551.116 µs) : 529, 573 . : milestone, 551, iast_HARDCODED_SECRET_DISABLED (503.739 µs) : 482, 525 . : milestone, 504, iast_INACTIVE (457.148 µs) : 436, 478 . : milestone, 457, iast_TELEMETRY_OFF (501.656 µs) : 480, 524 . : milestone, 502, tracing (460.352 µs) : 439, 482 . : milestone, 460, section candidate no_agent (380.471 µs) : 361, 400 . : milestone, 380, iast (509.772 µs) : 488, 532 . : milestone, 510, iast_FULL (724.34 µs) : 702, 746 . : milestone, 724, iast_GLOBAL (563.884 µs) : 541, 586 . : milestone, 564, iast_HARDCODED_SECRET_DISABLED (515.876 µs) : 494, 538 . : milestone, 516, iast_INACTIVE (469.529 µs) : 448, 491 . : milestone, 470, iast_TELEMETRY_OFF (495.705 µs) : 473, 518 . : milestone, 496, tracing (453.857 µs) : 433, 475 . : milestone, 454,
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 tomcatgantt title tomcat - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~b01cedb12e, baseline=1.48.0-SNAPSHOT~56d8cd82bc dateFormat X axisFormat %s section baseline no_agent (1.466 ms) : 1454, 1477 . : milestone, 1466, appsec (2.341 ms) : 2297, 2384 . : milestone, 2341, iast (2.108 ms) : 2052, 2164 . : milestone, 2108, iast_GLOBAL (2.159 ms) : 2103, 2215 . : milestone, 2159, profiling (1.954 ms) : 1910, 1998 . : milestone, 1954, tracing (1.951 ms) : 1908, 1994 . : milestone, 1951, section candidate no_agent (1.464 ms) : 1453, 1475 . : milestone, 1464, appsec (2.341 ms) : 2297, 2385 . : milestone, 2341, iast (2.114 ms) : 2059, 2170 . : milestone, 2114, iast_GLOBAL (2.166 ms) : 2110, 2222 . : milestone, 2166, profiling (1.989 ms) : 1943, 2034 . : milestone, 1989, tracing (1.941 ms) : 1898, 1984 . : milestone, 1941,
Execution time for biojavagantt title biojava - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~b01cedb12e, baseline=1.48.0-SNAPSHOT~56d8cd82bc dateFormat X axisFormat %s section baseline no_agent (14.813 s) : 14813000, 14813000 . : milestone, 14813000, appsec (15.206 s) : 15206000, 15206000 . : milestone, 15206000, iast (18.745 s) : 18745000, 18745000 . : milestone, 18745000, iast_GLOBAL (17.814 s) : 17814000, 17814000 . : milestone, 17814000, profiling (15.118 s) : 15118000, 15118000 . : milestone, 15118000, tracing (14.847 s) : 14847000, 14847000 . : milestone, 14847000, section candidate no_agent (14.855 s) : 14855000, 14855000 . : milestone, 14855000, appsec (14.897 s) : 14897000, 14897000 . : milestone, 14897000, iast (18.952 s) : 18952000, 18952000 . : milestone, 18952000, iast_GLOBAL (18.393 s) : 18393000, 18393000 . : milestone, 18393000, profiling (15.098 s) : 15098000, 15098000 . : milestone, 15098000, tracing (14.949 s) : 14949000, 14949000 . : milestone, 14949000,
|
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 to see the new smoke tests paying off
* fix(java-concurrent): Fix FJP instrumentation on Java 21+ * feat(java-concurrent): Add smoke tests for Java 21+ concurrent API
| 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
Fix a regression in ForkJoinPool instrumentation introduced by the structure concurrency API instrumentation triggered only when running on Java 21 an above.
Also improve the newly introduced smoke tests to check the concurrency API instrumentation with a full tracer (running all conflicting instrumentations at the same time, unlike instrumentation tests) to:
Motivation
Make sure the JDK concurrent API are fully covered as their instrumentations interact with each others.
Additional Notes
Java 21 module only was painful to put in place as most of our build plugins don't support it.
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: APMS-14483