-
Notifications
You must be signed in to change notification settings - Fork 304
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