-
Notifications
You must be signed in to change notification settings - Fork 292
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
Move Trace/SpanId capture at commit time #8184
Conversation
fb91cfc
to
e079d65
Compare
Debugger benchmarksParameters
See matching parameters
SummaryFound 5 performance improvements and 0 performance regressions! Performance is the same for 4 metrics, 6 unstable metrics.
See unchanged results
Request duration reports for reportsgantt
title reports - request duration [CI 0.99] : candidate=None, baseline=None
dateFormat X
axisFormat %s
section baseline
noprobe (315.058 µs) : 275, 355
. : milestone, 315,
basic (313.862 µs) : 304, 323
. : milestone, 314,
loop (11.028 ms) : 11017, 11038
. : milestone, 11028,
section candidate
noprobe (310.521 µs) : 271, 350
. : milestone, 311,
basic (313.797 µs) : 304, 324
. : milestone, 314,
loop (10.167 ms) : 10050, 10284
. : milestone, 10167,
|
BenchmarksStartupParameters
See matching parameters
SummaryFound 1 performance improvements and 0 performance regressions! Performance is the same for 58 metrics, 4 unstable metrics.
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.46.0-SNAPSHOT~1131b96154, baseline=1.46.0-SNAPSHOT~9b8eee7dae
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.055 s) : 0, 1055163
Total [baseline] (10.491 s) : 0, 10491030
Agent [candidate] (1.057 s) : 0, 1056899
Total [candidate] (10.461 s) : 0, 10461418
section appsec
Agent [baseline] (1.195 s) : 0, 1194545
Total [baseline] (10.702 s) : 0, 10701663
Agent [candidate] (1.191 s) : 0, 1191434
Total [candidate] (10.672 s) : 0, 10672380
section iast
Agent [baseline] (1.181 s) : 0, 1181044
Total [baseline] (11.004 s) : 0, 11004009
Agent [candidate] (1.189 s) : 0, 1188586
Total [candidate] (10.951 s) : 0, 10951467
section profiling
Agent [baseline] (1.27 s) : 0, 1270477
Total [baseline] (10.812 s) : 0, 10811509
Agent [candidate] (1.273 s) : 0, 1273138
Total [candidate] (10.853 s) : 0, 10852788
gantt
title petclinic - break down per module: candidate=1.46.0-SNAPSHOT~1131b96154, baseline=1.46.0-SNAPSHOT~9b8eee7dae
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (713.506 ms) : 0, 713506
BytebuddyAgent [candidate] (714.152 ms) : 0, 714152
GlobalTracer [baseline] (256.07 ms) : 0, 256070
GlobalTracer [candidate] (256.131 ms) : 0, 256131
AppSec [baseline] (56.983 ms) : 0, 56983
AppSec [candidate] (55.802 ms) : 0, 55802
Remote Config [baseline] (731.859 µs) : 0, 732
Remote Config [candidate] (716.988 µs) : 0, 717
Telemetry [baseline] (12.913 ms) : 0, 12913
Telemetry [candidate] (15.055 ms) : 0, 15055
section appsec
BytebuddyAgent [baseline] (735.569 ms) : 0, 735569
BytebuddyAgent [candidate] (732.98 ms) : 0, 732980
GlobalTracer [baseline] (254.238 ms) : 0, 254238
GlobalTracer [candidate] (253.82 ms) : 0, 253820
AppSec [baseline] (170.731 ms) : 0, 170731
AppSec [candidate] (170.601 ms) : 0, 170601
IAST [baseline] (19.415 ms) : 0, 19415
IAST [candidate] (19.304 ms) : 0, 19304
Remote Config [baseline] (668.216 µs) : 0, 668
Remote Config [candidate] (673.368 µs) : 0, 673
Telemetry [baseline] (8.551 ms) : 0, 8551
Telemetry [candidate] (8.59 ms) : 0, 8590
section iast
BytebuddyAgent [baseline] (830.608 ms) : 0, 830608
BytebuddyAgent [candidate] (835.559 ms) : 0, 835559
GlobalTracer [baseline] (246.618 ms) : 0, 246618
GlobalTracer [candidate] (248.224 ms) : 0, 248224
AppSec [baseline] (57.97 ms) : 0, 57970
AppSec [candidate] (58.594 ms) : 0, 58594
IAST [baseline] (21.407 ms) : 0, 21407
IAST [candidate] (21.588 ms) : 0, 21588
Remote Config [baseline] (667.847 µs) : 0, 668
Remote Config [candidate] (673.186 µs) : 0, 673
Telemetry [baseline] (8.785 ms) : 0, 8785
Telemetry [candidate] (8.818 ms) : 0, 8818
section profiling
BytebuddyAgent [baseline] (702.542 ms) : 0, 702542
BytebuddyAgent [candidate] (703.95 ms) : 0, 703950
GlobalTracer [baseline] (367.776 ms) : 0, 367776
GlobalTracer [candidate] (368.271 ms) : 0, 368271
AppSec [baseline] (53.885 ms) : 0, 53885
AppSec [candidate] (53.668 ms) : 0, 53668
Remote Config [baseline] (679.01 µs) : 0, 679
Remote Config [candidate] (696.698 µs) : 0, 697
Telemetry [baseline] (8.757 ms) : 0, 8757
Telemetry [candidate] (8.789 ms) : 0, 8789
ProfilingAgent [baseline] (94.939 ms) : 0, 94939
ProfilingAgent [candidate] (95.721 ms) : 0, 95721
Profiling [baseline] (94.963 ms) : 0, 94963
Profiling [candidate] (95.745 ms) : 0, 95745
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.46.0-SNAPSHOT~1131b96154, baseline=1.46.0-SNAPSHOT~9b8eee7dae
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.054 s) : 0, 1053928
Total [baseline] (8.621 s) : 0, 8620528
Agent [candidate] (1.054 s) : 0, 1053713
Total [candidate] (8.636 s) : 0, 8636038
section iast
Agent [baseline] (1.179 s) : 0, 1179448
Total [baseline] (9.211 s) : 0, 9210604
Agent [candidate] (1.18 s) : 0, 1179809
Total [candidate] (9.187 s) : 0, 9187176
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.185 s) : 0, 1185450
Total [baseline] (9.186 s) : 0, 9185862
Agent [candidate] (1.194 s) : 0, 1193686
Total [candidate] (9.176 s) : 0, 9175635
section iast_TELEMETRY_OFF
Agent [baseline] (1.181 s) : 0, 1180953
Total [baseline] (9.22 s) : 0, 9219899
Agent [candidate] (1.176 s) : 0, 1176309
Total [candidate] (9.189 s) : 0, 9189500
gantt
title insecure-bank - break down per module: candidate=1.46.0-SNAPSHOT~1131b96154, baseline=1.46.0-SNAPSHOT~9b8eee7dae
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (712.818 ms) : 0, 712818
BytebuddyAgent [candidate] (713.571 ms) : 0, 713571
GlobalTracer [baseline] (255.991 ms) : 0, 255991
GlobalTracer [candidate] (256.263 ms) : 0, 256263
AppSec [baseline] (55.819 ms) : 0, 55819
AppSec [candidate] (55.946 ms) : 0, 55946
Remote Config [baseline] (713.963 µs) : 0, 714
Remote Config [candidate] (712.288 µs) : 0, 712
Telemetry [baseline] (13.541 ms) : 0, 13541
Telemetry [candidate] (12.232 ms) : 0, 12232
section iast
BytebuddyAgent [baseline] (829.71 ms) : 0, 829710
BytebuddyAgent [candidate] (829.626 ms) : 0, 829626
GlobalTracer [baseline] (246.035 ms) : 0, 246035
GlobalTracer [candidate] (246.882 ms) : 0, 246882
AppSec [baseline] (57.774 ms) : 0, 57774
AppSec [candidate] (58.086 ms) : 0, 58086
IAST [baseline] (21.475 ms) : 0, 21475
IAST [candidate] (20.832 ms) : 0, 20832
Remote Config [baseline] (667.468 µs) : 0, 667
Remote Config [candidate] (659.624 µs) : 0, 660
Telemetry [baseline] (8.75 ms) : 0, 8750
Telemetry [candidate] (8.693 ms) : 0, 8693
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (833.003 ms) : 0, 833003
BytebuddyAgent [candidate] (840.411 ms) : 0, 840411
GlobalTracer [baseline] (247.394 ms) : 0, 247394
GlobalTracer [candidate] (249.075 ms) : 0, 249075
AppSec [baseline] (58.568 ms) : 0, 58568
AppSec [candidate] (58.457 ms) : 0, 58457
IAST [baseline] (21.856 ms) : 0, 21856
IAST [candidate] (21.227 ms) : 0, 21227
Remote Config [baseline] (687.696 µs) : 0, 688
Remote Config [candidate] (656.851 µs) : 0, 657
Telemetry [baseline] (8.893 ms) : 0, 8893
Telemetry [candidate] (8.76 ms) : 0, 8760
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (830.768 ms) : 0, 830768
BytebuddyAgent [candidate] (826.809 ms) : 0, 826809
GlobalTracer [baseline] (247.399 ms) : 0, 247399
GlobalTracer [candidate] (246.823 ms) : 0, 246823
AppSec [baseline] (57.676 ms) : 0, 57676
AppSec [candidate] (57.935 ms) : 0, 57935
IAST [baseline] (20.819 ms) : 0, 20819
IAST [candidate] (20.498 ms) : 0, 20498
Remote Config [baseline] (672.048 µs) : 0, 672
Remote Config [candidate] (631.704 µs) : 0, 632
Telemetry [baseline] (8.595 ms) : 0, 8595
Telemetry [candidate] (8.562 ms) : 0, 8562
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 17 unstable metrics. Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~1131b96154, baseline=1.46.0-SNAPSHOT~9b8eee7dae
dateFormat X
axisFormat %s
section baseline
no_agent (379.284 µs) : 359, 400
. : milestone, 379,
iast (495.676 µs) : 474, 517
. : milestone, 496,
iast_FULL (661.51 µs) : 640, 683
. : milestone, 662,
iast_GLOBAL (525.4 µs) : 503, 548
. : milestone, 525,
iast_HARDCODED_SECRET_DISABLED (498.118 µs) : 477, 520
. : milestone, 498,
iast_INACTIVE (460.972 µs) : 439, 483
. : milestone, 461,
iast_TELEMETRY_OFF (484.511 µs) : 463, 506
. : milestone, 485,
tracing (452.557 µs) : 431, 474
. : milestone, 453,
section candidate
no_agent (372.165 µs) : 352, 392
. : milestone, 372,
iast (500.658 µs) : 479, 523
. : milestone, 501,
iast_FULL (650.113 µs) : 628, 672
. : milestone, 650,
iast_GLOBAL (516.797 µs) : 495, 538
. : milestone, 517,
iast_HARDCODED_SECRET_DISABLED (499.112 µs) : 478, 521
. : milestone, 499,
iast_INACTIVE (453.496 µs) : 432, 475
. : milestone, 453,
iast_TELEMETRY_OFF (484.98 µs) : 464, 506
. : milestone, 485,
tracing (448.552 µs) : 428, 469
. : milestone, 449,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~1131b96154, baseline=1.46.0-SNAPSHOT~9b8eee7dae
dateFormat X
axisFormat %s
section baseline
no_agent (1.351 ms) : 1332, 1371
. : milestone, 1351,
appsec (1.749 ms) : 1726, 1773
. : milestone, 1749,
appsec_no_iast (1.729 ms) : 1703, 1754
. : milestone, 1729,
iast (1.487 ms) : 1464, 1510
. : milestone, 1487,
profiling (1.515 ms) : 1492, 1539
. : milestone, 1515,
tracing (1.489 ms) : 1464, 1514
. : milestone, 1489,
section candidate
no_agent (1.35 ms) : 1330, 1370
. : milestone, 1350,
appsec (1.748 ms) : 1724, 1772
. : milestone, 1748,
appsec_no_iast (1.761 ms) : 1737, 1786
. : milestone, 1761,
iast (1.507 ms) : 1484, 1530
. : milestone, 1507,
profiling (1.484 ms) : 1460, 1508
. : milestone, 1484,
tracing (1.473 ms) : 1448, 1498
. : milestone, 1473,
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~1131b96154, baseline=1.46.0-SNAPSHOT~9b8eee7dae
dateFormat X
axisFormat %s
section baseline
no_agent (15.602 s) : 15602000, 15602000
. : milestone, 15602000,
appsec (15.189 s) : 15189000, 15189000
. : milestone, 15189000,
iast (18.779 s) : 18779000, 18779000
. : milestone, 18779000,
iast_GLOBAL (17.723 s) : 17723000, 17723000
. : milestone, 17723000,
profiling (14.928 s) : 14928000, 14928000
. : milestone, 14928000,
tracing (14.838 s) : 14838000, 14838000
. : milestone, 14838000,
section candidate
no_agent (14.913 s) : 14913000, 14913000
. : milestone, 14913000,
appsec (14.974 s) : 14974000, 14974000
. : milestone, 14974000,
iast (18.974 s) : 18974000, 18974000
. : milestone, 18974000,
iast_GLOBAL (17.939 s) : 17939000, 17939000
. : milestone, 17939000,
profiling (15.152 s) : 15152000, 15152000
. : milestone, 15152000,
tracing (15.095 s) : 15095000, 15095000
. : milestone, 15095000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~1131b96154, baseline=1.46.0-SNAPSHOT~9b8eee7dae
dateFormat X
axisFormat %s
section baseline
no_agent (1.476 ms) : 1465, 1488
. : milestone, 1476,
appsec (2.375 ms) : 2331, 2418
. : milestone, 2375,
iast (2.117 ms) : 2062, 2171
. : milestone, 2117,
iast_GLOBAL (2.16 ms) : 2105, 2215
. : milestone, 2160,
profiling (1.985 ms) : 1941, 2029
. : milestone, 1985,
tracing (1.957 ms) : 1915, 2000
. : milestone, 1957,
section candidate
no_agent (1.476 ms) : 1465, 1488
. : milestone, 1476,
appsec (2.374 ms) : 2331, 2417
. : milestone, 2374,
iast (2.12 ms) : 2066, 2174
. : milestone, 2120,
iast_GLOBAL (2.162 ms) : 2107, 2217
. : milestone, 2162,
profiling (1.978 ms) : 1934, 2022
. : milestone, 1978,
tracing (1.958 ms) : 1916, 2000
. : milestone, 1958,
|
e079d65
to
d8705ab
Compare
capture of traceId/SpanId was directly instrumented. it means that every execution of the probe try to fetch from the span the traceId and the spanId with eventual conversion to make it a string. While in the end we may have a condition that is not met or the sampling does not generate a snapshot. which is wasteful. We just move the capture at the commit time when we are sure to send a snapshot with these information.
d8705ab
to
1131b96
Compare
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!
| 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
capture of traceId/SpanId was directly instrumented.
it means that every execution of the probe try to fetch from the span
the traceId and the spanId with eventual conversion to make it a
string. While in the end we may have a condition that is not met or
the sampling does not generate a snapshot. which is wasteful.
We just move the capture at the commit time when we are sure to send a
snapshot with these information.
Motivation
optimization
Additional Notes
Contributor Checklist
type:
and (comp:
orinst:
) labels in addition to any usefull labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: DEBUG-2550