-
Notifications
You must be signed in to change notification settings - Fork 298
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
Migrate context injection calls to context-first APIs #8358
Conversation
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
Kafka / producer-benchmarkParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 3 metrics, 0 unstable metrics. See unchanged results
|
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 57 metrics, 6 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.47.0-SNAPSHOT~1ed0a2317f, baseline=1.47.0-SNAPSHOT~ca6895a0a9
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.05 s) : 0, 1049606
Total [baseline] (10.462 s) : 0, 10461517
Agent [candidate] (1.042 s) : 0, 1042199
Total [candidate] (10.563 s) : 0, 10563360
section appsec
Agent [baseline] (1.189 s) : 0, 1188557
Total [baseline] (10.872 s) : 0, 10871970
Agent [candidate] (1.186 s) : 0, 1185801
Total [candidate] (10.765 s) : 0, 10764550
section iast
Agent [baseline] (1.175 s) : 0, 1175258
Total [baseline] (10.976 s) : 0, 10976381
Agent [candidate] (1.172 s) : 0, 1172479
Total [candidate] (10.994 s) : 0, 10993522
section profiling
Agent [baseline] (1.28 s) : 0, 1280051
Total [baseline] (11.0 s) : 0, 11000461
Agent [candidate] (1.261 s) : 0, 1261210
Total [candidate] (10.845 s) : 0, 10844794
gantt
title petclinic - break down per module: candidate=1.47.0-SNAPSHOT~1ed0a2317f, baseline=1.47.0-SNAPSHOT~ca6895a0a9
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (720.565 ms) : 0, 720565
BytebuddyAgent [candidate] (715.493 ms) : 0, 715493
GlobalTracer [baseline] (244.327 ms) : 0, 244327
GlobalTracer [candidate] (243.344 ms) : 0, 243344
AppSec [baseline] (55.265 ms) : 0, 55265
AppSec [candidate] (54.991 ms) : 0, 54991
Remote Config [baseline] (734.022 µs) : 0, 734
Remote Config [candidate] (714.91 µs) : 0, 715
Telemetry [baseline] (13.459 ms) : 0, 13459
Telemetry [candidate] (12.505 ms) : 0, 12505
section appsec
BytebuddyAgent [baseline] (735.644 ms) : 0, 735644
BytebuddyAgent [candidate] (734.046 ms) : 0, 734046
GlobalTracer [baseline] (240.606 ms) : 0, 240606
GlobalTracer [candidate] (240.27 ms) : 0, 240270
IAST [baseline] (22.045 ms) : 0, 22045
IAST [candidate] (21.744 ms) : 0, 21744
AppSec [baseline] (176.678 ms) : 0, 176678
AppSec [candidate] (176.44 ms) : 0, 176440
Remote Config [baseline] (674.018 µs) : 0, 674
Remote Config [candidate] (666.554 µs) : 0, 667
Telemetry [baseline] (8.676 ms) : 0, 8676
Telemetry [candidate] (8.235 ms) : 0, 8235
section iast
BytebuddyAgent [baseline] (836.677 ms) : 0, 836677
BytebuddyAgent [candidate] (834.25 ms) : 0, 834250
GlobalTracer [baseline] (233.785 ms) : 0, 233785
GlobalTracer [candidate] (233.902 ms) : 0, 233902
IAST [baseline] (22.928 ms) : 0, 22928
IAST [candidate] (22.658 ms) : 0, 22658
AppSec [baseline] (57.251 ms) : 0, 57251
AppSec [candidate] (57.107 ms) : 0, 57107
Remote Config [baseline] (621.732 µs) : 0, 622
Remote Config [candidate] (617.839 µs) : 0, 618
Telemetry [baseline] (8.718 ms) : 0, 8718
Telemetry [candidate] (8.664 ms) : 0, 8664
section profiling
BytebuddyAgent [baseline] (718.853 ms) : 0, 718853
BytebuddyAgent [candidate] (705.422 ms) : 0, 705422
GlobalTracer [baseline] (355.947 ms) : 0, 355947
GlobalTracer [candidate] (354.076 ms) : 0, 354076
AppSec [baseline] (54.877 ms) : 0, 54877
AppSec [candidate] (54.551 ms) : 0, 54551
Remote Config [baseline] (712.086 µs) : 0, 712
Remote Config [candidate] (708.801 µs) : 0, 709
Telemetry [baseline] (9.557 ms) : 0, 9557
Telemetry [candidate] (8.933 ms) : 0, 8933
ProfilingAgent [baseline] (96.889 ms) : 0, 96889
ProfilingAgent [candidate] (95.419 ms) : 0, 95419
Profiling [baseline] (96.914 ms) : 0, 96914
Profiling [candidate] (95.445 ms) : 0, 95445
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.47.0-SNAPSHOT~1ed0a2317f, baseline=1.47.0-SNAPSHOT~ca6895a0a9
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.055 s) : 0, 1054688
Total [baseline] (8.677 s) : 0, 8676588
Agent [candidate] (1.045 s) : 0, 1044734
Total [candidate] (8.659 s) : 0, 8659315
section iast
Agent [baseline] (1.174 s) : 0, 1174263
Total [baseline] (9.232 s) : 0, 9231653
Agent [candidate] (1.177 s) : 0, 1176544
Total [candidate] (9.248 s) : 0, 9248122
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.171 s) : 0, 1171168
Total [baseline] (9.219 s) : 0, 9219256
Agent [candidate] (1.171 s) : 0, 1171184
Total [candidate] (9.225 s) : 0, 9224592
section iast_TELEMETRY_OFF
Agent [baseline] (1.17 s) : 0, 1170456
Total [baseline] (9.24 s) : 0, 9240019
Agent [candidate] (1.179 s) : 0, 1178920
Total [candidate] (9.259 s) : 0, 9258921
gantt
title insecure-bank - break down per module: candidate=1.47.0-SNAPSHOT~1ed0a2317f, baseline=1.47.0-SNAPSHOT~ca6895a0a9
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (723.026 ms) : 0, 723026
BytebuddyAgent [candidate] (716.538 ms) : 0, 716538
GlobalTracer [baseline] (246.99 ms) : 0, 246990
GlobalTracer [candidate] (243.447 ms) : 0, 243447
AppSec [baseline] (56.1 ms) : 0, 56100
AppSec [candidate] (55.183 ms) : 0, 55183
Remote Config [baseline] (756.458 µs) : 0, 756
Remote Config [candidate] (717.212 µs) : 0, 717
Telemetry [baseline] (12.482 ms) : 0, 12482
Telemetry [candidate] (13.695 ms) : 0, 13695
section iast
BytebuddyAgent [baseline] (836.402 ms) : 0, 836402
BytebuddyAgent [candidate] (837.904 ms) : 0, 837904
GlobalTracer [baseline] (233.329 ms) : 0, 233329
GlobalTracer [candidate] (234.078 ms) : 0, 234078
IAST [baseline] (22.899 ms) : 0, 22899
IAST [candidate] (22.773 ms) : 0, 22773
AppSec [baseline] (56.946 ms) : 0, 56946
AppSec [candidate] (57.002 ms) : 0, 57002
Remote Config [baseline] (629.863 µs) : 0, 630
Remote Config [candidate] (623.369 µs) : 0, 623
Telemetry [baseline] (8.738 ms) : 0, 8738
Telemetry [candidate] (8.75 ms) : 0, 8750
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (833.505 ms) : 0, 833505
BytebuddyAgent [candidate] (833.587 ms) : 0, 833587
GlobalTracer [baseline] (233.254 ms) : 0, 233254
GlobalTracer [candidate] (233.545 ms) : 0, 233545
IAST [baseline] (22.982 ms) : 0, 22982
IAST [candidate] (22.714 ms) : 0, 22714
AppSec [baseline] (56.856 ms) : 0, 56856
AppSec [candidate] (56.764 ms) : 0, 56764
Remote Config [baseline] (616.569 µs) : 0, 617
Remote Config [candidate] (629.631 µs) : 0, 630
Telemetry [baseline] (8.709 ms) : 0, 8709
Telemetry [candidate] (8.681 ms) : 0, 8681
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (832.828 ms) : 0, 832828
BytebuddyAgent [candidate] (839.207 ms) : 0, 839207
GlobalTracer [baseline] (234.008 ms) : 0, 234008
GlobalTracer [candidate] (235.766 ms) : 0, 235766
IAST [baseline] (27.098 ms) : 0, 27098
IAST [candidate] (25.494 ms) : 0, 25494
AppSec [baseline] (51.967 ms) : 0, 51967
AppSec [candidate] (53.94 ms) : 0, 53940
Remote Config [baseline] (630.455 µs) : 0, 630
Remote Config [candidate] (620.45 µs) : 0, 620
Telemetry [baseline] (8.637 ms) : 0, 8637
Telemetry [candidate] (8.559 ms) : 0, 8559
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 16 unstable metrics. Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~1ed0a2317f, baseline=1.47.0-SNAPSHOT~ca6895a0a9
dateFormat X
axisFormat %s
section baseline
no_agent (374.855 µs) : 355, 395
. : milestone, 375,
iast (500.453 µs) : 479, 522
. : milestone, 500,
iast_FULL (737.564 µs) : 715, 760
. : milestone, 738,
iast_GLOBAL (558.007 µs) : 535, 581
. : milestone, 558,
iast_HARDCODED_SECRET_DISABLED (513.881 µs) : 492, 536
. : milestone, 514,
iast_INACTIVE (461.747 µs) : 439, 484
. : milestone, 462,
iast_TELEMETRY_OFF (502.409 µs) : 479, 525
. : milestone, 502,
tracing (451.713 µs) : 431, 473
. : milestone, 452,
section candidate
no_agent (377.054 µs) : 357, 397
. : milestone, 377,
iast (505.645 µs) : 484, 528
. : milestone, 506,
iast_FULL (736.59 µs) : 715, 758
. : milestone, 737,
iast_GLOBAL (552.979 µs) : 530, 576
. : milestone, 553,
iast_HARDCODED_SECRET_DISABLED (506.751 µs) : 485, 529
. : milestone, 507,
iast_INACTIVE (458.73 µs) : 437, 481
. : milestone, 459,
iast_TELEMETRY_OFF (498.506 µs) : 475, 522
. : milestone, 499,
tracing (450.682 µs) : 430, 471
. : milestone, 451,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~1ed0a2317f, baseline=1.47.0-SNAPSHOT~ca6895a0a9
dateFormat X
axisFormat %s
section baseline
no_agent (1.341 ms) : 1321, 1362
. : milestone, 1341,
appsec (1.752 ms) : 1729, 1775
. : milestone, 1752,
appsec_no_iast (1.757 ms) : 1734, 1780
. : milestone, 1757,
iast (1.496 ms) : 1473, 1520
. : milestone, 1496,
profiling (1.521 ms) : 1498, 1544
. : milestone, 1521,
tracing (1.492 ms) : 1468, 1516
. : milestone, 1492,
section candidate
no_agent (1.355 ms) : 1335, 1375
. : milestone, 1355,
appsec (1.751 ms) : 1728, 1775
. : milestone, 1751,
appsec_no_iast (1.757 ms) : 1732, 1783
. : milestone, 1757,
iast (1.496 ms) : 1471, 1520
. : milestone, 1496,
profiling (1.507 ms) : 1484, 1531
. : milestone, 1507,
tracing (1.482 ms) : 1457, 1507
. : milestone, 1482,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~1ed0a2317f, baseline=1.47.0-SNAPSHOT~ca6895a0a9
dateFormat X
axisFormat %s
section baseline
no_agent (1.467 ms) : 1455, 1478
. : milestone, 1467,
appsec (2.359 ms) : 2315, 2403
. : milestone, 2359,
iast (2.117 ms) : 2061, 2173
. : milestone, 2117,
iast_GLOBAL (2.152 ms) : 2096, 2207
. : milestone, 2152,
profiling (1.969 ms) : 1925, 2013
. : milestone, 1969,
tracing (1.947 ms) : 1904, 1990
. : milestone, 1947,
section candidate
no_agent (1.473 ms) : 1461, 1484
. : milestone, 1473,
appsec (2.358 ms) : 2315, 2401
. : milestone, 2358,
iast (2.109 ms) : 2053, 2164
. : milestone, 2109,
iast_GLOBAL (2.145 ms) : 2090, 2200
. : milestone, 2145,
profiling (1.983 ms) : 1938, 2028
. : milestone, 1983,
tracing (1.938 ms) : 1895, 1980
. : milestone, 1938,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~1ed0a2317f, baseline=1.47.0-SNAPSHOT~ca6895a0a9
dateFormat X
axisFormat %s
section baseline
no_agent (14.874 s) : 14874000, 14874000
. : milestone, 14874000,
appsec (14.736 s) : 14736000, 14736000
. : milestone, 14736000,
iast (18.399 s) : 18399000, 18399000
. : milestone, 18399000,
iast_GLOBAL (18.188 s) : 18188000, 18188000
. : milestone, 18188000,
profiling (15.074 s) : 15074000, 15074000
. : milestone, 15074000,
tracing (14.824 s) : 14824000, 14824000
. : milestone, 14824000,
section candidate
no_agent (15.428 s) : 15428000, 15428000
. : milestone, 15428000,
appsec (15.01 s) : 15010000, 15010000
. : milestone, 15010000,
iast (18.85 s) : 18850000, 18850000
. : milestone, 18850000,
iast_GLOBAL (18.099 s) : 18099000, 18099000
. : milestone, 18099000,
profiling (15.604 s) : 15604000, 15604000
. : milestone, 15604000,
tracing (14.862 s) : 14862000, 14862000
. : milestone, 14862000,
|
Smoke tests seems to be complaining about standalaone ASM. I will include this refactoring as well. |
Kafka / consumer-benchmarkParameters
See matching parameters
SummaryFound 0 performance improvements and 1 performance regressions! Performance is the same for 2 metrics, 0 unstable metrics.
See unchanged results
|
@@ -723,7 +727,10 @@ private CoreTracer( | |||
this.propagation = | |||
new CorePropagation(builtExtractor, injector, injectors, dataStreamContextInjector); | |||
|
|||
Propagators.register(TRACING_CONCERN, new TracingPropagator(injector, extractor)); | |||
boolean appSec = config.isAppSecStandaloneEnabled(); |
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.
Maybe standaloneAppSec
?
Also could you add a comment to explain why when standaloneAppSec
is true
we can turn off the tracing propagator - I think I understand by reading the code, but a comment would be appreciated :)
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.
This part will be removed soon from what I understand of #8219
The TracingPropagator
will now check at the tracing information only (ie Tracing Souce PTags and tracing enabled flag) to check for injection policy so the APSEC concern and propagator won't be needed anymore :)
So I can comment it if you prefer it to be merged with more context / details, but I will drop this part soon.
cc @jandro996 for awareness
Oh, and I remembered using appSec
instead of standaloneAppSec
due to the line limit too 😓
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.
understood - if this code will be removed soon then it's less of an issue
wrt. line limit, maybe that wouldn't be such a problem with a better formatter? In this case a flag called appSec
has a subtly different meaning to standaloneAppSec
- and it's a shame to lose that distinction to satisfy an arbitrary line limit
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.
wrt. line limit, maybe that wouldn't be such a problem with a better formatter?
That's so much trouble to find a formatter that still run on Java 8… 😞
I update the whole section to document the flag and how it impacts the registration of default propagators.
import datadog.trace.core.DDSpanContext; | ||
import javax.annotation.ParametersAreNonnullByDefault; | ||
|
||
// TODO Javadoc |
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 address this before merging - 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.
Will do, that something I should not have missed 😓
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice work
@@ -33,7 +33,7 @@ public Map<String, String> getContext() { | |||
|
|||
public static ContextPayload from(final AgentSpan span) { | |||
final ContextPayload payload = new ContextPayload(); | |||
propagate().inject(span, payload, SETTER); | |||
Propagators.defaultPropagator().inject(span, payload, SETTER); |
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.
It's probably lot of changes and cosmetics but it would be nice to have defaultPropagator()
statically imported everywhere as propagate()
was
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 can. I wasn't use that defaultPropagator()
would be clear enough about where the API is coming from to use static import so I did not use it in the first place.
If you find it clear enough, I can do it 👍
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'm ok with static importing it
(I think most people would expect it to be in Propagators
so there's no surprise there)
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 changed it then! I'm in favor too using static import
3f9d322
to
1ed0a23
Compare
| Package | Type | Package file | Manager | Update | Change | |---|---|---|---|---|---| | [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.46.1` -> `1.47.0` | | [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.46.1` -> `1.47.0` | | [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | --- ### Release Notes <details> <summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary> ### [`v1.47.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.47.0): 1.47.0 ##### Components ##### Application Security Management (IAST) - 🐛 Exclude com.stripe.net.HttpURLConnectionClient to solve IAST SSRF vulnerability false positives ([#​8483](DataDog/dd-trace-java#8483) - [@​jandro996](https://github.com/jandro996)) - 🐛 Add exclusion to solve IAST weak randomness vulnerability false positives ([#​8462](DataDog/dd-trace-java#8462) - [@​jandro996](https://github.com/jandro996)) - ✨ Fix weak randomness false positive in Kafka client ([#​8408](DataDog/dd-trace-java#8408) - [@​smola](https://github.com/smola)) - ✨ Fix location for SSRF with Kong Unirest ([#​8407](DataDog/dd-trace-java#8407) - [@​smola](https://github.com/smola)) - ✨ Exclude IBM Instana from IAST ([#​8406](DataDog/dd-trace-java#8406) - [@​smola](https://github.com/smola)) - 🐛 Fix org.json iast instrumentation test for latest dependency ([#​8347](DataDog/dd-trace-java#8347) - [@​jandro996](https://github.com/jandro996)) - ✨ Configuration to Disable APM Tracing ([#​8219](DataDog/dd-trace-java#8219) - [@​jandro996](https://github.com/jandro996)) - ✨ Address cookie vulnerability cardinality issues ([#​8210](DataDog/dd-trace-java#8210) - [@​jandro996](https://github.com/jandro996)) - ✨ Email HTML Injection detection in IAST ([#​8205](DataDog/dd-trace-java#8205) - [@​sezen-datadog](https://github.com/sezen-datadog)) ##### Application Security Management (WAF) - 🐛✨ Ensure usr.exists tag is not overridden when UsernameNotFoundException is thrown ([#​8376](DataDog/dd-trace-java#8376) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - 🐛✨ Ensure usr.exists tag is not overridden by auto instrumentation ([#​8374](DataDog/dd-trace-java#8374) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Update appsec metrics with event_rules_version tag ([#​8354](DataDog/dd-trace-java#8354) - [@​sezen-datadog](https://github.com/sezen-datadog)) - ✨ Update metrics: appsec.waf.requests ([#​8353](DataDog/dd-trace-java#8353) - [@​Mariovido](https://github.com/Mariovido)) - ✨ Improve ASM support in vert.x 5.0 ([#​8285](DataDog/dd-trace-java#8285) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Update metrics: appsec.waf.updates and appsec.waf.init ([#​8280](DataDog/dd-trace-java#8280) - [@​Mariovido](https://github.com/Mariovido)) - ✨ Configuration to Disable APM Tracing ([#​8219](DataDog/dd-trace-java#8219) - [@​jandro996](https://github.com/jandro996)) ##### Build & Tooling - 🐛 Do not generate Muzzle references for primitive arrays in method body ([#​8361](DataDog/dd-trace-java#8361) - [@​amarziali](https://github.com/amarziali)) - 📖 Improve dev env setup documentation for Windows ([#​8180](DataDog/dd-trace-java#8180) - [@​lucaspimentel](https://github.com/lucaspimentel)) ##### Continuous Integration Visibility - ✨ Add support for skip-EFD tagging ([#​8487](DataDog/dd-trace-java#8487) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Fix an NPE in Gradle Android instrumentation ([#​8484](DataDog/dd-trace-java#8484) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Consider modified tests when applying fail-fast tests ordering ([#​8474](DataDog/dd-trace-java#8474) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Implement tests reordering for TestNG ([#​8467](DataDog/dd-trace-java#8467) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Fix Gradle Launcher instrumentation to not interfere with Gradle Test Kit ([#​8465](DataDog/dd-trace-java#8465) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🧹 Use separate TestEventHandlers per framework in CI Vis instrumentations ([#​8451](DataDog/dd-trace-java#8451) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Remove warning log when JUnit 4 test method cannot be retrieved ([#​8445](DataDog/dd-trace-java#8445) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Fix Scalatest tracing for tests that are reported asynchronously ([#​8444](DataDog/dd-trace-java#8444) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Implement attempt to fix tests ([#​8393](DataDog/dd-trace-java#8393) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Implement test disabling ([#​8377](DataDog/dd-trace-java#8377) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Update CODEOWNERS parser to not log errors on comments with leading whitespace ([#​8349](DataDog/dd-trace-java#8349) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Request Test Management tests list ([#​8345](DataDog/dd-trace-java#8345) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Receive test management settings from CIVis settings request ([#​8331](DataDog/dd-trace-java#8331) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Implement quarantined tests tagging ([#​8326](DataDog/dd-trace-java#8326) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Implement tests quarantining ([#​8320](DataDog/dd-trace-java#8320) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Add tag to specify if the user is setting DD_SERVICE ([#​8318](DataDog/dd-trace-java#8318) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) ##### Crash tracking - ✨ Only fork jps when required ([#​8419](DataDog/dd-trace-java#8419) - [@​mcculls](https://github.com/mcculls)) - 🐛 Use Java home of the crashed process to launch crash uploader ([#​8348](DataDog/dd-trace-java#8348) - [@​jbachorik](https://github.com/jbachorik)) ##### Data Streams Monitoring - 🐛 Fix error happening when sqs message attributes are readonly ([#​8473](DataDog/dd-trace-java#8473) - [@​vandonr](https://github.com/vandonr)) - 🐛 Fix bug on proto schema extraction ([#​8403](DataDog/dd-trace-java#8403) - [@​vandonr](https://github.com/vandonr)) - 🐛 Fix service name overrides in consumers ([#​8387](DataDog/dd-trace-java#8387) - [@​piochelepiotr](https://github.com/piochelepiotr)) ##### Database Monitoring - ✨ Add DBMTracePreparedStatements to tracer configuration log ([#​8508](DataDog/dd-trace-java#8508) - [@​cecile75](https://github.com/cecile75)) ##### Dynamic Instrumentation - ✨ Look in another location for grpc service methods ([#​8468](DataDog/dd-trace-java#8468) - [@​evanchooly](https://github.com/evanchooly)) - 🐛 Fix Exception Replay with Lambda proxy classes ([#​8452](DataDog/dd-trace-java#8452) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Add code origin support for spring-webmvc ([#​8416](DataDog/dd-trace-java#8416) - [@​evanchooly](https://github.com/evanchooly)) - ✨ Add support for scanning jar from loaded class ([#​8370](DataDog/dd-trace-java#8370) - [@​jpbempel](https://github.com/jpbempel)) - 🐛 Disable capture of entry values ([#​8369](DataDog/dd-trace-java#8369) - [@​jpbempel](https://github.com/jpbempel)) - 🐛 Fix CodeOrigin for `@Trace` annotation ([#​8344](DataDog/dd-trace-java#8344) - [@​jpbempel](https://github.com/jpbempel)) - 🐛 Fix equals/hashCode for CodeOrigin probe ([#​8319](DataDog/dd-trace-java#8319) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Add code origin support to kafka message listeners ([#​8301](DataDog/dd-trace-java#8301) - [@​evanchooly](https://github.com/evanchooly)) ##### Metrics - ✨ Create metric: appsec.waf.error ([#​8381](DataDog/dd-trace-java#8381) - [@​sezen-datadog](https://github.com/sezen-datadog)) - ✨ Create metric: appsec.rasp.error ([#​8364](DataDog/dd-trace-java#8364) - [@​sezen-datadog](https://github.com/sezen-datadog)) ##### Profiling - ✨ Bump ddprof library to 1.22.0 ([#​8463](DataDog/dd-trace-java#8463) - [@​jbachorik](https://github.com/jbachorik)) - IBM J9 8u361 corresponds to OpenJDK 8u362 by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#187 - Fix compatibility with musl libc 1.2.4 by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#189 - Modify version extraction by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#179 - Do not write null values to jvminfo event by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#184 - Productize VMStructs-based stack walker by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#177 - A few minor downport issues by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#180 - Enable ASGCT by default on fairly safe J9 JDK versions by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#181 - 🐛 Exclude OrderedThreadPoolExecutor from queue-time measurements ([#​8456](DataDog/dd-trace-java#8456) - [@​jbachorik](https://github.com/jbachorik)) - ✨ Record JVM info on JVMs without JFR ([#​8431](DataDog/dd-trace-java#8431) - [@​jbachorik](https://github.com/jbachorik)) - 🐛 Actually use CleanupTask in TempLocationManager ([#​8420](DataDog/dd-trace-java#8420) - [@​mcculls](https://github.com/mcculls)) - ✨ Only fork jps when required ([#​8419](DataDog/dd-trace-java#8419) - [@​mcculls](https://github.com/mcculls)) - 🐛 Adjust JFR checks for J9 ([#​8405](DataDog/dd-trace-java#8405) - [@​jbachorik](https://github.com/jbachorik)) - 🧹 Disable smap RSS parsing by default ([#​8342](DataDog/dd-trace-java#8342) - [@​MattAlp](https://github.com/MattAlp)) ##### Telemetry - 🐛 Add support for JBoss jar:file format to DependencyResolver ([#​8428](DataDog/dd-trace-java#8428) - [@​jandro996](https://github.com/jandro996)) - ✨ Update metrics: appsec.waf.requests ([#​8353](DataDog/dd-trace-java#8353) - [@​Mariovido](https://github.com/Mariovido)) ##### Trace context propagation - ✨ Introduce tracing propagator ([#​8313](DataDog/dd-trace-java#8313) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) ##### Tracer core - 🐛 Fix Stable Config telemetry source names ([#​8460](DataDog/dd-trace-java#8460) - [@​BaptisteFoy](https://github.com/BaptisteFoy)) - ✨ Probe trace endpoints with a valid payload of empty arrays ([#​8414](DataDog/dd-trace-java#8414) - [@​mcculls](https://github.com/mcculls)) - ✨ Add 1 minute fail-safe to JUL/JMX class-loading callback ([#​8399](DataDog/dd-trace-java#8399) - [@​mcculls](https://github.com/mcculls)) - ✨ Migrate DSM injection calls to context-first APIs ([#​8383](DataDog/dd-trace-java#8383) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - 🧹 Move continuation capture methods from scope to tracer ([#​8371](DataDog/dd-trace-java#8371) - [@​mcculls](https://github.com/mcculls)) - ✨ Migrate context extraction calls to context-first APIs ([#​8368](DataDog/dd-trace-java#8368) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - 🧹 Migrate context injection calls to context-first APIs ([#​8358](DataDog/dd-trace-java#8358) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - 💡 Support reading configurations from files ([#​8338](DataDog/dd-trace-java#8338) - [@​mtoffl01](https://github.com/mtoffl01)) - 💡 Implementation of BaggagePropagator and BaggageContext ([#​8330](DataDog/dd-trace-java#8330) - [@​mhlidd](https://github.com/mhlidd)) - 🧹 Combine continuation implementations into one which supports multiple activations ([#​8324](DataDog/dd-trace-java#8324) - [@​mcculls](https://github.com/mcculls)) - ✨ Introduce tracing propagator ([#​8313](DataDog/dd-trace-java#8313) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - ✨ Remove old context propagation API ([#​8271](DataDog/dd-trace-java#8271) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) ##### Instrumentations ##### AWS Lambda instrumentation - 🐛 Send error message and stack to Lambda extension ([#​8417](DataDog/dd-trace-java#8417) - [@​nhulston](https://github.com/nhulston)) ##### AWS SDK instrumentation - 🐛 Fix error happening when sqs message attributes are readonly ([#​8473](DataDog/dd-trace-java#8473) - [@​vandonr](https://github.com/vandonr)) - 💡 Inject trace context into AWS Step Functions input ([#​7585](DataDog/dd-trace-java#7585) - [@​DylanLovesCoffee](https://github.com/DylanLovesCoffee)) ##### Core Java language instrumentation - ✨ Look in another location for grpc service methods ([#​8468](DataDog/dd-trace-java#8468) - [@​evanchooly](https://github.com/evanchooly)) - ✨ Add code origin support for spring-webmvc ([#​8416](DataDog/dd-trace-java#8416) - [@​evanchooly](https://github.com/evanchooly)) - 💡 Implementation of BaggagePropagator and BaggageContext ([#​8330](DataDog/dd-trace-java#8330) - [@​mhlidd](https://github.com/mhlidd)) - ✨ Add code origin support to kafka message listeners ([#​8301](DataDog/dd-trace-java#8301) - [@​evanchooly](https://github.com/evanchooly)) ##### gRPC instrumentation - ✨ Look in another location for grpc service methods ([#​8468](DataDog/dd-trace-java#8468) - [@​evanchooly](https://github.com/evanchooly)) ##### Kafka instrumentation - ✨ Add messaging.destination.name tag to kafka integrations ([#​8366](DataDog/dd-trace-java#8366) - [@​rarguelloF](https://github.com/rarguelloF)) ##### Protocol Buffer instrumentation - 🐛 Fix bug on proto schema extraction ([#​8403](DataDog/dd-trace-java#8403) - [@​vandonr](https://github.com/vandonr)) </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: 108a0f86aa59ab4c938cbac0688dd4c19cb301fa
What Does This Do
This PR migrates the
AgentPropagation
API call to the new context tracking API for context injection.Motivation
Migrate to context-first API and deprecate / remove the
AgentPropagation
.Additional Notes
Context extraction will be migrated in a following PR.
Simplification of carrier visitor / getter / setter will come in another PR.
Some injection calls will be simplified in a later PR with DSM propagator introduction.
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: [PROJ-IDENT]