-
Notifications
You must be signed in to change notification settings - Fork 303
Migrate OtelContext wrapper to new internal Context API #8645
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
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 68 metrics, 3 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.48.0-SNAPSHOT~d56c70221e, baseline=1.48.0-SNAPSHOT~d08dc3a3c5
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.06 s) : 0, 1059704
Total [baseline] (10.448 s) : 0, 10448452
Agent [candidate] (1.053 s) : 0, 1053019
Total [candidate] (10.427 s) : 0, 10426695
section appsec
Agent [baseline] (1.189 s) : 0, 1188752
Total [baseline] (10.74 s) : 0, 10739808
Agent [candidate] (1.196 s) : 0, 1195763
Total [candidate] (10.726 s) : 0, 10726240
section iast
Agent [baseline] (1.179 s) : 0, 1179094
Total [baseline] (11.01 s) : 0, 11010443
Agent [candidate] (1.189 s) : 0, 1189470
Total [candidate] (10.991 s) : 0, 10991271
section profiling
Agent [baseline] (1.274 s) : 0, 1274440
Total [baseline] (10.839 s) : 0, 10839335
Agent [candidate] (1.277 s) : 0, 1276953
Total [candidate] (10.9 s) : 0, 10899979
gantt
title petclinic - break down per module: candidate=1.48.0-SNAPSHOT~d56c70221e, baseline=1.48.0-SNAPSHOT~d08dc3a3c5
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (722.544 ms) : 0, 722544
BytebuddyAgent [candidate] (717.673 ms) : 0, 717673
GlobalTracer [baseline] (240.623 ms) : 0, 240623
GlobalTracer [candidate] (239.48 ms) : 0, 239480
AppSec [baseline] (54.883 ms) : 0, 54883
AppSec [candidate] (54.509 ms) : 0, 54509
Debugger [baseline] (4.486 ms) : 0, 4486
Debugger [candidate] (4.431 ms) : 0, 4431
Remote Config [baseline] (719.738 µs) : 0, 720
Remote Config [candidate] (679.145 µs) : 0, 679
Telemetry [baseline] (15.886 ms) : 0, 15886
Telemetry [candidate] (15.786 ms) : 0, 15786
section appsec
BytebuddyAgent [baseline] (733.739 ms) : 0, 733739
BytebuddyAgent [candidate] (738.69 ms) : 0, 738690
GlobalTracer [baseline] (234.907 ms) : 0, 234907
GlobalTracer [candidate] (236.194 ms) : 0, 236194
AppSec [baseline] (175.912 ms) : 0, 175912
AppSec [candidate] (176.459 ms) : 0, 176459
Debugger [baseline] (4.234 ms) : 0, 4234
Debugger [candidate] (4.281 ms) : 0, 4281
Remote Config [baseline] (629.651 µs) : 0, 630
Remote Config [candidate] (647.949 µs) : 0, 648
Telemetry [baseline] (8.135 ms) : 0, 8135
Telemetry [candidate] (8.208 ms) : 0, 8208
IAST [baseline] (21.601 ms) : 0, 21601
IAST [candidate] (21.545 ms) : 0, 21545
section iast
BytebuddyAgent [baseline] (836.473 ms) : 0, 836473
BytebuddyAgent [candidate] (844.97 ms) : 0, 844970
GlobalTracer [baseline] (229.375 ms) : 0, 229375
GlobalTracer [candidate] (230.776 ms) : 0, 230776
AppSec [baseline] (56.466 ms) : 0, 56466
AppSec [candidate] (56.48 ms) : 0, 56480
Debugger [baseline] (4.21 ms) : 0, 4210
Debugger [candidate] (4.183 ms) : 0, 4183
Remote Config [baseline] (606.201 µs) : 0, 606
Remote Config [candidate] (616.506 µs) : 0, 617
Telemetry [baseline] (8.885 ms) : 0, 8885
Telemetry [candidate] (8.845 ms) : 0, 8845
IAST [baseline] (22.704 ms) : 0, 22704
IAST [candidate] (22.989 ms) : 0, 22989
section profiling
ProfilingAgent [baseline] (101.767 ms) : 0, 101767
ProfilingAgent [candidate] (102.811 ms) : 0, 102811
BytebuddyAgent [baseline] (710.298 ms) : 0, 710298
BytebuddyAgent [candidate] (711.616 ms) : 0, 711616
GlobalTracer [baseline] (348.787 ms) : 0, 348787
GlobalTracer [candidate] (349.719 ms) : 0, 349719
AppSec [baseline] (54.102 ms) : 0, 54102
AppSec [candidate] (53.234 ms) : 0, 53234
Debugger [baseline] (4.269 ms) : 0, 4269
Debugger [candidate] (4.267 ms) : 0, 4267
Remote Config [baseline] (686.053 µs) : 0, 686
Remote Config [candidate] (693.904 µs) : 0, 694
Telemetry [baseline] (8.869 ms) : 0, 8869
Telemetry [candidate] (8.905 ms) : 0, 8905
Profiling [baseline] (101.793 ms) : 0, 101793
Profiling [candidate] (102.836 ms) : 0, 102836
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.48.0-SNAPSHOT~d56c70221e, baseline=1.48.0-SNAPSHOT~d08dc3a3c5
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.057 s) : 0, 1056821
Total [baseline] (8.683 s) : 0, 8682648
Agent [candidate] (1.052 s) : 0, 1051528
Total [candidate] (8.668 s) : 0, 8668288
section iast
Agent [baseline] (1.187 s) : 0, 1187009
Total [baseline] (9.225 s) : 0, 9224840
Agent [candidate] (1.198 s) : 0, 1197687
Total [candidate] (9.278 s) : 0, 9277797
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.183 s) : 0, 1182812
Total [baseline] (9.243 s) : 0, 9243019
Agent [candidate] (1.18 s) : 0, 1180263
Total [candidate] (9.201 s) : 0, 9201103
section iast_TELEMETRY_OFF
Agent [baseline] (1.175 s) : 0, 1175184
Total [baseline] (9.2 s) : 0, 9199572
Agent [candidate] (1.174 s) : 0, 1173565
Total [candidate] (9.202 s) : 0, 9201847
gantt
title insecure-bank - break down per module: candidate=1.48.0-SNAPSHOT~d56c70221e, baseline=1.48.0-SNAPSHOT~d08dc3a3c5
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (719.419 ms) : 0, 719419
BytebuddyAgent [candidate] (718.405 ms) : 0, 718405
GlobalTracer [baseline] (241.159 ms) : 0, 241159
GlobalTracer [candidate] (239.653 ms) : 0, 239653
AppSec [baseline] (55.088 ms) : 0, 55088
AppSec [candidate] (55.882 ms) : 0, 55882
Debugger [baseline] (4.557 ms) : 0, 4557
Debugger [candidate] (4.441 ms) : 0, 4441
Remote Config [baseline] (742.131 µs) : 0, 742
Remote Config [candidate] (679.795 µs) : 0, 680
Telemetry [baseline] (15.298 ms) : 0, 15298
Telemetry [candidate] (12.027 ms) : 0, 12027
section iast
BytebuddyAgent [baseline] (843.144 ms) : 0, 843144
BytebuddyAgent [candidate] (851.761 ms) : 0, 851761
GlobalTracer [baseline] (230.612 ms) : 0, 230612
GlobalTracer [candidate] (231.48 ms) : 0, 231480
IAST [baseline] (23.11 ms) : 0, 23110
IAST [candidate] (23.138 ms) : 0, 23138
AppSec [baseline] (55.88 ms) : 0, 55880
AppSec [candidate] (56.793 ms) : 0, 56793
Debugger [baseline] (4.221 ms) : 0, 4221
Debugger [candidate] (4.274 ms) : 0, 4274
Remote Config [baseline] (615.615 µs) : 0, 616
Remote Config [candidate] (632.335 µs) : 0, 632
Telemetry [baseline] (8.87 ms) : 0, 8870
Telemetry [candidate] (8.948 ms) : 0, 8948
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (838.818 ms) : 0, 838818
BytebuddyAgent [candidate] (837.953 ms) : 0, 837953
GlobalTracer [baseline] (230.538 ms) : 0, 230538
GlobalTracer [candidate] (229.754 ms) : 0, 229754
IAST [baseline] (23.086 ms) : 0, 23086
IAST [candidate] (22.72 ms) : 0, 22720
AppSec [baseline] (56.174 ms) : 0, 56174
AppSec [candidate] (55.682 ms) : 0, 55682
Debugger [baseline] (4.253 ms) : 0, 4253
Debugger [candidate] (4.202 ms) : 0, 4202
Remote Config [baseline] (608.46 µs) : 0, 608
Remote Config [candidate] (607.784 µs) : 0, 608
Telemetry [baseline] (8.89 ms) : 0, 8890
Telemetry [candidate] (8.897 ms) : 0, 8897
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (833.95 ms) : 0, 833950
BytebuddyAgent [candidate] (832.524 ms) : 0, 832524
GlobalTracer [baseline] (228.831 ms) : 0, 228831
GlobalTracer [candidate] (229.231 ms) : 0, 229231
IAST [baseline] (22.417 ms) : 0, 22417
IAST [candidate] (22.215 ms) : 0, 22215
AppSec [baseline] (56.064 ms) : 0, 56064
AppSec [candidate] (55.753 ms) : 0, 55753
Debugger [baseline] (4.191 ms) : 0, 4191
Debugger [candidate] (4.175 ms) : 0, 4175
Remote Config [baseline] (633.461 µs) : 0, 633
Remote Config [candidate] (610.687 µs) : 0, 611
Telemetry [baseline] (8.692 ms) : 0, 8692
Telemetry [candidate] (8.671 ms) : 0, 8671
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~d56c70221e, baseline=1.48.0-SNAPSHOT~d08dc3a3c5
dateFormat X
axisFormat %s
section baseline
no_agent (1.348 ms) : 1329, 1367
. : milestone, 1348,
appsec (1.738 ms) : 1714, 1761
. : milestone, 1738,
appsec_no_iast (1.746 ms) : 1723, 1768
. : milestone, 1746,
code_origins (1.701 ms) : 1674, 1728
. : milestone, 1701,
iast (1.525 ms) : 1501, 1549
. : milestone, 1525,
profiling (1.528 ms) : 1505, 1551
. : milestone, 1528,
tracing (1.508 ms) : 1482, 1534
. : milestone, 1508,
section candidate
no_agent (1.364 ms) : 1343, 1385
. : milestone, 1364,
appsec (1.74 ms) : 1715, 1764
. : milestone, 1740,
appsec_no_iast (1.746 ms) : 1723, 1769
. : milestone, 1746,
code_origins (1.706 ms) : 1679, 1733
. : milestone, 1706,
iast (1.511 ms) : 1487, 1535
. : milestone, 1511,
profiling (1.519 ms) : 1495, 1542
. : milestone, 1519,
tracing (1.493 ms) : 1467, 1518
. : milestone, 1493,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~d56c70221e, baseline=1.48.0-SNAPSHOT~d08dc3a3c5
dateFormat X
axisFormat %s
section baseline
no_agent (379.73 µs) : 360, 400
. : milestone, 380,
iast (518.074 µs) : 496, 540
. : milestone, 518,
iast_FULL (727.666 µs) : 706, 750
. : milestone, 728,
iast_GLOBAL (565.808 µs) : 542, 589
. : milestone, 566,
iast_HARDCODED_SECRET_DISABLED (513.912 µs) : 492, 536
. : milestone, 514,
iast_INACTIVE (476.04 µs) : 452, 500
. : milestone, 476,
iast_TELEMETRY_OFF (502.767 µs) : 481, 525
. : milestone, 503,
tracing (466.454 µs) : 445, 488
. : milestone, 466,
section candidate
no_agent (378.842 µs) : 358, 400
. : milestone, 379,
iast (513.046 µs) : 492, 535
. : milestone, 513,
iast_FULL (736.159 µs) : 714, 758
. : milestone, 736,
iast_GLOBAL (561.367 µs) : 539, 583
. : milestone, 561,
iast_HARDCODED_SECRET_DISABLED (514.88 µs) : 493, 537
. : milestone, 515,
iast_INACTIVE (476.879 µs) : 455, 498
. : milestone, 477,
iast_TELEMETRY_OFF (503.675 µs) : 482, 525
. : milestone, 504,
tracing (458.151 µs) : 438, 479
. : milestone, 458,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics. Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~d56c70221e, baseline=1.48.0-SNAPSHOT~d08dc3a3c5
dateFormat X
axisFormat %s
section baseline
no_agent (15.027 s) : 15027000, 15027000
. : milestone, 15027000,
appsec (15.254 s) : 15254000, 15254000
. : milestone, 15254000,
iast (18.634 s) : 18634000, 18634000
. : milestone, 18634000,
iast_GLOBAL (18.305 s) : 18305000, 18305000
. : milestone, 18305000,
profiling (15.521 s) : 15521000, 15521000
. : milestone, 15521000,
tracing (15.047 s) : 15047000, 15047000
. : milestone, 15047000,
section candidate
no_agent (14.968 s) : 14968000, 14968000
. : milestone, 14968000,
appsec (14.918 s) : 14918000, 14918000
. : milestone, 14918000,
iast (18.446 s) : 18446000, 18446000
. : milestone, 18446000,
iast_GLOBAL (18.346 s) : 18346000, 18346000
. : milestone, 18346000,
profiling (15.233 s) : 15233000, 15233000
. : milestone, 15233000,
tracing (15.056 s) : 15056000, 15056000
. : milestone, 15056000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~d56c70221e, baseline=1.48.0-SNAPSHOT~d08dc3a3c5
dateFormat X
axisFormat %s
section baseline
no_agent (1.479 ms) : 1468, 1491
. : milestone, 1479,
appsec (2.355 ms) : 2311, 2399
. : milestone, 2355,
iast (2.13 ms) : 2074, 2186
. : milestone, 2130,
iast_GLOBAL (2.176 ms) : 2121, 2232
. : milestone, 2176,
profiling (2.453 ms) : 2273, 2633
. : milestone, 2453,
tracing (1.958 ms) : 1916, 2001
. : milestone, 1958,
section candidate
no_agent (1.48 ms) : 1469, 1492
. : milestone, 1480,
appsec (2.364 ms) : 2320, 2408
. : milestone, 2364,
iast (2.131 ms) : 2075, 2186
. : milestone, 2131,
iast_GLOBAL (2.18 ms) : 2124, 2236
. : milestone, 2180,
profiling (1.993 ms) : 1948, 2038
. : milestone, 1993,
tracing (1.979 ms) : 1936, 2021
. : milestone, 1979,
|
c2c2dff
to
d56c702
Compare
Note this was previously reviewed on the |
/** Keep track of propagated context that has not been captured on the scope stack. */ | ||
private static final ThreadLocal<OtelContext> lastPropagated = new ThreadLocal<>(); | ||
/** Records the keys needed to access the delegate context, mapped by key name. */ | ||
private static final Map<ContextKey<?>, datadog.context.ContextKey<?>> DELEGATE_KEYS = |
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 imagine that this is not that big. However I did not see any cleanup or expiry but only entry insertion. Is that on purpose?
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.
Correct, this is never going to grow that big because only a handful of context keys will ever be created and each one only takes up a small amount of space.
Context keys are also meant to be stored as constants, because each one is unique and must be available to allow querying - so even if we did have some kind of weak map here it wouldn't be evicting much because it would be rare for the mapped key to become unreachable during the application lifetime.
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.
ok thank you for having given more "context for this context" :)
| 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
Motivation
The new internal Context API aligns better with OpenTelemetry and lets us simplify management of contexts from manual instrumentation (no need to shadow the scope management with an attachable wrapper. and therefore no need for scopes or their wrappers to have state - they are true closeables)
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: APMAPI-855