Add support for SymDB to scan directories#8306
Conversation
When the location of loaded class is a directory (directory provided into the classpath or war extracted into a temp dir) we need to walk the directory for scanning class files. We avoid following the file link to prevent cycles.
| byte[] buffer, | ||
| SymDBReport symDBReport) { | ||
| try { | ||
| Files.walk(jarPath) |
There was a problem hiding this comment.
Should we limit this to some reasonable max value? I see that we're skipping links below, so this might not be necessary.
There was a problem hiding this comment.
By default the walk method is not following links, I have added filter on file, but I don't think this is necessary.
Debugger benchmarksParameters
See matching parameters
SummaryFound 0 performance improvements and 5 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 (303.497 µs) : 281, 326
. : milestone, 303,
basic (309.186 µs) : 301, 318
. : milestone, 309,
loop (10.155 ms) : 10118, 10193
. : milestone, 10155,
section candidate
noprobe (316.377 µs) : 272, 360
. : milestone, 316,
basic (307.519 µs) : 296, 319
. : milestone, 308,
loop (10.933 ms) : 10873, 10993
. : milestone, 10933,
|
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 51 metrics, 12 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.46.0-SNAPSHOT~4ae1066b89, baseline=1.46.0-SNAPSHOT~81a92e778d
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.047 s) : 0, 1047047
Total [baseline] (8.682 s) : 0, 8681944
Agent [candidate] (1.037 s) : 0, 1037422
Total [candidate] (8.633 s) : 0, 8633100
section iast
Agent [baseline] (1.17 s) : 0, 1169567
Total [baseline] (9.221 s) : 0, 9221291
Agent [candidate] (1.168 s) : 0, 1167895
Total [candidate] (9.21 s) : 0, 9209603
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.172 s) : 0, 1172101
Total [baseline] (9.273 s) : 0, 9273186
Agent [candidate] (1.166 s) : 0, 1165708
Total [candidate] (9.219 s) : 0, 9218699
section iast_TELEMETRY_OFF
Agent [baseline] (1.17 s) : 0, 1170341
Total [baseline] (9.212 s) : 0, 9211987
Agent [candidate] (1.163 s) : 0, 1163204
Total [candidate] (9.203 s) : 0, 9202830
gantt
title insecure-bank - break down per module: candidate=1.46.0-SNAPSHOT~4ae1066b89, baseline=1.46.0-SNAPSHOT~81a92e778d
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (717.551 ms) : 0, 717551
BytebuddyAgent [candidate] (713.698 ms) : 0, 713698
GlobalTracer [baseline] (242.581 ms) : 0, 242581
GlobalTracer [candidate] (239.917 ms) : 0, 239917
AppSec [baseline] (56.343 ms) : 0, 56343
AppSec [candidate] (55.575 ms) : 0, 55575
Remote Config [baseline] (741.693 µs) : 0, 742
Remote Config [candidate] (712.781 µs) : 0, 713
Telemetry [baseline] (14.507 ms) : 0, 14507
Telemetry [candidate] (12.329 ms) : 0, 12329
section iast
BytebuddyAgent [baseline] (834.213 ms) : 0, 834213
BytebuddyAgent [candidate] (832.943 ms) : 0, 832943
GlobalTracer [baseline] (231.058 ms) : 0, 231058
GlobalTracer [candidate] (231.016 ms) : 0, 231016
AppSec [baseline] (52.99 ms) : 0, 52990
AppSec [candidate] (52.326 ms) : 0, 52326
Remote Config [baseline] (618.302 µs) : 0, 618
Remote Config [candidate] (633.973 µs) : 0, 634
Telemetry [baseline] (8.807 ms) : 0, 8807
Telemetry [candidate] (8.801 ms) : 0, 8801
IAST [baseline] (26.588 ms) : 0, 26588
IAST [candidate] (26.981 ms) : 0, 26981
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (836.974 ms) : 0, 836974
BytebuddyAgent [candidate] (831.943 ms) : 0, 831943
GlobalTracer [baseline] (230.63 ms) : 0, 230630
GlobalTracer [candidate] (230.364 ms) : 0, 230364
AppSec [baseline] (53.171 ms) : 0, 53171
AppSec [candidate] (51.868 ms) : 0, 51868
Remote Config [baseline] (614.489 µs) : 0, 614
Remote Config [candidate] (606.032 µs) : 0, 606
Telemetry [baseline] (8.768 ms) : 0, 8768
Telemetry [candidate] (8.719 ms) : 0, 8719
IAST [baseline] (26.597 ms) : 0, 26597
IAST [candidate] (26.952 ms) : 0, 26952
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (835.135 ms) : 0, 835135
BytebuddyAgent [candidate] (829.069 ms) : 0, 829069
GlobalTracer [baseline] (231.527 ms) : 0, 231527
GlobalTracer [candidate] (230.223 ms) : 0, 230223
AppSec [baseline] (53.862 ms) : 0, 53862
AppSec [candidate] (53.404 ms) : 0, 53404
Remote Config [baseline] (623.271 µs) : 0, 623
Remote Config [candidate] (627.999 µs) : 0, 628
Telemetry [baseline] (8.604 ms) : 0, 8604
Telemetry [candidate] (8.664 ms) : 0, 8664
IAST [baseline] (25.261 ms) : 0, 25261
IAST [candidate] (25.92 ms) : 0, 25920
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.46.0-SNAPSHOT~4ae1066b89, baseline=1.46.0-SNAPSHOT~81a92e778d
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.04 s) : 0, 1039945
Total [baseline] (10.438 s) : 0, 10438426
Agent [candidate] (1.045 s) : 0, 1045275
Total [candidate] (10.463 s) : 0, 10462764
section appsec
Agent [baseline] (1.184 s) : 0, 1183980
Total [baseline] (10.724 s) : 0, 10723596
Agent [candidate] (1.181 s) : 0, 1181064
Total [candidate] (10.76 s) : 0, 10760136
section iast
Agent [baseline] (1.175 s) : 0, 1175429
Total [baseline] (10.964 s) : 0, 10964454
Agent [candidate] (1.17 s) : 0, 1170148
Total [candidate] (11.003 s) : 0, 11002563
section profiling
Agent [baseline] (1.273 s) : 0, 1273397
Total [baseline] (10.887 s) : 0, 10886988
Agent [candidate] (1.279 s) : 0, 1279028
Total [candidate] (10.915 s) : 0, 10915249
gantt
title petclinic - break down per module: candidate=1.46.0-SNAPSHOT~4ae1066b89, baseline=1.46.0-SNAPSHOT~81a92e778d
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (716.722 ms) : 0, 716722
BytebuddyAgent [candidate] (720.847 ms) : 0, 720847
GlobalTracer [baseline] (240.641 ms) : 0, 240641
GlobalTracer [candidate] (240.455 ms) : 0, 240455
AppSec [baseline] (55.239 ms) : 0, 55239
AppSec [candidate] (55.652 ms) : 0, 55652
Remote Config [baseline] (718.488 µs) : 0, 718
Remote Config [candidate] (725.636 µs) : 0, 726
Telemetry [baseline] (11.412 ms) : 0, 11412
Telemetry [candidate] (12.295 ms) : 0, 12295
section appsec
BytebuddyAgent [baseline] (735.38 ms) : 0, 735380
BytebuddyAgent [candidate] (732.28 ms) : 0, 732280
GlobalTracer [baseline] (237.708 ms) : 0, 237708
GlobalTracer [candidate] (237.74 ms) : 0, 237740
IAST [baseline] (21.499 ms) : 0, 21499
IAST [candidate] (21.477 ms) : 0, 21477
AppSec [baseline] (175.954 ms) : 0, 175954
AppSec [candidate] (176.093 ms) : 0, 176093
Remote Config [baseline] (653.998 µs) : 0, 654
Remote Config [candidate] (656.598 µs) : 0, 657
Telemetry [baseline] (8.263 ms) : 0, 8263
Telemetry [candidate] (8.316 ms) : 0, 8316
section iast
BytebuddyAgent [baseline] (839.157 ms) : 0, 839157
BytebuddyAgent [candidate] (834.152 ms) : 0, 834152
GlobalTracer [baseline] (231.775 ms) : 0, 231775
GlobalTracer [candidate] (231.082 ms) : 0, 231082
IAST [baseline] (26.438 ms) : 0, 26438
IAST [candidate] (26.494 ms) : 0, 26494
AppSec [baseline] (53.126 ms) : 0, 53126
AppSec [candidate] (53.548 ms) : 0, 53548
Remote Config [baseline] (620.281 µs) : 0, 620
Remote Config [candidate] (623.683 µs) : 0, 624
Telemetry [baseline] (8.822 ms) : 0, 8822
Telemetry [candidate] (8.973 ms) : 0, 8973
section profiling
BytebuddyAgent [baseline] (714.832 ms) : 0, 714832
BytebuddyAgent [candidate] (719.996 ms) : 0, 719996
GlobalTracer [baseline] (353.723 ms) : 0, 353723
GlobalTracer [candidate] (355.665 ms) : 0, 355665
AppSec [baseline] (55.608 ms) : 0, 55608
AppSec [candidate] (54.579 ms) : 0, 54579
Remote Config [baseline] (724.694 µs) : 0, 725
Remote Config [candidate] (707.215 µs) : 0, 707
Telemetry [baseline] (9.059 ms) : 0, 9059
Telemetry [candidate] (8.925 ms) : 0, 8925
ProfilingAgent [baseline] (96.604 ms) : 0, 96604
ProfilingAgent [candidate] (96.023 ms) : 0, 96023
Profiling [baseline] (96.628 ms) : 0, 96628
Profiling [candidate] (96.05 ms) : 0, 96050
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 13 metrics, 15 unstable metrics. Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~4ae1066b89, baseline=1.46.0-SNAPSHOT~81a92e778d
dateFormat X
axisFormat %s
section baseline
no_agent (1.357 ms) : 1337, 1376
. : milestone, 1357,
appsec (1.761 ms) : 1737, 1785
. : milestone, 1761,
appsec_no_iast (1.748 ms) : 1724, 1772
. : milestone, 1748,
iast (1.508 ms) : 1484, 1532
. : milestone, 1508,
profiling (1.516 ms) : 1491, 1541
. : milestone, 1516,
tracing (1.499 ms) : 1475, 1522
. : milestone, 1499,
section candidate
no_agent (1.361 ms) : 1341, 1380
. : milestone, 1361,
appsec (1.752 ms) : 1728, 1776
. : milestone, 1752,
appsec_no_iast (1.74 ms) : 1715, 1764
. : milestone, 1740,
iast (1.517 ms) : 1492, 1541
. : milestone, 1517,
profiling (1.498 ms) : 1475, 1522
. : milestone, 1498,
tracing (1.509 ms) : 1484, 1534
. : milestone, 1509,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~4ae1066b89, baseline=1.46.0-SNAPSHOT~81a92e778d
dateFormat X
axisFormat %s
section baseline
no_agent (380.101 µs) : 360, 400
. : milestone, 380,
iast (517.146 µs) : 494, 540
. : milestone, 517,
iast_FULL (748.372 µs) : 726, 771
. : milestone, 748,
iast_GLOBAL (555.692 µs) : 534, 577
. : milestone, 556,
iast_HARDCODED_SECRET_DISABLED (515.016 µs) : 492, 538
. : milestone, 515,
iast_INACTIVE (469.263 µs) : 448, 491
. : milestone, 469,
iast_TELEMETRY_OFF (497.569 µs) : 475, 521
. : milestone, 498,
tracing (461.234 µs) : 440, 482
. : milestone, 461,
section candidate
no_agent (385.047 µs) : 365, 405
. : milestone, 385,
iast (514.052 µs) : 491, 537
. : milestone, 514,
iast_FULL (748.831 µs) : 726, 772
. : milestone, 749,
iast_GLOBAL (559.304 µs) : 536, 583
. : milestone, 559,
iast_HARDCODED_SECRET_DISABLED (516.31 µs) : 493, 540
. : milestone, 516,
iast_INACTIVE (458.849 µs) : 437, 480
. : milestone, 459,
iast_TELEMETRY_OFF (498.214 µs) : 475, 521
. : milestone, 498,
tracing (453.66 µs) : 433, 474
. : milestone, 454,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics. Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~4ae1066b89, baseline=1.46.0-SNAPSHOT~81a92e778d
dateFormat X
axisFormat %s
section baseline
no_agent (14.817 s) : 14817000, 14817000
. : milestone, 14817000,
appsec (15.182 s) : 15182000, 15182000
. : milestone, 15182000,
iast (18.795 s) : 18795000, 18795000
. : milestone, 18795000,
iast_GLOBAL (17.977 s) : 17977000, 17977000
. : milestone, 17977000,
profiling (15.111 s) : 15111000, 15111000
. : milestone, 15111000,
tracing (14.969 s) : 14969000, 14969000
. : milestone, 14969000,
section candidate
no_agent (15.508 s) : 15508000, 15508000
. : milestone, 15508000,
appsec (15.104 s) : 15104000, 15104000
. : milestone, 15104000,
iast (18.818 s) : 18818000, 18818000
. : milestone, 18818000,
iast_GLOBAL (18.052 s) : 18052000, 18052000
. : milestone, 18052000,
profiling (15.817 s) : 15817000, 15817000
. : milestone, 15817000,
tracing (15.036 s) : 15036000, 15036000
. : milestone, 15036000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~4ae1066b89, baseline=1.46.0-SNAPSHOT~81a92e778d
dateFormat X
axisFormat %s
section baseline
no_agent (1.472 ms) : 1461, 1484
. : milestone, 1472,
appsec (2.374 ms) : 2331, 2418
. : milestone, 2374,
iast (2.123 ms) : 2068, 2179
. : milestone, 2123,
iast_GLOBAL (2.167 ms) : 2111, 2222
. : milestone, 2167,
profiling (1.991 ms) : 1946, 2036
. : milestone, 1991,
tracing (1.965 ms) : 1923, 2007
. : milestone, 1965,
section candidate
no_agent (1.477 ms) : 1466, 1489
. : milestone, 1477,
appsec (2.376 ms) : 2332, 2420
. : milestone, 2376,
iast (2.121 ms) : 2066, 2177
. : milestone, 2121,
iast_GLOBAL (2.172 ms) : 2116, 2228
. : milestone, 2172,
profiling (2.468 ms) : 2279, 2657
. : milestone, 2468,
tracing (1.949 ms) : 1907, 1992
. : milestone, 1949,
|
| 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 the location of loaded class is a directory (directory provided into the classpath or war extracted into a temp dir) we need to walk the directory for scanning class files.
We avoid following the file link to prevent cycles.
Motivation
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: [PROJ-IDENT]