Releases: DataDog/dd-trace-java
1.50.0
Deprecation Notice
Note
DD_RUNTIME_ID_ENABLED
has been deprecated and will be removed in future releases. Please use DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED
instead.
Components
Application Security Management (WAF)
- 🐛 Add String length truncation limit to ObjectIntrospector and update truncation metrics (#8825 - @jandro996)
- 🐛 Adapt standalone ASM to support API Security (#8804 - @jandro996)
- ✨ Add appsec.waf.input_truncated metric (#8791 - @jandro996)
- ✨ Extended appsec request body collection (#8748 - @jandro996)
- ✨ Extended appsec request/response headers collection (#8724 - @jandro996)
Build & Tooling
- ✨ Add artifacts to public s3 bucket (#8947 - @randomanderson)
Continuous Integration Visibility
- ✨ Improve PR information building (#8908 - @daniel-mohedano)
- ✨ Truncate span stack traces when Test Optimization is enabled (#8903 - @nikita-tkachenko-datadog)
- 🐛 Ensure auto-detected service name is the same for every process in the same build (#8902 - @nikita-tkachenko-datadog)
- 🐛 Use tag as fallback in api requests if no branch is available (#8876 - @daniel-mohedano)
- ✨ Add support for JUnit 5.13-RC1 (#8865, #8871 - @daniel-mohedano)
- ✨ Implement attempt to fix v3 and v4 and bump capability version (#8824 - @daniel-mohedano)
- 🧹 Align retry logic for all test framework instrumentations (#8803 - @daniel-mohedano)
- 🐛 Always build ci workspace without trailing separator (#8788 - @daniel-mohedano)
- ✨ Add commit discrepancies telemetry when building repository git information (#8763 - @daniel-mohedano)
Data Streams Monitoring
- 💡 Surface process tags in dsm payloads and use them for base hash calculation (#8836 - @amarziali)
Dynamic Instrumentation
- ✨ Optimized allocations for collection filter functions (#8896 - @jpbempel)
- 🐛 Fix SymDB upload size check (#8887 - @jpbempel)
- 🐛 Add support for Set in filter function (#8873 - @jpbempel)
- 🐛 Add support for isDefined in log template (#8859 - @jpbempel)
- 🐛 Fix Max captured frames for Exception Replay (#8856 - @jpbempel)
- 🐛 Remove static inherited fields collection (#8832 - @jpbempel)
- 💡 Add process tags to dynamic instrumentation intake payload (#8779 - @amarziali)
GraalVM native-image
- ✨ Add support for GraalVM Native GC metrics (#8913 - @ygree)
- ✨ Add JMXFetch support for GraalVM Native (#8569 - @ygree)
JMX fetch
Library Injection
OpenTracing
Profiling
- ✨ Bump ddprof to 1.27.0 (#8893 - @jbachorik)
- Properly handle the adaptive sampling interval overflow by @jbachorik in DataDog/java-profiler#213
- Fix #200 Crash related to aligned_alloc and free in context by @yanglong1010 in DataDog/java-profiler#208
- Explicitly initialize empty context page by @jbachorik in DataDog/java-profiler#210
- Re-connect crash recursion protection with VM stackwalker by @jbachorik in DataDog/java-profiler#214
- ✨ Enable ZSTD compression for profiling (#8862 - @MattAlp)
- ✨ Extend JPS re-implementation to J9 family (#8813 - @MattAlp)
- 💡 Collect process tags for profiling upload requests (#8780 - @amarziali)
Telemetry
- 💡 Surface process tags on telemetry payloads (#8837 - @amarziali)
Trace context propagation
- ✨ Migrating all HttpClient Instrumentations to Inject Full Context (#8826 - @mhlidd)
- ✨ Migrating all HttpServer Instrumentations to Extract full Context (#8820 - @mhlidd)
- ✨ Add context API support OTel propagators (#8770 - @PerfectSlayer)
Tracer core
- ✨⚡ Skip JAXB generated classes classloader (#9003 - @bric3)
- ✨ Add DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED alias for runtime id generation (#8981 - @amarziali)
- 🐛 Use resolved address for peer.hostname when available without hitting the cache (#8915 - @amarziali)
- 💡 Surface server name process tag for tomcat (#8894 - @amarziali)
- 💡 Surface websphere cell and server name on process tags (#8880 - @amarziali)
- ✨ Added special lightweight pre-main class that skips installation on incompatible JVMs. (#8855 - @AlexeyKuznetsov-DD)
- 💡 Add entrypoint type to process tags (#8839 - @amarziali)
- ✨ Extend JPS re-implementation to J9 family (#8813 - @MattAlp)
- ✨ Notify listeners when the scope top changes after switching scope stacks (#8797 - @mcculls)
- ✨ Read hsperfdata for Java PIDs if jvmstat is unavailable (#8792 - @MattAlp)
- 🐛 Turn JDK socket support on by default (#8752 - @sarahchen6)
- ✨ Simplify context propagation (#8719 - @PerfectSlayer)
- ✨ Add JSON parsing support (#8579 - @PerfectSlayer)
Tracer internal logging
Tracer public API
- 💡 Track the source of installation (#8956 - @mabdinur)
- ✨ Enforce size limit on application_monitoring.yaml files (#8789 - @mtoffl01)
- ✨ Enabling baggage cache to support limits and non-ascii characters (#8713 - @mhlidd)
Instrumentations
AWS Lambda instrumentation
Core Java language instrumentation
- ✨ Ensure ClassloadingInstrumentation is always applied even with
DD_TRACE_ENABLED=false
(#8863 - @mcculls)
Eclipse Vert.x instrumentation
IBM Liberty
- 🐛 Fix error mark on http status for IBM liberty (#8822 - @amarziali)
JDBC instrumentation
- 🐛 Do not prepend DBM <> APM trace comment in SQLCommenter if there is a pg plan hint (#8864 - @edengorevoy)
JMS instrumentation
Kotlin instrumentation
- ✨ Enable kotlin_coroutine integration by default (#8848 - @mcculls)
- 🧹 Rework Kotlin coroutines instrumentation around coroutine context (#8774 - @mcculls)
OpenTelemetry instrumentation
- 🐛 Support WithSpan inheritContext attribute (#8858 - @amarziali)
- ✨ Add context API support OTel propagators (#8770 - @PerfectSlayer)
Play Framework instrumentation
- 🐛 Fix the Play Framework's span resource name priority so that the client JAX-RS 404 cannot override it (#8591 - @ygree)
Quarkus Instrumentation
- 🐛 Ignore quarkus jaxrs stubs and cdi wrapper proxies (#8891 - @amarziali)
ServiceTalk
Spring instrumentation
WebSocket Instrumentation
- 💡 Trace websocket for spring webflux reactive handlers (#8831 - @amarziali)
- 💡🧪 WebSocket support for Netty (#8632 - @ValentinZakharov)
Zio Instrumentation
1.49.0
Components
Configuration at Runtime
- ✨ Add process tags as list to remote config payload (#8705 - @amarziali)
Continuous Integration Visibility
- 🐛 Add span propagation for Pekko scheduled tasks (#8765 - @nikita-tkachenko-datadog)
- ✨ Update test.retry_reason to use full name of the feature (#8689 - @daniel-mohedano)
- 🧹 Remove unused TestEventsHandler methods (#8674 - @nikita-tkachenko-datadog)
Dynamic Instrumentation
- 🐛 Fix exclude identifiers normalization (#8742 - @jpbempel)
- ✨ Make source file tracking asynchronous (#8684 - @jpbempel)
- ✨ Add scope filtering for symbol extraction (#8676 - @jpbempel)
- ✨ Add support for @key and @value for Map filtering (#8669 - @jpbempel)
Library Injection
- ✨ Add system property to force injection of the tracing library even though multiple javaagents have been detected (#8697 - @cecile75)
Metrics
- ✨ Allow dogstatsd port to be configurable with DD_DOGSTATSD_PORT (#8693 - @randomanderson)
Profiling
- ✨ Bump ddprof-java to 1.25.1 (#8750 - @jbachorik)
- 🐛 Remove cleanup-on-shutdown for temporary files (#8746 - @jbachorik)
- ✨⚡ Replace a regex-based SMAP parser with a hand-crafted one (#8730 - @jbachorik)
- ✨ Improve error reporting on profiler startup (#8714 - @jbachorik)
- ✨ Exclude ProxyLeakTask exception from exception profiling (#8666 - @jbachorik)
- ✨ Use jvmstat for JDKs 9+ programmatically (#8641 - @MattAlp)
Telemetry
- ✨ Allow dogstatsd port to be configurable with DD_DOGSTATSD_PORT (#8693 - @randomanderson)
- 🐛 Fix appsec.waf.requests telemetry metric (#8644 - @jandro996)
Tracer core
- ✨ Exclude jackson afterburner dynamic classes from instrumentation (#8747 - @amarziali)
- ✨ Introduce Java 8 bytecode bridge for instrumentation API (#8736 - @PerfectSlayer)
- ⚡🧹 Use byte-buddy classes optimized for Java8+ (#8735 - @mcculls)
- 🐛 Do not set the hibernate or datanucleus span service name when disabled (#8727 - @ygree)
- ✨ Update bytebuddy and ASM to support JDK 24 (#8720 - @sarahchen6)
- 🐛 Turn off JDK socket support by default (#8715 - @mcculls)
- 🐛 Log warning when trace buffer overflow occurs (#8712 - @ygree)
- ✨🧪 Introducing an internal integration name (#8708 - @amarziali)
- ✨ Add process tags to client stats payload (#8704 - @amarziali)
- ✨ Collect process tags for tracing (#8698 - @amarziali)
- ✨ Stable Config file: target system properties in process_arguments and support template variables in YamlParser (#8690 - @mtoffl01)
- ✨⚡ Use prefix trie for proxy ignores (#8678 - @amarziali)
- ✨ Allow agent to be automatically injected when running aside Log4J patch agent (#8648 - @paullegranddc)
- ✨ Use jvmstat for JDKs 9+ programmatically (#8641 - @MattAlp)
Tracer internal logging
- 🐛 Delete print line (#8686 - @sarahchen6)
Instrumentations
Akka instrumentation
Apache Spark instrumentation
- ✨ Use OpenLineage root parent information to generate trace id (#8726 - @mobuchowski)
- ✨ Spark job cancellation no longer marks application as failed (#8701 - @paul-laffon-dd)
JDBC instrumentation
- 💡 Add support for sybase tds jdbc driver (#8764 - @amarziali)
Kotlin instrumentation
Reactor instrumentation
- ✨⚡ Do not inspect reactor context when not needed (#8745 - @amarziali)
1.48.2
Components
Profiling
- 🐛 Bump ddprof-java to 1.24.0 (#8717 - @jbachorik)
- Add diagnostic counters for some failed unwinds by @jbachorik in DataDog/java-profiler#202
- Add profiler counters for time spent in stack unwinding by @bric3 in DataDog/java-profiler#195
- Increase number of reserved frames (cherry-pick 6c0aff4) by @MattAlp in DataDog/java-profiler#206
- Dwarf and JVMFlag related downports by @jbachorik in DataDog/java-profiler#204
Tracer core
Instrumentations
Akka instrumentation
1.48.1
Known Bugs
Note
If you are experiencing issues with unbounded file-descriptor growth, please update to the latest version or set DD_JDK_SOCKET_ENABLED to false.
Components
Tracer internal logging
- 🐛 Remove print line causing unnecessary logs (#8687 - @sarahchen6)
1.48.0
Known Bugs
Note
If you are experiencing issues with unbounded file-descriptor growth or spamming timeout logs, please update to the latest version or set DD_JDK_SOCKET_ENABLED to false.
Components
Application Security Management (IAST)
- ✨ Fix vulnerability location org.jose4j.lang.HashUtil (#8610 - @jandro996)
- ✨ Fix weak randomness in oracle.ucp.util.OpaqueString (#8609 - @jandro996)
- ✨ Fix weak hash false positive in oracle.security.o5logon.O5Logon (#8608 - @jandro996)
- 🐛 Prevent before callsites targeting constructors in super calls (#8549 - @manuel-alvarez-alvarez)
Application Security Management (WAF)
- ✨ Update login events public SDK to V2 (#8620 - @manuel-alvarez-alvarez)
- 🐛 Send RASP LFI capability only when AppSec is statically enabled (#8573 - @jandro996)
- ✨ Improve detection of missing request end events (#8510 - @smola)
- 🧹 Remove remote configuration for API Security sampling rate (#8486 - @smola)
- ✨ Add setUser to user monitoring SDK (#8482 - @manuel-alvarez-alvarez)
- ✨ Add missing address for signup event (#8469 - @manuel-alvarez-alvarez)
- ✨ Allow login events SDK to be used with appsec disabled (#8464 - @manuel-alvarez-alvarez)
- ✨ Add support for endpoint discovery in spring mvc (#8352 - @manuel-alvarez-alvarez)
- ✨ New API Security sampling algorithm (#8178 - @ValentinZakharov)
Build & Tooling
- ✨ Add buffer size customizability to JDK UDS support (#8629 - @sarahchen6)
- ✨ Add JDK built-in support for UDS on Java 16+ (#8314 - @sarahchen6)
Configuration at Runtime
- 🐛 Send RASP LFI capability only when AppSec is statically enabled (#8573 - @jandro996)
Continuous Integration Visibility
- 🐛 Prevent double reporting of Scalatest events when using SBT with test forking (#8682 - @nikita-tkachenko-datadog)
- 🐛 Shutdown CI Visibility test event handlers before tracer (#8677 - @nikita-tkachenko-datadog)
- 🐛 Do not apply JUnit 4 instrumentation to MUnit runners (#8675, #8683 - @nikita-tkachenko-datadog)
- ✨ Remove error log when source path resolution fails on isModified check (#8663 - @daniel-mohedano)
- ✨ Implement tests reordering for JUnit 4 (#8650 - @daniel-mohedano)
- 🐛 Set default Attempt to Fix retries if none provided from the backend (#8615 - @daniel-mohedano)
- ✨ Allow to manually set PR info (#8566 - @nikita-tkachenko-datadog)
- 🐛 Fix Test Optimization init when repo root cannot be determined (#8533 - @nikita-tkachenko-datadog)
- ✨ Add capabilities tagging (#8499, #8540 - @daniel-mohedano)
Crash tracking
- 🐛 Remove dependency on bash from crash/oome uploder scripts (#8652 - @jbachorik)
Data Streams Monitoring
Dynamic Instrumentation
- 🐛 Fix In-Product when config is empty (#8679 - @jpbempel)
- ✨ Add support for filtering shaded third-party libs (#8612 - @jpbempel)
- ✨ Add In-Product Enablement (#8587 - @jpbempel)
- ✨⚡ Reduce footprint of SourceFile tracking (#8524 - @jpbempel)
- ✨⚡ Optimize the SourceFile tracking (#8520 - @jpbempel)
OpenTracing
Profiling
-
✨ Add profiler env check command to AgentCLI (#8671 - @jbachorik)
-
✨ Bump ddprof to 1.23.0 (#8668 - @jbachorik)
- Fix a crash related to ElfParser::loadSymbolTable (#191) by @yanglong1010 in DataDog/java-profiler#192
- Unwind String.indexOf intrinsic on AArch64 by @MattAlp in DataDog/java-profiler#193
- Fix Java 24 support by @jbachorik in DataDog/java-profiler#194
- A set of fixes related to clang, aarch64 and musl pecularities of vmstructs stack unwinder by @jbachorik in DataDog/java-profiler#199
-
🐛 Remove process information from JFR recording (#8661 - @r1viollet)
-
🐛 Make TempLocationManager USER aware (#8605 - @jbachorik)
-
✨ Extract git tags from embedded git.properties and datadog_git.properties (#8561 - @wmouchere)
Telemetry
- 🐛 Fix appsec.rasp.error and appsec.waf.error telemetry metrics (#8624 - @jandro996)
- ✨ Create metric: appsec.rasp.rule.skipped (#8618 - @jandro996)
- ✨ Extract git tags from embedded git.properties and datadog_git.properties (#8561 - @wmouchere)
Testing
- 🧹 Simplify ssi tests one-pipeline (#8558 - @robertomonteromiguel)
- ✨ Add smoke tests for java's concurrent API (#8438 - @sarahchen6)
Trace context propagation
Tracer core
- 🐛 Ensure shaded helpers have unique names (#8559 - @amarziali)
- ✨ Support common config sources for user-provided git info (#8547 - @nikita-tkachenko-datadog)
- ✨ Make the default config sources more robust when a security manager is installed (#8544 - @mcculls)
- ✨ Support targeting services with configurations in stable configuration file (#8526 - @mtoffl01)
- ✨ Add new parser for
DD_TAGS
and prioritizingDD_SERVICE
(#8296 - @mhlidd)
Tracer internal logging
- 🐛 Add missing debug log for the cloudPayloadTaggingServices config (#8600 - @ygree)
- ✨ Add the possibility to output the logs of the Java tracer in JSON (#8083 - @cecile75)
Tracer public API
- ✨ Introducing
DD_TRACE_EXPERIMENTAL_FEATURES_ENABLED
Config (#8536 - @mhlidd) - ✨ Config Consistency Round 2 (#8489 - @mhlidd)
Instrumentations
Apache Spark instrumentation
- ✨ Instrument Runtime.exit() to finish spark application spans (#8572 - @paul-laffon-dd)
- ✨ Configure OpenLineage if present in Spark instrumentation (#8541 - @mobuchowski)
Armeria Instrumentation
- ✨ Support armeria grpc 1.32.3 (#8606 - @github-actions[bot])
AWS DynamoDB Instrumentation
- ✨ Create DynamoDB instrumentation + add span pointers for
updateItem
anddeleteItem
(#8490 - @nhulston)
AWS SDK instrumentation
- ✨ Add DynamoDB in DEFAULT_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES (#8595 - @joeyzhao2018)
Azure Functions instrumentation
- ✨ Enable tracer computed trace metrics by default for Azure Functions (#8518 - @duncanpharvey)
- 💡 Add azure-functions instrumentation (#8432 - @duncanpharvey)
Core Java language instrumentation
- 🐛 Fix ForkJoinPool.execute() instrumentation on Java 21+ (#8560 - @PerfectSlayer)
Eclipse Vert.x instrumentation
Kafka instrumentation
- ✨ Support and test kafka-clients 4 (#8581 - @amarziali)
Kotlin instrumentation
Log4j instrumentation
OpenTelemetry instrumentation
Spring instrumentation
- 🐛 Support CompletableFuture on spring webmvc controllers (#8659 - @amarziali)
- ✨ Add support for endpoint discovery in spring mvc (#8352 - @manuel-alvarez-alvarez)
WebSocket Instrumentation
- ✨ Instrument Jetty websocket pojo (#8562 - @amarziali)
- 💡 Instrument Java Websocket API (JSR356) (#8440 - @amarziali)
All other instrumentations
- ✨ Introduce cache for peer.hostname lookup (#8601 - @mcculls)
- ✨ Support pekko http 1.1 (#8532 - @amarziali)
1.47.3
1.47.2
Components
Application Security Management (IAST)
- 🐛 🍒 8549 - Prevent before callsites targeting constructors in super calls (#8582 - @manuel-alvarez-alvarez)
1.47.1
Components
Continuous Integration Visibility
- 🐛 🍒 8521 - Fix NPE when calculating code coverage for Gradle projects with non-standard directory layout (#8546 - @nikita-tkachenko-datadog)
Tracer core
1.47.0
Components
Application Security Management (IAST)
- 🐛 Exclude com.stripe.net.HttpURLConnectionClient to solve IAST SSRF vulnerability false positives (#8483 - @jandro996)
- 🐛 Add exclusion to solve IAST weak randomness vulnerability false positives (#8462 - @jandro996)
- ✨ Fix weak randomness false positive in Kafka client (#8408 - @smola)
- ✨ Fix location for SSRF with Kong Unirest (#8407 - @smola)
- ✨ Exclude IBM Instana from IAST (#8406 - @smola)
- 🐛 Fix org.json iast instrumentation test for latest dependency (#8347 - @jandro996)
- ✨ Configuration to Disable APM Tracing (#8219 - @jandro996)
- ✨ Address cookie vulnerability cardinality issues (#8210 - @jandro996)
- ✨ Email HTML Injection detection in IAST (#8205 - @sezen-datadog)
Application Security Management (WAF)
- 🐛✨ Ensure usr.exists tag is not overridden when UsernameNotFoundException is thrown (#8376 - @manuel-alvarez-alvarez)
- 🐛✨ Ensure usr.exists tag is not overridden by auto instrumentation (#8374 - @manuel-alvarez-alvarez)
- ✨ Update appsec metrics with event_rules_version tag (#8354 - @sezen-datadog)
- ✨ Update metrics: appsec.waf.requests (#8353 - @Mariovido)
- ✨ Improve ASM support in vert.x 5.0 (#8285 - @manuel-alvarez-alvarez)
- ✨ Update metrics: appsec.waf.updates and appsec.waf.init (#8280 - @Mariovido)
- ✨ Configuration to Disable APM Tracing (#8219 - @jandro996)
Build & Tooling
- 🐛 Do not generate Muzzle references for primitive arrays in method body (#8361 - @amarziali)
- 📖 Improve dev env setup documentation for Windows (#8180 - @lucaspimentel)
Continuous Integration Visibility
- ✨ Add support for skip-EFD tagging (#8487 - @nikita-tkachenko-datadog)
- 🐛 Fix an NPE in Gradle Android instrumentation (#8484 - @nikita-tkachenko-datadog)
- ✨ Consider modified tests when applying fail-fast tests ordering (#8474 - @nikita-tkachenko-datadog)
- ✨ Implement tests reordering for TestNG (#8467 - @nikita-tkachenko-datadog)
- 🐛 Fix Gradle Launcher instrumentation to not interfere with Gradle Test Kit (#8465 - @nikita-tkachenko-datadog)
- 🧹 Use separate TestEventHandlers per framework in CI Vis instrumentations (#8451 - @daniel-mohedano)
- ✨ Remove warning log when JUnit 4 test method cannot be retrieved (#8445 - @nikita-tkachenko-datadog)
- 🐛 Fix Scalatest tracing for tests that are reported asynchronously (#8444 - @nikita-tkachenko-datadog)
- ✨ Implement attempt to fix tests (#8393 - @daniel-mohedano)
- ✨ Implement test disabling (#8377 - @daniel-mohedano)
- ✨ Update CODEOWNERS parser to not log errors on comments with leading whitespace (#8349 - @nikita-tkachenko-datadog)
- ✨ Request Test Management tests list (#8345 - @daniel-mohedano)
- ✨ Receive test management settings from CIVis settings request (#8331 - @daniel-mohedano)
- ✨ Implement quarantined tests tagging (#8326 - @nikita-tkachenko-datadog)
- ✨ Implement tests quarantining (#8320 - @nikita-tkachenko-datadog)
- ✨ Add tag to specify if the user is setting DD_SERVICE (#8318 - @daniel-mohedano)
Crash tracking
- ✨ Only fork jps when required (#8419 - @mcculls)
- 🐛 Use Java home of the crashed process to launch crash uploader (#8348 - @jbachorik)
Data Streams Monitoring
- 🐛 Fix error happening when sqs message attributes are readonly (#8473 - @vandonr)
- 🐛 Fix bug on proto schema extraction (#8403 - @vandonr)
- 🐛 Fix service name overrides in consumers (#8387 - @piochelepiotr)
Database Monitoring
Dynamic Instrumentation
- ✨ Look in another location for grpc service methods (#8468 - @evanchooly)
- 🐛 Fix Exception Replay with Lambda proxy classes (#8452 - @jpbempel)
- ✨ Add code origin support for spring-webmvc (#8416 - @evanchooly)
- ✨ Add support for scanning jar from loaded class (#8370 - @jpbempel)
- 🐛 Disable capture of entry values (#8369 - @jpbempel)
- 🐛 Fix CodeOrigin for
@Trace
annotation (#8344 - @jpbempel) - 🐛 Fix equals/hashCode for CodeOrigin probe (#8319 - @jpbempel)
- ✨ Add code origin support to kafka message listeners (#8301 - @evanchooly)
Metrics
- ✨ Create metric: appsec.waf.error (#8381 - @sezen-datadog)
- ✨ Create metric: appsec.rasp.error (#8364 - @sezen-datadog)
Profiling
- ✨ Bump ddprof library to 1.22.0 (#8463 - @jbachorik)
- IBM J9 8u361 corresponds to OpenJDK 8u362 by @jbachorik in DataDog/java-profiler#187
- Fix compatibility with musl libc 1.2.4 by @jbachorik in DataDog/java-profiler#189
- Modify version extraction by @jbachorik in DataDog/java-profiler#179
- Do not write null values to jvminfo event by @jbachorik in DataDog/java-profiler#184
- Productize VMStructs-based stack walker by @jbachorik in DataDog/java-profiler#177
- A few minor downport issues by @jbachorik in DataDog/java-profiler#180
- Enable ASGCT by default on fairly safe J9 JDK versions by @jbachorik in DataDog/java-profiler#181
- 🐛 Exclude OrderedThreadPoolExecutor from queue-time measurements (#8456 - @jbachorik)
- ✨ Record JVM info on JVMs without JFR (#8431 - @jbachorik)
- 🐛 Actually use CleanupTask in TempLocationManager (#8420 - @mcculls)
- ✨ Only fork jps when required (#8419 - @mcculls)
- 🐛 Adjust JFR checks for J9 (#8405 - @jbachorik)
- 🧹 Disable smap RSS parsing by default (#8342 - @MattAlp)
Telemetry
- 🐛 Add support for JBoss jar:file format to DependencyResolver (#8428 - @jandro996)
- ✨ Update metrics: appsec.waf.requests (#8353 - @Mariovido)
Trace context propagation
- ✨ Introduce tracing propagator (#8313 - @PerfectSlayer)
Tracer core
- 🐛 Fix Stable Config telemetry source names (#8460 - @BaptisteFoy)
- ✨ Probe trace endpoints with a valid payload of empty arrays (#8414 - @mcculls)
- ✨ Add 1 minute fail-safe to JUL/JMX class-loading callback (#8399 - @mcculls)
- ✨ Migrate DSM injection calls to context-first APIs (#8383 - @PerfectSlayer)
- 🧹 Move continuation capture methods from scope to tracer (#8371 - @mcculls)
- ✨ Migrate context extraction calls to context-first APIs (#8368 - @PerfectSlayer)
- 🧹 Migrate context injection calls to context-first APIs (#8358 - @PerfectSlayer)
- 💡 Support reading configurations from files (#8338 - @mtoffl01)
- 💡 Implementation of BaggagePropagator and BaggageContext (#8330 - @mhlidd)
- 🧹 Combine continuation implementations into one which supports multiple activations (#8324 - @mcculls)
- ✨ Introduce tracing propagator (#8313 - @PerfectSlayer)
- ✨ Remove old context propagation API (#8271 - @PerfectSlayer)
Instrumentations
AWS Lambda instrumentation
AWS SDK instrumentation
- 🐛 Fix error happening when sqs message attributes are readonly (#8473 - @vandonr)
- 💡 Inject trace context into AWS Step Functions input (#7585 - @DylanLovesCoffee)
Core Java language instrumentation
- ✨ Look in another location for grpc service methods (#8468 - @evanchooly)
- ✨ Add code origin support for spring-webmvc (#8416 - @evanchooly)
- 💡 Implementation of BaggagePropagator and BaggageContext (#8330 - @mhlidd)
- ✨ Add code origin support to kafka message listeners (#8301 - @evanchooly)
gRPC instrumentation
- ✨ Look in another location for grpc service methods (#8468 - @evanchooly)
Kafka instrumentation
- ✨ Add messaging.destination.name tag to kafka integrations (#8366 - @rarguelloF)
Protocol Buffer instrumentation
1.46.1
Components
Dynamic Instrumentation
- 🐛 🍒 8344 - Fix CodeOrigin for @trace annotation (#8425 - @evanchooly)
- 🐛 🍒 8369 - Disable capture of entry values (#8424 - @evanchooly)
Other changes
Library Injection
- 🐛 Address partial library copy failures causing failed application startups in k8s.