- Notifications
You must be signed in to change notification settings - Fork 313
Add smoke tests for java's concurrent API #8438
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
3032782
to 063e30c
Compare BenchmarksStartupParameters
See matching parameters
SummaryFound 1 performance improvements and 0 performance regressions! Performance is the same for 55 metrics, 7 unstable metrics.
Startup time reports for petclinicgantt title petclinic - global startup overhead: candidate=1.47.0-SNAPSHOT~6a0fae5eef, baseline=1.48.0-SNAPSHOT~f8c6b49f18 dateFormat X axisFormat %s section tracing Agent [baseline] (1.038 s) : 0, 1038486 Total [baseline] (10.417 s) : 0, 10417050 Agent [candidate] (1.064 s) : 0, 1063676 Total [candidate] (10.419 s) : 0, 10419479 section appsec Agent [baseline] (1.181 s) : 0, 1181489 Total [baseline] (10.714 s) : 0, 10713770 Agent [candidate] (1.181 s) : 0, 1180640 Total [candidate] (10.705 s) : 0, 10704882 section iast Agent [baseline] (1.169 s) : 0, 1168736 Total [baseline] (10.999 s) : 0, 10998730 Agent [candidate] (1.17 s) : 0, 1169707 Total [candidate] (10.924 s) : 0, 10923714 section profiling Agent [baseline] (1.275 s) : 0, 1274881 Total [baseline] (10.877 s) : 0, 10876554 Agent [candidate] (1.265 s) : 0, 1264749 Total [candidate] (10.865 s) : 0, 10865133
gantt title petclinic - break down per module: candidate=1.47.0-SNAPSHOT~6a0fae5eef, baseline=1.48.0-SNAPSHOT~f8c6b49f18 dateFormat X axisFormat %s section tracing BytebuddyAgent [baseline] (716.07 ms) : 0, 716070 BytebuddyAgent [candidate] (733.875 ms) : 0, 733875 GlobalTracer [baseline] (238.786 ms) : 0, 238786 GlobalTracer [candidate] (244.321 ms) : 0, 244321 AppSec [baseline] (55.184 ms) : 0, 55184 AppSec [candidate] (56.835 ms) : 0, 56835 Remote Config [baseline] (702.247 µs) : 0, 702 Remote Config [candidate] (716.163 µs) : 0, 716 Telemetry [baseline] (12.867 ms) : 0, 12867 Telemetry [candidate] (12.474 ms) : 0, 12474 section appsec BytebuddyAgent [baseline] (735.366 ms) : 0, 735366 BytebuddyAgent [candidate] (733.829 ms) : 0, 733829 GlobalTracer [baseline] (235.692 ms) : 0, 235692 GlobalTracer [candidate] (235.848 ms) : 0, 235848 IAST [baseline] (21.415 ms) : 0, 21415 IAST [candidate] (21.309 ms) : 0, 21309 AppSec [baseline] (175.974 ms) : 0, 175974 AppSec [candidate] (176.181 ms) : 0, 176181 Remote Config [baseline] (661.549 µs) : 0, 662 Remote Config [candidate] (662.316 µs) : 0, 662 Telemetry [baseline] (8.286 ms) : 0, 8286 Telemetry [candidate] (8.244 ms) : 0, 8244 section iast BytebuddyAgent [baseline] (835.417 ms) : 0, 835417 BytebuddyAgent [candidate] (835.666 ms) : 0, 835666 GlobalTracer [baseline] (229.621 ms) : 0, 229621 GlobalTracer [candidate] (229.658 ms) : 0, 229658 IAST [baseline] (22.777 ms) : 0, 22777 IAST [candidate] (22.869 ms) : 0, 22869 AppSec [baseline] (56.726 ms) : 0, 56726 AppSec [candidate] (56.946 ms) : 0, 56946 Remote Config [baseline] (623.593 µs) : 0, 624 Remote Config [candidate] (620.716 µs) : 0, 621 Telemetry [baseline] (8.708 ms) : 0, 8708 Telemetry [candidate] (8.693 ms) : 0, 8693 section profiling BytebuddyAgent [baseline] (718.724 ms) : 0, 718724 BytebuddyAgent [candidate] (711.575 ms) : 0, 711575 GlobalTracer [baseline] (352.704 ms) : 0, 352704 GlobalTracer [candidate] (350.207 ms) : 0, 350207 AppSec [baseline] (55.295 ms) : 0, 55295 AppSec [candidate] (54.384 ms) : 0, 54384 Remote Config [baseline] (692.217 µs) : 0, 692 Remote Config [candidate] (657.909 µs) : 0, 658 Telemetry [baseline] (9.03 ms) : 0, 9030 Telemetry [candidate] (8.911 ms) : 0, 8911 ProfilingAgent [baseline] (97.617 ms) : 0, 97617 ProfilingAgent [candidate] (96.497 ms) : 0, 96497 Profiling [baseline] (97.642 ms) : 0, 97642 Profiling [candidate] (96.523 ms) : 0, 96523 Startup time reports for insecure-bankgantt title insecure-bank - global startup overhead: candidate=1.47.0-SNAPSHOT~6a0fae5eef, baseline=1.48.0-SNAPSHOT~f8c6b49f18 dateFormat X axisFormat %s section tracing Agent [baseline] (1.04 s) : 0, 1040173 Total [baseline] (8.69 s) : 0, 8689657 Agent [candidate] (1.051 s) : 0, 1051157 Total [candidate] (8.688 s) : 0, 8687989 section iast Agent [baseline] (1.174 s) : 0, 1173850 Total [baseline] (9.242 s) : 0, 9241836 Agent [candidate] (1.171 s) : 0, 1170951 Total [candidate] (9.2 s) : 0, 9199724 section iast_HARDCODED_SECRET_DISABLED Agent [baseline] (1.169 s) : 0, 1168951 Total [baseline] (9.163 s) : 0, 9162757 Agent [candidate] (1.172 s) : 0, 1172014 Total [candidate] (9.198 s) : 0, 9198317 section iast_TELEMETRY_OFF Agent [baseline] (1.168 s) : 0, 1168252 Total [baseline] (9.25 s) : 0, 9250203 Agent [candidate] (1.167 s) : 0, 1167236 Total [candidate] (9.217 s) : 0, 9217225
gantt title insecure-bank - break down per module: candidate=1.47.0-SNAPSHOT~6a0fae5eef, baseline=1.48.0-SNAPSHOT~f8c6b49f18 dateFormat X axisFormat %s section tracing BytebuddyAgent [baseline] (717.541 ms) : 0, 717541 BytebuddyAgent [candidate] (725.238 ms) : 0, 725238 GlobalTracer [baseline] (238.667 ms) : 0, 238667 GlobalTracer [candidate] (241.459 ms) : 0, 241459 AppSec [baseline] (55.014 ms) : 0, 55014 AppSec [candidate] (56.168 ms) : 0, 56168 Remote Config [baseline] (684.696 µs) : 0, 685 Remote Config [candidate] (719.338 µs) : 0, 719 Telemetry [baseline] (13.427 ms) : 0, 13427 Telemetry [candidate] (12.305 ms) : 0, 12305 section iast BytebuddyAgent [baseline] (839.692 ms) : 0, 839692 BytebuddyAgent [candidate] (836.237 ms) : 0, 836237 GlobalTracer [baseline] (230.517 ms) : 0, 230517 GlobalTracer [candidate] (229.901 ms) : 0, 229901 IAST [baseline] (23.603 ms) : 0, 23603 IAST [candidate] (22.754 ms) : 0, 22754 AppSec [baseline] (55.865 ms) : 0, 55865 AppSec [candidate] (57.525 ms) : 0, 57525 Remote Config [baseline] (603.777 µs) : 0, 604 Remote Config [candidate] (616.404 µs) : 0, 616 Telemetry [baseline] (8.696 ms) : 0, 8696 Telemetry [candidate] (8.683 ms) : 0, 8683 section iast_HARDCODED_SECRET_DISABLED BytebuddyAgent [baseline] (835.688 ms) : 0, 835688 BytebuddyAgent [candidate] (836.958 ms) : 0, 836958 GlobalTracer [baseline] (229.868 ms) : 0, 229868 GlobalTracer [candidate] (230.514 ms) : 0, 230514 IAST [baseline] (22.755 ms) : 0, 22755 IAST [candidate] (22.778 ms) : 0, 22778 AppSec [baseline] (56.443 ms) : 0, 56443 AppSec [candidate] (57.068 ms) : 0, 57068 Remote Config [baseline] (617.847 µs) : 0, 618 Remote Config [candidate] (627.458 µs) : 0, 627 Telemetry [baseline] (8.661 ms) : 0, 8661 Telemetry [candidate] (8.783 ms) : 0, 8783 section iast_TELEMETRY_OFF BytebuddyAgent [baseline] (835.242 ms) : 0, 835242 BytebuddyAgent [candidate] (833.095 ms) : 0, 833095 GlobalTracer [baseline] (230.563 ms) : 0, 230563 GlobalTracer [candidate] (230.491 ms) : 0, 230491 IAST [baseline] (22.089 ms) : 0, 22089 IAST [candidate] (26.872 ms) : 0, 26872 AppSec [baseline] (56.282 ms) : 0, 56282 AppSec [candidate] (52.319 ms) : 0, 52319 Remote Config [baseline] (617.709 µs) : 0, 618 Remote Config [candidate] (609.398 µs) : 0, 609 Telemetry [baseline] (8.567 ms) : 0, 8567 Telemetry [candidate] (8.626 ms) : 0, 8626 LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 1 performance regressions! Performance is the same for 13 metrics, 16 unstable metrics.
Request duration reports for insecure-bankgantt title insecure-bank - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~6a0fae5eef, baseline=1.48.0-SNAPSHOT~f8c6b49f18 dateFormat X axisFormat %s section baseline no_agent (385.124 µs) : 365, 405 . : milestone, 385, iast (527.106 µs) : 505, 549 . : milestone, 527, iast_FULL (734.756 µs) : 713, 757 . : milestone, 735, iast_GLOBAL (564.48 µs) : 543, 586 . : milestone, 564, iast_HARDCODED_SECRET_DISABLED (523.483 µs) : 502, 545 . : milestone, 523, iast_INACTIVE (474.067 µs) : 452, 496 . : milestone, 474, iast_TELEMETRY_OFF (510.43 µs) : 488, 532 . : milestone, 510, tracing (463.672 µs) : 443, 485 . : milestone, 464, section candidate no_agent (392.362 µs) : 372, 412 . : milestone, 392, iast (521.351 µs) : 499, 543 . : milestone, 521, iast_FULL (741.232 µs) : 719, 763 . : milestone, 741, iast_GLOBAL (564.718 µs) : 542, 587 . : milestone, 565, iast_HARDCODED_SECRET_DISABLED (519.72 µs) : 497, 542 . : milestone, 520, iast_INACTIVE (471.824 µs) : 450, 493 . : milestone, 472, iast_TELEMETRY_OFF (509.582 µs) : 486, 533 . : milestone, 510, tracing (470.518 µs) : 450, 491 . : milestone, 471,
Request duration reports for petclinicgantt title petclinic - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~6a0fae5eef, baseline=1.48.0-SNAPSHOT~f8c6b49f18 dateFormat X axisFormat %s section baseline no_agent (1.374 ms) : 1355, 1394 . : milestone, 1374, appsec (1.746 ms) : 1722, 1769 . : milestone, 1746, appsec_no_iast (1.716 ms) : 1690, 1742 . : milestone, 1716, code_origins (1.698 ms) : 1671, 1726 . : milestone, 1698, iast (1.534 ms) : 1510, 1558 . : milestone, 1534, profiling (1.521 ms) : 1498, 1545 . : milestone, 1521, tracing (1.5 ms) : 1475, 1525 . : milestone, 1500, section candidate no_agent (1.36 ms) : 1340, 1380 . : milestone, 1360, appsec (1.763 ms) : 1739, 1787 . : milestone, 1763, appsec_no_iast (1.784 ms) : 1761, 1807 . : milestone, 1784, code_origins (1.691 ms) : 1657, 1724 . : milestone, 1691, iast (1.538 ms) : 1514, 1562 . : milestone, 1538, profiling (1.536 ms) : 1513, 1560 . : milestone, 1536, tracing (1.495 ms) : 1471, 1519 . : milestone, 1495,
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 tomcatgantt title tomcat - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~6a0fae5eef, baseline=1.48.0-SNAPSHOT~f8c6b49f18 dateFormat X axisFormat %s section baseline no_agent (1.47 ms) : 1459, 1482 . : milestone, 1470, appsec (2.338 ms) : 2294, 2382 . : milestone, 2338, iast (2.117 ms) : 2061, 2172 . : milestone, 2117, iast_GLOBAL (2.16 ms) : 2104, 2216 . : milestone, 2160, profiling (2.44 ms) : 2258, 2622 . : milestone, 2440, tracing (1.951 ms) : 1908, 1994 . : milestone, 1951, section candidate no_agent (1.468 ms) : 1456, 1479 . : milestone, 1468, appsec (2.347 ms) : 2304, 2390 . : milestone, 2347, iast (2.102 ms) : 2047, 2156 . : milestone, 2102, iast_GLOBAL (2.147 ms) : 2092, 2202 . : milestone, 2147, profiling (1.966 ms) : 1923, 2010 . : milestone, 1966, tracing (1.944 ms) : 1902, 1986 . : milestone, 1944,
Execution time for biojavagantt title biojava - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~6a0fae5eef, baseline=1.48.0-SNAPSHOT~f8c6b49f18 dateFormat X axisFormat %s section baseline no_agent (14.921 s) : 14921000, 14921000 . : milestone, 14921000, appsec (15.051 s) : 15051000, 15051000 . : milestone, 15051000, iast (19.02 s) : 19020000, 19020000 . : milestone, 19020000, iast_GLOBAL (18.105 s) : 18105000, 18105000 . : milestone, 18105000, profiling (15.454 s) : 15454000, 15454000 . : milestone, 15454000, tracing (14.829 s) : 14829000, 14829000 . : milestone, 14829000, section candidate no_agent (14.893 s) : 14893000, 14893000 . : milestone, 14893000, appsec (14.962 s) : 14962000, 14962000 . : milestone, 14962000, iast (18.166 s) : 18166000, 18166000 . : milestone, 18166000, iast_GLOBAL (17.891 s) : 17891000, 17891000 . : milestone, 17891000, profiling (15.21 s) : 15210000, 15210000 . : milestone, 15210000, tracing (15.042 s) : 15042000, 15042000 . : milestone, 15042000,
|
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
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.
Looking good! Only minor comments. The main ones are about the demo thread clean up, and if we can assert the trace structure at all or not?
dd-smoke-tests/concurrent/src/main/java/datadog/smoketest/concurrent/ConcurrentApp.java Outdated Show resolved Hide resolved
dd-smoke-tests/concurrent/src/main/java/datadog/smoketest/concurrent/FibonacciCalculator.java Outdated Show resolved Hide resolved
dd-smoke-tests/concurrent/src/main/java/datadog/smoketest/concurrent/demoExecutorService.java Outdated Show resolved Hide resolved
dd-smoke-tests/concurrent/src/main/java/datadog/smoketest/concurrent/demoExecutorService.java Outdated Show resolved Hide resolved
dd-smoke-tests/concurrent/src/main/java/datadog/smoketest/concurrent/demoForkJoin.java Outdated Show resolved Hide resolved
dd-smoke-tests/concurrent/src/test/groovy/datadog/smoketest/DemoExecutorServiceTest.groovy Outdated Show resolved Hide resolved
Co-authored-by: Bruce Bujon <PerfectSlayer@users.noreply.github.com>
…urrent/demoExecutorService.java Co-authored-by: Bruce Bujon <PerfectSlayer@users.noreply.github.com>
…urrent/demoForkJoin.java Co-authored-by: Bruce Bujon <PerfectSlayer@users.noreply.github.com>
…ld spans right now??).
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.
Interesting refactoring / deduplication under AbstractDemoTest
. Getting closer!
Left few comments :)
dd-smoke-tests/concurrent/src/test/groovy/datadog/smoketest/DemoForkJoinTest.groovy Outdated Show resolved Hide resolved
dd-smoke-tests/concurrent/src/main/java/datadog/smoketest/concurrent/DemoForkJoin.java Outdated Show resolved Hide resolved
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.
Looking good! 🙌 Thanks for keeping iterating over my comments 👍
* Create initial app and ExecutorService demo. * Add ForkJoin demo. * Start writing tests. * Add simple OTel spans for now. * Add FibonacciCalculator interface and adjust tests and demos accordingly. * Change trace expectations to reality. * Extract calculations to helper function and update tests. * Check that span name is as expected. * Clean PR. * Update settings.gradle Co-authored-by: Bruce Bujon <PerfectSlayer@users.noreply.github.com> * Update dd-smoke-tests/concurrent/src/main/java/datadog/smoketest/concurrent/demoExecutorService.java Co-authored-by: Bruce Bujon <PerfectSlayer@users.noreply.github.com> * Update dd-smoke-tests/concurrent/src/main/java/datadog/smoketest/concurrent/demoForkJoin.java Co-authored-by: Bruce Bujon <PerfectSlayer@users.noreply.github.com> * Update names. * Clean build.gradle. * Format tests. * Implement close method. * Organize methods in demo classes and add child span tests (but no child spans right now??). * Edit tests. * feat: Update executor app and checks * Propagate changes. * Refactor tests. * Fix variable name. * Adjust tests again. --------- Co-authored-by: Bruce Bujon <PerfectSlayer@users.noreply.github.com> Co-authored-by: Bruce Bujon <bruce.bujon@datadoghq.com>
| 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 concurrent smoketests for Java default concurrent mechanisms. This PR uses
ExecutorService
andForkJoinPool
to calculate fibonacci numbers and ensures that only one trace is created whether one or multiple concurrent mechanisms are used.Motivation
When multiple instrumentations within the same app use the Java concurrency API, the trace context is not correctly propagated, leading to broken traces. This issue is affecting our customers and has caused support tickets such as https://datadoghq.atlassian.net/browse/APMS-14483. The goal is to first implement proper testing and then to resolve the broken traces.
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: https://datadoghq.atlassian.net/browse/APMS-14483