- Notifications
You must be signed in to change notification settings - Fork 320
Add non default propagator registration #8310
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 53 metrics, 10 unstable metrics. Startup time reports for insecure-bankgantt title insecure-bank - global startup overhead: candidate=1.46.0-SNAPSHOT~41e2d51b8b, baseline=1.46.0-SNAPSHOT~77fbf0ae93 dateFormat X axisFormat %s section tracing Agent [baseline] (1.041 s) : 0, 1041226 Total [baseline] (8.632 s) : 0, 8631909 Agent [candidate] (1.044 s) : 0, 1043535 Total [candidate] (8.654 s) : 0, 8654309 section iast Agent [baseline] (1.168 s) : 0, 1168220 Total [baseline] (9.209 s) : 0, 9208847 Agent [candidate] (1.171 s) : 0, 1171407 Total [candidate] (9.262 s) : 0, 9262226 section iast_HARDCODED_SECRET_DISABLED Agent [baseline] (1.167 s) : 0, 1166570 Total [baseline] (9.189 s) : 0, 9189040 Agent [candidate] (1.176 s) : 0, 1176342 Total [candidate] (9.262 s) : 0, 9261894 section iast_TELEMETRY_OFF Agent [baseline] (1.168 s) : 0, 1167808 Total [baseline] (9.22 s) : 0, 9219708 Agent [candidate] (1.166 s) : 0, 1165553 Total [candidate] (9.218 s) : 0, 9218469
gantt title insecure-bank - break down per module: candidate=1.46.0-SNAPSHOT~41e2d51b8b, baseline=1.46.0-SNAPSHOT~77fbf0ae93 dateFormat X axisFormat %s section tracing BytebuddyAgent [baseline] (714.965 ms) : 0, 714965 BytebuddyAgent [candidate] (715.904 ms) : 0, 715904 GlobalTracer [baseline] (239.839 ms) : 0, 239839 GlobalTracer [candidate] (241.253 ms) : 0, 241253 AppSec [baseline] (56.425 ms) : 0, 56425 AppSec [candidate] (55.615 ms) : 0, 55615 Remote Config [baseline] (720.668 µs) : 0, 721 Remote Config [candidate] (724.833 µs) : 0, 725 Telemetry [baseline] (14.047 ms) : 0, 14047 Telemetry [candidate] (14.816 ms) : 0, 14816 section iast BytebuddyAgent [baseline] (833.423 ms) : 0, 833423 BytebuddyAgent [candidate] (835.607 ms) : 0, 835607 GlobalTracer [baseline] (230.618 ms) : 0, 230618 GlobalTracer [candidate] (231.433 ms) : 0, 231433 IAST [baseline] (24.891 ms) : 0, 24891 IAST [candidate] (28.961 ms) : 0, 28961 AppSec [baseline] (54.705 ms) : 0, 54705 AppSec [candidate] (50.738 ms) : 0, 50738 Remote Config [baseline] (609.055 µs) : 0, 609 Remote Config [candidate] (622.187 µs) : 0, 622 Telemetry [baseline] (8.696 ms) : 0, 8696 Telemetry [candidate] (8.738 ms) : 0, 8738 section iast_HARDCODED_SECRET_DISABLED BytebuddyAgent [baseline] (832.489 ms) : 0, 832489 BytebuddyAgent [candidate] (838.881 ms) : 0, 838881 GlobalTracer [baseline] (230.018 ms) : 0, 230018 GlobalTracer [candidate] (232.142 ms) : 0, 232142 IAST [baseline] (25.806 ms) : 0, 25806 IAST [candidate] (26.111 ms) : 0, 26111 AppSec [baseline] (53.777 ms) : 0, 53777 AppSec [candidate] (54.339 ms) : 0, 54339 Remote Config [baseline] (619.418 µs) : 0, 619 Remote Config [candidate] (628.294 µs) : 0, 628 Telemetry [baseline] (8.599 ms) : 0, 8599 Telemetry [candidate] (8.903 ms) : 0, 8903 section iast_TELEMETRY_OFF BytebuddyAgent [baseline] (834.295 ms) : 0, 834295 BytebuddyAgent [candidate] (830.965 ms) : 0, 830965 GlobalTracer [baseline] (229.924 ms) : 0, 229924 GlobalTracer [candidate] (230.866 ms) : 0, 230866 IAST [baseline] (24.595 ms) : 0, 24595 IAST [candidate] (26.037 ms) : 0, 26037 AppSec [baseline] (54.466 ms) : 0, 54466 AppSec [candidate] (53.118 ms) : 0, 53118 Remote Config [baseline] (607.095 µs) : 0, 607 Remote Config [candidate] (608.237 µs) : 0, 608 Telemetry [baseline] (8.585 ms) : 0, 8585 Telemetry [candidate] (8.674 ms) : 0, 8674 Startup time reports for petclinicgantt title petclinic - global startup overhead: candidate=1.46.0-SNAPSHOT~41e2d51b8b, baseline=1.46.0-SNAPSHOT~77fbf0ae93 dateFormat X axisFormat %s section tracing Agent [baseline] (1.038 s) : 0, 1037588 Total [baseline] (10.498 s) : 0, 10498193 Agent [candidate] (1.039 s) : 0, 1039253 Total [candidate] (10.472 s) : 0, 10472001 section appsec Agent [baseline] (1.186 s) : 0, 1186238 Total [baseline] (10.775 s) : 0, 10774518 Agent [candidate] (1.185 s) : 0, 1184823 Total [candidate] (10.75 s) : 0, 10750200 section iast Agent [baseline] (1.177 s) : 0, 1177103 Total [baseline] (10.951 s) : 0, 10950934 Agent [candidate] (1.179 s) : 0, 1178947 Total [candidate] (11.032 s) : 0, 11032236 section profiling Agent [baseline] (1.26 s) : 0, 1260188 Total [baseline] (10.875 s) : 0, 10875128 Agent [candidate] (1.273 s) : 0, 1272885 Total [candidate] (10.913 s) : 0, 10912815
gantt title petclinic - break down per module: candidate=1.46.0-SNAPSHOT~41e2d51b8b, baseline=1.46.0-SNAPSHOT~77fbf0ae93 dateFormat X axisFormat %s section tracing BytebuddyAgent [baseline] (713.855 ms) : 0, 713855 BytebuddyAgent [candidate] (713.549 ms) : 0, 713549 GlobalTracer [baseline] (239.068 ms) : 0, 239068 GlobalTracer [candidate] (239.57 ms) : 0, 239570 AppSec [baseline] (56.277 ms) : 0, 56277 AppSec [candidate] (56.37 ms) : 0, 56370 Remote Config [baseline] (718.683 µs) : 0, 719 Remote Config [candidate] (710.819 µs) : 0, 711 Telemetry [baseline] (12.472 ms) : 0, 12472 Telemetry [candidate] (13.827 ms) : 0, 13827 section appsec BytebuddyAgent [baseline] (736.141 ms) : 0, 736141 BytebuddyAgent [candidate] (734.762 ms) : 0, 734762 GlobalTracer [baseline] (238.461 ms) : 0, 238461 GlobalTracer [candidate] (238.04 ms) : 0, 238040 AppSec [baseline] (176.55 ms) : 0, 176550 AppSec [candidate] (176.774 ms) : 0, 176774 Remote Config [baseline] (647.464 µs) : 0, 647 Remote Config [candidate] (651.383 µs) : 0, 651 Telemetry [baseline] (8.309 ms) : 0, 8309 Telemetry [candidate] (8.379 ms) : 0, 8379 IAST [baseline] (21.643 ms) : 0, 21643 IAST [candidate] (21.886 ms) : 0, 21886 section iast BytebuddyAgent [baseline] (839.955 ms) : 0, 839955 BytebuddyAgent [candidate] (841.275 ms) : 0, 841275 GlobalTracer [baseline] (232.09 ms) : 0, 232090 GlobalTracer [candidate] (232.545 ms) : 0, 232545 AppSec [baseline] (55.889 ms) : 0, 55889 AppSec [candidate] (53.632 ms) : 0, 53632 Remote Config [baseline] (616.221 µs) : 0, 616 Remote Config [candidate] (605.754 µs) : 0, 606 Telemetry [baseline] (8.684 ms) : 0, 8684 Telemetry [candidate] (8.825 ms) : 0, 8825 IAST [baseline] (24.451 ms) : 0, 24451 IAST [candidate] (26.655 ms) : 0, 26655 section profiling ProfilingAgent [baseline] (96.473 ms) : 0, 96473 ProfilingAgent [candidate] (97.067 ms) : 0, 97067 BytebuddyAgent [baseline] (706.046 ms) : 0, 706046 BytebuddyAgent [candidate] (714.283 ms) : 0, 714283 GlobalTracer [baseline] (350.622 ms) : 0, 350622 GlobalTracer [candidate] (354.209 ms) : 0, 354209 AppSec [baseline] (55.156 ms) : 0, 55156 AppSec [candidate] (54.907 ms) : 0, 54907 Remote Config [baseline] (711.053 µs) : 0, 711 Remote Config [candidate] (718.542 µs) : 0, 719 Telemetry [baseline] (8.937 ms) : 0, 8937 Telemetry [candidate] (9.072 ms) : 0, 9072 Profiling [baseline] (96.496 ms) : 0, 96496 Profiling [candidate] (97.092 ms) : 0, 97092 LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 10 metrics, 18 unstable metrics. Request duration reports for insecure-bankgantt title insecure-bank - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~41e2d51b8b, baseline=1.46.0-SNAPSHOT~77fbf0ae93 dateFormat X axisFormat %s section baseline no_agent (381.369 µs) : 361, 402 . : milestone, 381, iast (513.791 µs) : 490, 537 . : milestone, 514, iast_FULL (744.912 µs) : 723, 767 . : milestone, 745, iast_GLOBAL (563.542 µs) : 539, 588 . : milestone, 564, iast_HARDCODED_SECRET_DISABLED (508.737 µs) : 486, 531 . : milestone, 509, iast_INACTIVE (464.607 µs) : 443, 486 . : milestone, 465, iast_TELEMETRY_OFF (497.576 µs) : 475, 521 . : milestone, 498, tracing (461.125 µs) : 439, 483 . : milestone, 461, section candidate no_agent (383.738 µs) : 364, 404 . : milestone, 384, iast (514.634 µs) : 493, 537 . : milestone, 515, iast_FULL (746.371 µs) : 724, 769 . : milestone, 746, iast_GLOBAL (559.695 µs) : 538, 582 . : milestone, 560, iast_HARDCODED_SECRET_DISABLED (515.6 µs) : 492, 539 . : milestone, 516, iast_INACTIVE (465.303 µs) : 443, 488 . : milestone, 465, iast_TELEMETRY_OFF (502.287 µs) : 479, 526 . : milestone, 502, tracing (462.179 µs) : 441, 483 . : milestone, 462,
Request duration reports for petclinicgantt title petclinic - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~41e2d51b8b, baseline=1.46.0-SNAPSHOT~77fbf0ae93 dateFormat X axisFormat %s section baseline no_agent (1.354 ms) : 1334, 1374 . : milestone, 1354, appsec (1.755 ms) : 1731, 1778 . : milestone, 1755, appsec_no_iast (1.763 ms) : 1738, 1787 . : milestone, 1763, iast (1.511 ms) : 1488, 1535 . : milestone, 1511, profiling (1.502 ms) : 1479, 1526 . : milestone, 1502, tracing (1.483 ms) : 1457, 1508 . : milestone, 1483, section candidate no_agent (1.362 ms) : 1342, 1382 . : milestone, 1362, appsec (1.751 ms) : 1728, 1774 . : milestone, 1751, appsec_no_iast (1.741 ms) : 1716, 1765 . : milestone, 1741, iast (1.53 ms) : 1506, 1554 . : milestone, 1530, profiling (1.507 ms) : 1483, 1531 . : milestone, 1507, tracing (1.502 ms) : 1478, 1525 . : milestone, 1502,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics. Execution time for biojavagantt title biojava - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~41e2d51b8b, baseline=1.46.0-SNAPSHOT~77fbf0ae93 dateFormat X axisFormat %s section baseline no_agent (15.399 s) : 15399000, 15399000 . : milestone, 15399000, appsec (15.094 s) : 15094000, 15094000 . : milestone, 15094000, iast (19.04 s) : 19040000, 19040000 . : milestone, 19040000, iast_GLOBAL (17.97 s) : 17970000, 17970000 . : milestone, 17970000, profiling (15.257 s) : 15257000, 15257000 . : milestone, 15257000, tracing (14.764 s) : 14764000, 14764000 . : milestone, 14764000, section candidate no_agent (15.231 s) : 15231000, 15231000 . : milestone, 15231000, appsec (15.173 s) : 15173000, 15173000 . : milestone, 15173000, iast (18.473 s) : 18473000, 18473000 . : milestone, 18473000, iast_GLOBAL (18.22 s) : 18220000, 18220000 . : milestone, 18220000, profiling (15.188 s) : 15188000, 15188000 . : milestone, 15188000, tracing (14.928 s) : 14928000, 14928000 . : milestone, 14928000,
Execution time for tomcatgantt title tomcat - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~41e2d51b8b, baseline=1.46.0-SNAPSHOT~77fbf0ae93 dateFormat X axisFormat %s section baseline no_agent (1.475 ms) : 1463, 1486 . : milestone, 1475, appsec (2.364 ms) : 2320, 2407 . : milestone, 2364, iast (2.105 ms) : 2051, 2160 . : milestone, 2105, iast_GLOBAL (2.155 ms) : 2100, 2210 . : milestone, 2155, profiling (1.968 ms) : 1925, 2011 . : milestone, 1968, tracing (1.942 ms) : 1900, 1984 . : milestone, 1942, section candidate no_agent (1.472 ms) : 1460, 1483 . : milestone, 1472, appsec (2.367 ms) : 2323, 2410 . : milestone, 2367, iast (2.111 ms) : 2056, 2166 . : milestone, 2111, iast_GLOBAL (2.153 ms) : 2098, 2208 . : milestone, 2153, profiling (1.959 ms) : 1915, 2002 . : milestone, 1959, tracing (1.948 ms) : 1906, 1990 . : milestone, 1948,
|
| } | ||
| | ||
| @Override | ||
| public String toString() { |
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.
Can you add toString to the empty and indexed cases for consistency? thanks
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.
Sure, I originally kept those change in stash but I will happen them with their tests in this commit.
| private static final Map<Concern, Propagator> PROPAGATORS = | ||
| private static final Map<Concern, RegisteredPropagator> PROPAGATORS = | ||
| synchronizedMap(new IdentityHashMap<>()); | ||
| private static final RegisteredPropagator NOOP = of(NoopPropagator.INSTANCE, false); |
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 would use RegisteredPropagator.of here instead of just of (I typically avoid static imports of methods with very generic names like of)
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.
Me too. I used it as I wanted to avoid multi-line statement due to spotless...
As the field type was the one owning the of method, it was fine.
But I tend to not do it (especially when using var).
| public static void register(Concern concern, Propagator propagator, boolean usedAsDefault) { | ||
| PROPAGATORS.put(concern, of(propagator, usedAsDefault)); | ||
| if (usedAsDefault) { | ||
| defaultPropagatorSet = false; |
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 found this flag confusing at first before I realized it meant whether the default propagator had been built in defaultPropagator()
Maybe we should rename this to rebuildDefaultPropagator and flip the status, i.e. we set rebuildDefaultPropagator = true whenever we need to rebuild the default propagator?
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.
Yes, that's a static field I did not document. I can rework it if it makes it clearer.
| return new RegisteredPropagator(propagator, useAsDefault); | ||
| } | ||
| | ||
| protected Propagator propagator() { |
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.
is there a reason this needs to be protected? I didn't see any classes extend RegisteredPropagator
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.
Not particularly (especially since isUsedAsDefault() as no scope qualifier. I will set them as package-private (by default).
They could be public too, but this class would have been a private local record if the feature was available 😞
mcculls left a comment
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.
+1 just some consistency/readability suggestions
41e2d51 to 6f3b8dd Compare | I updated the commit to take into all comments. |
| Package | Type | Package file | Manager | Update | Change | |---|---|---|---|---|---| | [com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.25.4` -> `2.26.0` | | [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.45.2` -> `1.46.0` | | [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.45.2` -> `1.46.0` | | [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.9` -> `2.30.10` | | [software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.9` -> `2.30.10` | | [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.9` -> `2.30.10` | | [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.9` -> `2.30.10` | | [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.9` -> `2.30.10` | | [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.9` -> `2.30.10` | --- ### Release Notes <details> <summary>googleapis/java-datastore (com.google.cloud:google-cloud-datastore)</summary> ### [`v2.26.0`](https://github.com/googleapis/java-datastore/blob/HEAD/CHANGELOG.md#2260-2025-01-29) ##### Features - Add firestoreInDatastoreMode for datastore emulator ([#​1698](googleapis/java-datastore#1698)) ([50f106d](googleapis/java-datastore@50f106d)) ##### Dependencies - Update dependency com.google.cloud:sdk-platform-java-config to v3.42.0 ([#​1725](googleapis/java-datastore#1725)) ([1cbaf22](googleapis/java-datastore@1cbaf22)) </details> <details> <summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary> ### [`v1.46.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.46.0): 1.46.0 ##### Breaking Changes > \[!WARNING] > jnr-unixsocket is now an external dependency of dd-trace-ot and must be included when deploying dd-trace-ot. > \[!NOTE] > The API `TracerScope.setAsync(boolean)`, used to manually control asynchronous span propagation, does no more apply to the scope instance but to the active span scope. ##### Components ##### Application Security Management (IAST) - 🐛 Fix String.replace instrumentation for IAST ([#​8281](DataDog/dd-trace-java#8281) - [@​Mariovido](https://github.com/Mariovido)) - ✨ Apply the standard nomenclature to the stacktrace configs ([#​8244](DataDog/dd-trace-java#8244) - [@​jandro996](https://github.com/jandro996)) - 🐛 Exclude false positive weak randomness ([#​8232](DataDog/dd-trace-java#8232) - [@​jandro996](https://github.com/jandro996)) - ✨ Propagation of translateEscapes of String class ([#​8186](DataDog/dd-trace-java#8186) - [@​sezen-datadog](https://github.com/sezen-datadog)) - ✨ Add security control metrics ([#​8175](DataDog/dd-trace-java#8175) - [@​jandro996](https://github.com/jandro996)) - ✨ Increase IAST propagation to StringBuffer setLength ([#​8128](DataDog/dd-trace-java#8128) - [@​Mariovido](https://github.com/Mariovido)) - ✨ Add IAST taint tracking for DB values ([#​8072](DataDog/dd-trace-java#8072) - [@​Mariovido](https://github.com/Mariovido)) ##### Application Security Management (WAF) - 🐛 Prevents a NPE when there is no subscriber for user events ([#​8258](DataDog/dd-trace-java#8258) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Apply the standard nomenclature to the stacktrace configs ([#​8244](DataDog/dd-trace-java#8244) - [@​jandro996](https://github.com/jandro996)) - 🐛 Ensure cached subscriptions are cleared on reconfiguration via RC ([#​8229](DataDog/dd-trace-java#8229) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Add support for session tracking in Vertx ([#​8167](DataDog/dd-trace-java#8167) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Create span tag: \_dd.appsec.rasp.timeout ([#​8269](DataDog/dd-trace-java#8269) - [@​Mariovido](https://github.com/Mariovido)) ##### Build & Tooling - 🐛 Ensure shaded helpers have unique names when injected into class-loaders ([#​8192](DataDog/dd-trace-java#8192) - [@​mcculls](https://github.com/mcculls)) ##### Configuration at Runtime - 🐛 Remove filtering of `DD_SERVICE` and `DD_ENV` from the tracer ([#​8176](DataDog/dd-trace-java#8176) - [@​mhlidd](https://github.com/mhlidd)) ##### Continuous Integration Visibility - 🧹 Generalize TestRetryPolicy to TestExecutionPolicy ([#​8302](DataDog/dd-trace-java#8302) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🧹 Parallelize CI Visibility settings requests ([#​8299](DataDog/dd-trace-java#8299) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🧹 Generalize test retry logic ([#​8289](DataDog/dd-trace-java#8289) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🧹 Generalize tests skipping logic ([#​8288](DataDog/dd-trace-java#8288) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🧹 Remove skip and shouldBeSkipped methods from TestEventsHandler in favor of isSkippable ([#​8286](DataDog/dd-trace-java#8286) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨⚡ Optimize Git repository information computation ([#​8270](DataDog/dd-trace-java#8270) - [@​dougqh](https://github.com/dougqh)) - ✨ Always request known tests from the backend ([#​8268](DataDog/dd-trace-java#8268) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Fix NPE when trying to get retry analyzer in Test NG ([#​8253](DataDog/dd-trace-java#8253) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Set test framework and test framework version tags atomically ([#​8252](DataDog/dd-trace-java#8252) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Add debug logging to Android Gradle module layout logic ([#​8251](DataDog/dd-trace-java#8251) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Fix source and destination folders computation for Android Gradle projects ([#​8190](DataDog/dd-trace-java#8190) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Add basic Scala Weaver sbt support ([#​8189](DataDog/dd-trace-java#8189) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Implement impacted tests detection ([#​8188](DataDog/dd-trace-java#8188) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) ##### Data Streams Monitoring - ✨ Change hash computation for protobuf to better represent impacting changes + save proto number in schema ([#​8201](DataDog/dd-trace-java#8201) - [@​vandonr](https://github.com/vandonr)) ##### Database Monitoring - Add peer service tag in dbm sql commenter ([#​7913](DataDog/dd-trace-java#7913) - [@​jordan-wong](https://github.com/jordan-wong)) ##### Dynamic Instrumentation - ✨ Add support for SymDB to scan directories ([#​8306](DataDog/dd-trace-java#8306) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Add SymDB report for any jar scanning failures ([#​8300](DataDog/dd-trace-java#8300) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Use two budgets depending on type ([#​8283](DataDog/dd-trace-java#8283) - [@​evanchooly](https://github.com/evanchooly)) - ✨ Institute a 10 snapshot per probe per trace budget ([#​8277](DataDog/dd-trace-java#8277) - [@​evanchooly](https://github.com/evanchooly)) - 🐛 Avoid double snapshots for Exception Replay ([#​8273](DataDog/dd-trace-java#8273) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Simplify code origins. Separate out snapshot generation. ([#​8263](DataDog/dd-trace-java#8263) - [@​evanchooly](https://github.com/evanchooly)) - ✨ Add Exception probe custom instrumentation ([#​8230](DataDog/dd-trace-java#8230) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Enhance log probes to honor debug session tags ([#​8215](DataDog/dd-trace-java#8215) - [@​evanchooly](https://github.com/evanchooly)) - 🐛 Don't redact env tokens from debugger probe snapshots ([#​8211](DataDog/dd-trace-java#8211) - [@​watson](https://github.com/watson)) - ✨⚡ Move Trace/SpanId capture at commit time ([#​8184](DataDog/dd-trace-java#8184) - [@​jpbempel](https://github.com/jpbempel)) - 🐛 Capture values at entry for method probe ([#​8169](DataDog/dd-trace-java#8169) - [@​jpbempel](https://github.com/jpbempel)) ##### JMX fetch - 🐛 Mute JMXFetch Shutdown in progress error ([#​8068](DataDog/dd-trace-java#8068) - [@​ygree](https://github.com/ygree)) ##### OpenTracing -⚠️ 🧹 Make jnr-unixsocket an explicit dependency of dd-trace-ot ([#​8307](DataDog/dd-trace-java#8307) - [@​mcculls](https://github.com/mcculls)) ##### Profiling - 🐛 Avoid unsupported API call for creating folders on windows ([#​8304](DataDog/dd-trace-java#8304) - [@​jbachorik](https://github.com/jbachorik)) - ✨ Tag profiles for serverless ([#​8279](DataDog/dd-trace-java#8279) - [@​jbachorik](https://github.com/jbachorik)) - ✨ add queue type and length to queue events ([#​8242](DataDog/dd-trace-java#8242) - [@​richardstartin](https://github.com/richardstartin)) - 🐛 TempLocationManager Fixes and Improvements ([#​8191](DataDog/dd-trace-java#8191) - [@​jbachorik](https://github.com/jbachorik)) - ✨ Bump ddprof to 1.18.0 ([#​8173](DataDog/dd-trace-java#8173) - [@​jbachorik](https://github.com/jbachorik)) - ✨ Report profiler initialization and configuration errors to telemetry ([#​8171](DataDog/dd-trace-java#8171) - [@​jbachorik](https://github.com/jbachorik)) ##### Telemetry - ✨ Add pending traces report in tracer flares ([#​8053](DataDog/dd-trace-java#8053) - [@​mhlidd](https://github.com/mhlidd)) ##### Testing - ✨ Test http server requests in parallel ([#​8222](DataDog/dd-trace-java#8222) - [@​amarziali](https://github.com/amarziali)) ##### Trace context propagation - ✨ Add non default propagator registration ([#​8310](DataDog/dd-trace-java#8310) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) ##### Tracer core - ✨ Probe for existence of IBMSASL or ACCP security providers ([#​8276](DataDog/dd-trace-java#8276) - [@​mcculls](https://github.com/mcculls)) - ✨⚡ Overhead improvement to agent feedback based sampling ([#​8265](DataDog/dd-trace-java#8265) - [@​dougqh](https://github.com/dougqh)) - 🧹 Move async propagation API from scope to tracer ([#​8231](DataDog/dd-trace-java#8231) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - ✨ Introduce context propagation API ([#​8161](DataDog/dd-trace-java#8161) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - ✨🧪 Use env-entry to add tags per webapp deployment ([#​8138](DataDog/dd-trace-java#8138) - [@​amarziali](https://github.com/amarziali)) - ✨ Introduce context helpers API ([#​8134](DataDog/dd-trace-java#8134) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - ✨ Support IPv6 values for `DD_AGENT_HOST` and `DD_TRACE_AGENT_URL` ([#​7984](DataDog/dd-trace-java#7984) - [@​mhlidd](https://github.com/mhlidd)) ##### Instrumentations ##### Apache HttpComponents - 🐛 Properly finish spans and support latest apache httpclient5 ([#​8272](DataDog/dd-trace-java#8272) - [@​amarziali](https://github.com/amarziali)) ##### AWS Lambda instrumentation - 🐛 Properly capture lambda payloads for all handler types. ([#​8264](DataDog/dd-trace-java#8264) - [@​purple4reina](https://github.com/purple4reina)) ##### AWS S3 instrumentation - 💡 Create S3 instrumentation + add span pointers ([#​8075](DataDog/dd-trace-java#8075) - [@​nhulston](https://github.com/nhulston)) ##### AWS SDK instrumentation - 🐛 Revert "Add avoid double instrumenting lambda non-streaming handlers." ([#​8247](DataDog/dd-trace-java#8247) - [@​nhulston](https://github.com/nhulston)) ##### Cassandra - ✨ Allow extracting keyspace from statement result ([#​8239](DataDog/dd-trace-java#8239) - [@​amarziali](https://github.com/amarziali)) ##### Core Java language instrumentation - ✨ Propagation of translateEscapes of String class ([#​8186](DataDog/dd-trace-java#8186) - [@​sezen-datadog](https://github.com/sezen-datadog)) ##### Eclipse Vert.x instrumentation - 🐛 Fix vertx worker propagation and error handling ([#​8237](DataDog/dd-trace-java#8237) - [@​amarziali](https://github.com/amarziali)) - ✨ Support vertx 5 ([#​8220](DataDog/dd-trace-java#8220) - [@​amarziali](https://github.com/amarziali)) - ✨ Add support for session tracking in Vertx ([#​8167](DataDog/dd-trace-java#8167) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) ##### Kafka instrumentation - 🐛 Prevent possible NPE calculating Kafka record header size ([#​8292](DataDog/dd-trace-java#8292) - [@​ygree](https://github.com/ygree)) ##### Mule instrumentation - 🐛 Fix crash using Mule with JPMS ([#​8187](DataDog/dd-trace-java#8187) - [@​amarziali](https://github.com/amarziali)) ##### Protocol Buffer instrumentation - ✨ Change hash computation for protobuf to better represent impacting changes + save proto number in schema ([#​8201](DataDog/dd-trace-java#8201) - [@​vandonr](https://github.com/vandonr)) ##### Spring instrumentation - 🐛 Preserve getQualifier from spring scheduling runnables ([#​8293](DataDog/dd-trace-java#8293) - [@​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**: Whenever PR becomes conflicted, 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: bb09d47e4eed77a003f630273b4d0a84003eb899
What Does This Do
This PR introduces the capability for registering propagators that are not used by default.
Motivation
The goal is to have product to register custom propagators that can be retrieved by concern, but not automatically used for every context extraction / injection by default.
Additional Notes
Contributor Checklist
type:and (comp:orinst:) labels in addition to any usefull labelsclose,fixor any linking keywords when referencing an issue.Use
solvesinstead, and assign the PR milestone to the issueJira ticket: LANGPLAT-292