-
Notifications
You must be signed in to change notification settings - Fork 293
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
Add Exception probe custom instrumentation #8230
Conversation
Debugger benchmarksParameters
See matching parameters
SummaryFound 4 performance improvements and 0 performance regressions! Performance is the same for 5 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 (326.46 µs) : 256, 397
. : milestone, 326,
basic (314.242 µs) : 301, 327
. : milestone, 314,
loop (10.513 ms) : 10409, 10617
. : milestone, 10513,
section candidate
noprobe (304.085 µs) : 281, 327
. : milestone, 304,
basic (310.483 µs) : 302, 319
. : milestone, 310,
loop (10.146 ms) : 10115, 10176
. : milestone, 10146,
|
BenchmarksStartupParameters
See matching parameters
SummaryFound 1 performance improvements and 7 performance regressions! Performance is the same for 50 metrics, 5 unstable metrics.
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.46.0-SNAPSHOT~abc89dcb05, baseline=1.46.0-SNAPSHOT~64e6e864bc
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.037 s) : 0, 1037294
Total [baseline] (10.478 s) : 0, 10478480
Agent [candidate] (1.056 s) : 0, 1056490
Total [candidate] (10.469 s) : 0, 10468746
section appsec
Agent [baseline] (1.185 s) : 0, 1184601
Total [baseline] (10.774 s) : 0, 10774063
Agent [candidate] (1.187 s) : 0, 1187134
Total [candidate] (10.779 s) : 0, 10778613
section iast
Agent [baseline] (1.166 s) : 0, 1166208
Total [baseline] (10.975 s) : 0, 10974755
Agent [candidate] (1.181 s) : 0, 1180651
Total [candidate] (10.918 s) : 0, 10917701
section profiling
Agent [baseline] (1.26 s) : 0, 1259810
Total [baseline] (10.882 s) : 0, 10881711
Agent [candidate] (1.254 s) : 0, 1253684
Total [candidate] (10.767 s) : 0, 10767385
gantt
title petclinic - break down per module: candidate=1.46.0-SNAPSHOT~abc89dcb05, baseline=1.46.0-SNAPSHOT~64e6e864bc
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (714.542 ms) : 0, 714542
BytebuddyAgent [candidate] (714.174 ms) : 0, 714174
GlobalTracer [baseline] (240.235 ms) : 0, 240235
GlobalTracer [candidate] (256.201 ms) : 0, 256201
AppSec [baseline] (55.451 ms) : 0, 55451
AppSec [candidate] (56.985 ms) : 0, 56985
Remote Config [baseline] (721.923 µs) : 0, 722
Remote Config [candidate] (751.513 µs) : 0, 752
Telemetry [baseline] (11.41 ms) : 0, 11410
Telemetry [candidate] (13.37 ms) : 0, 13370
section appsec
BytebuddyAgent [baseline] (736.82 ms) : 0, 736820
BytebuddyAgent [candidate] (730.95 ms) : 0, 730950
GlobalTracer [baseline] (237.437 ms) : 0, 237437
GlobalTracer [candidate] (252.422 ms) : 0, 252422
AppSec [baseline] (176.357 ms) : 0, 176357
AppSec [candidate] (170.387 ms) : 0, 170387
Remote Config [baseline] (665.134 µs) : 0, 665
Remote Config [candidate] (658.132 µs) : 0, 658
Telemetry [baseline] (8.513 ms) : 0, 8513
Telemetry [candidate] (8.09 ms) : 0, 8090
IAST [baseline] (19.544 ms) : 0, 19544
IAST [candidate] (19.379 ms) : 0, 19379
section iast
BytebuddyAgent [baseline] (832.826 ms) : 0, 832826
BytebuddyAgent [candidate] (830.651 ms) : 0, 830651
GlobalTracer [baseline] (229.456 ms) : 0, 229456
GlobalTracer [candidate] (245.915 ms) : 0, 245915
AppSec [baseline] (58.222 ms) : 0, 58222
AppSec [candidate] (58.165 ms) : 0, 58165
Remote Config [baseline] (651.844 µs) : 0, 652
Remote Config [candidate] (645.831 µs) : 0, 646
Telemetry [baseline] (8.75 ms) : 0, 8750
Telemetry [candidate] (8.685 ms) : 0, 8685
IAST [baseline] (21.309 ms) : 0, 21309
IAST [candidate] (21.581 ms) : 0, 21581
section profiling
ProfilingAgent [baseline] (95.881 ms) : 0, 95881
ProfilingAgent [candidate] (95.405 ms) : 0, 95405
BytebuddyAgent [baseline] (708.026 ms) : 0, 708026
BytebuddyAgent [candidate] (703.968 ms) : 0, 703968
GlobalTracer [baseline] (349.246 ms) : 0, 349246
GlobalTracer [candidate] (348.95 ms) : 0, 348950
AppSec [baseline] (54.911 ms) : 0, 54911
AppSec [candidate] (54.022 ms) : 0, 54022
Remote Config [baseline] (706.661 µs) : 0, 707
Remote Config [candidate] (710.508 µs) : 0, 711
Telemetry [baseline] (8.898 ms) : 0, 8898
Telemetry [candidate] (8.72 ms) : 0, 8720
Profiling [baseline] (95.905 ms) : 0, 95905
Profiling [candidate] (95.43 ms) : 0, 95430
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.46.0-SNAPSHOT~abc89dcb05, baseline=1.46.0-SNAPSHOT~64e6e864bc
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.036 s) : 0, 1035816
Total [baseline] (8.627 s) : 0, 8626569
Agent [candidate] (1.06 s) : 0, 1059977
Total [candidate] (8.671 s) : 0, 8671392
section iast
Agent [baseline] (1.169 s) : 0, 1168999
Total [baseline] (9.188 s) : 0, 9187730
Agent [candidate] (1.195 s) : 0, 1194858
Total [candidate] (9.208 s) : 0, 9207562
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.169 s) : 0, 1169101
Total [baseline] (9.157 s) : 0, 9157137
Agent [candidate] (1.182 s) : 0, 1181532
Total [candidate] (9.18 s) : 0, 9180282
section iast_TELEMETRY_OFF
Agent [baseline] (1.157 s) : 0, 1157459
Total [baseline] (9.175 s) : 0, 9175041
Agent [candidate] (1.178 s) : 0, 1178107
Total [candidate] (9.189 s) : 0, 9188602
gantt
title insecure-bank - break down per module: candidate=1.46.0-SNAPSHOT~abc89dcb05, baseline=1.46.0-SNAPSHOT~64e6e864bc
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (714.979 ms) : 0, 714979
BytebuddyAgent [candidate] (718.336 ms) : 0, 718336
GlobalTracer [baseline] (238.139 ms) : 0, 238139
GlobalTracer [candidate] (256.631 ms) : 0, 256631
AppSec [baseline] (55.013 ms) : 0, 55013
AppSec [candidate] (55.56 ms) : 0, 55560
Remote Config [baseline] (713.537 µs) : 0, 714
Remote Config [candidate] (737.492 µs) : 0, 737
Telemetry [baseline] (11.992 ms) : 0, 11992
Telemetry [candidate] (13.612 ms) : 0, 13612
section iast
BytebuddyAgent [baseline] (836.434 ms) : 0, 836434
BytebuddyAgent [candidate] (841.102 ms) : 0, 841102
GlobalTracer [baseline] (228.759 ms) : 0, 228759
GlobalTracer [candidate] (248.595 ms) : 0, 248595
AppSec [baseline] (58.046 ms) : 0, 58046
AppSec [candidate] (58.491 ms) : 0, 58491
IAST [baseline] (21.211 ms) : 0, 21211
IAST [candidate] (21.854 ms) : 0, 21854
Remote Config [baseline] (650.22 µs) : 0, 650
Remote Config [candidate] (698.156 µs) : 0, 698
Telemetry [baseline] (8.813 ms) : 0, 8813
Telemetry [candidate] (8.937 ms) : 0, 8937
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (835.715 ms) : 0, 835715
BytebuddyAgent [candidate] (831.494 ms) : 0, 831494
GlobalTracer [baseline] (229.377 ms) : 0, 229377
GlobalTracer [candidate] (245.833 ms) : 0, 245833
AppSec [baseline] (58.158 ms) : 0, 58158
AppSec [candidate] (58.151 ms) : 0, 58151
IAST [baseline] (21.438 ms) : 0, 21438
IAST [candidate] (21.549 ms) : 0, 21549
Remote Config [baseline] (651.386 µs) : 0, 651
Remote Config [candidate] (661.714 µs) : 0, 662
Telemetry [baseline] (8.756 ms) : 0, 8756
Telemetry [candidate] (8.787 ms) : 0, 8787
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (827.223 ms) : 0, 827223
BytebuddyAgent [candidate] (828.858 ms) : 0, 828858
GlobalTracer [baseline] (227.836 ms) : 0, 227836
GlobalTracer [candidate] (245.933 ms) : 0, 245933
AppSec [baseline] (57.575 ms) : 0, 57575
AppSec [candidate] (58.057 ms) : 0, 58057
IAST [baseline] (20.76 ms) : 0, 20760
IAST [candidate] (21.005 ms) : 0, 21005
Remote Config [baseline] (651.788 µs) : 0, 652
Remote Config [candidate] (661.084 µs) : 0, 661
Telemetry [baseline] (8.482 ms) : 0, 8482
Telemetry [candidate] (8.657 ms) : 0, 8657
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~abc89dcb05, baseline=1.46.0-SNAPSHOT~64e6e864bc
dateFormat X
axisFormat %s
section baseline
no_agent (382.175 µs) : 362, 402
. : milestone, 382,
iast (507.449 µs) : 484, 531
. : milestone, 507,
iast_FULL (736.259 µs) : 714, 759
. : milestone, 736,
iast_GLOBAL (556.754 µs) : 533, 580
. : milestone, 557,
iast_HARDCODED_SECRET_DISABLED (504.115 µs) : 481, 527
. : milestone, 504,
iast_INACTIVE (455.584 µs) : 434, 477
. : milestone, 456,
iast_TELEMETRY_OFF (495.78 µs) : 473, 519
. : milestone, 496,
tracing (449.445 µs) : 429, 470
. : milestone, 449,
section candidate
no_agent (378.703 µs) : 358, 399
. : milestone, 379,
iast (502.59 µs) : 481, 524
. : milestone, 503,
iast_FULL (742.592 µs) : 721, 764
. : milestone, 743,
iast_GLOBAL (550.574 µs) : 529, 573
. : milestone, 551,
iast_HARDCODED_SECRET_DISABLED (503.402 µs) : 482, 525
. : milestone, 503,
iast_INACTIVE (462.544 µs) : 440, 485
. : milestone, 463,
iast_TELEMETRY_OFF (496.184 µs) : 474, 518
. : milestone, 496,
tracing (449.977 µs) : 429, 471
. : milestone, 450,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~abc89dcb05, baseline=1.46.0-SNAPSHOT~64e6e864bc
dateFormat X
axisFormat %s
section baseline
no_agent (1.349 ms) : 1330, 1369
. : milestone, 1349,
appsec (1.765 ms) : 1742, 1789
. : milestone, 1765,
appsec_no_iast (1.756 ms) : 1731, 1781
. : milestone, 1756,
iast (1.49 ms) : 1466, 1513
. : milestone, 1490,
profiling (1.51 ms) : 1486, 1533
. : milestone, 1510,
tracing (1.503 ms) : 1478, 1528
. : milestone, 1503,
section candidate
no_agent (1.35 ms) : 1331, 1370
. : milestone, 1350,
appsec (1.751 ms) : 1726, 1777
. : milestone, 1751,
appsec_no_iast (1.767 ms) : 1742, 1792
. : milestone, 1767,
iast (1.524 ms) : 1500, 1548
. : milestone, 1524,
profiling (1.523 ms) : 1500, 1546
. : milestone, 1523,
tracing (1.502 ms) : 1478, 1526
. : 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 tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~abc89dcb05, baseline=1.46.0-SNAPSHOT~64e6e864bc
dateFormat X
axisFormat %s
section baseline
no_agent (1.473 ms) : 1461, 1484
. : milestone, 1473,
appsec (2.361 ms) : 2318, 2404
. : milestone, 2361,
iast (2.112 ms) : 2058, 2167
. : milestone, 2112,
iast_GLOBAL (2.153 ms) : 2097, 2208
. : milestone, 2153,
profiling (1.975 ms) : 1930, 2019
. : milestone, 1975,
tracing (1.954 ms) : 1911, 1996
. : milestone, 1954,
section candidate
no_agent (1.477 ms) : 1465, 1488
. : milestone, 1477,
appsec (2.365 ms) : 2321, 2408
. : milestone, 2365,
iast (2.103 ms) : 2048, 2157
. : milestone, 2103,
iast_GLOBAL (2.152 ms) : 2097, 2207
. : milestone, 2152,
profiling (1.988 ms) : 1943, 2033
. : milestone, 1988,
tracing (1.957 ms) : 1915, 2000
. : milestone, 1957,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~abc89dcb05, baseline=1.46.0-SNAPSHOT~64e6e864bc
dateFormat X
axisFormat %s
section baseline
no_agent (15.511 s) : 15511000, 15511000
. : milestone, 15511000,
appsec (14.851 s) : 14851000, 14851000
. : milestone, 14851000,
iast (19.003 s) : 19003000, 19003000
. : milestone, 19003000,
iast_GLOBAL (17.856 s) : 17856000, 17856000
. : milestone, 17856000,
profiling (15.287 s) : 15287000, 15287000
. : milestone, 15287000,
tracing (14.751 s) : 14751000, 14751000
. : milestone, 14751000,
section candidate
no_agent (15.002 s) : 15002000, 15002000
. : milestone, 15002000,
appsec (15.204 s) : 15204000, 15204000
. : milestone, 15204000,
iast (18.985 s) : 18985000, 18985000
. : milestone, 18985000,
iast_GLOBAL (18.179 s) : 18179000, 18179000
. : milestone, 18179000,
profiling (15.047 s) : 15047000, 15047000
. : milestone, 15047000,
tracing (14.868 s) : 14868000, 14868000
. : milestone, 14868000,
|
ExceptionProbeStatus exceptionStatus; | ||
if (status instanceof ExceptionProbeStatus) { | ||
exceptionStatus = (ExceptionProbeStatus) status; | ||
exceptionStatus.setCapture(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.
why set false here?
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.
because by default the status is capture true (for the entry part) then when evaluating it is turned to false until it reached the end of evaluation and this is the exception that we need to report
When there is only exception probes at a specific ode location we strip down the instrumentation to only capture values inside the catch (when an exception happens). this way, in normal execution no overhead is pay for an exception probe
7ab6064
to
abc89dc
Compare
| 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
When there is only exception probes at a specific ode location we strip down the instrumentation to only capture values inside the catch (when an exception happens). this way, in normal execution no overhead is pay for an exception probe
Motivation
Decrease overhead for exception probes when no exception
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-3348