1.60.0
·
358 commits
to master
since this release
Known Bugs
Warning
This version broke the OpenTelemetry instrumentation library support.
If you use this feature, please upgrade to the latest version.
Components
Application Security Management (WAF)
- 🐛 Forbidden attempt to set different raw URI for given request context - issue #10700 (#10709 - @jandro996)
- ✨🧪 Set sampling decision maker for AI Guard (#10702 - @smola)
- 🐛 Always collect response headers in span when AppSec is enabled (#10648 - @jandro996)
- ✨ Force manual keep of traces for AI Guard (#10625 - @smola)
- 🐛 Optimize AppSecRequestContext numeric conversion to eliminate exceptions on hot path (#10520 - @jandro996)
- ✨ Improve API Security sampling when tracers lack HTTP routes(#10424 - @jandro996)
- ✨ HTTP Endpoint Inference for Trace Resource Renaming (#10393 - @jandro996)
Configuration
Continuous Integration Visibility
- 🐛 Fix usage of deprecated field in AndroidGradleUtils (#10710 - @daniel-mohedano)
- 🧹 Refactor execution policies (#10676 - @daniel-mohedano)
- ✨ Add display name as parameter in JUnit5 dynamic tests (#10649 - @daniel-mohedano)
- ✨ Avoid computing merge base for PR info in DDCI legacy mode (#10624 - @daniel-mohedano)
- ✨⚡ Saving buildGitInfo lambda into a member variable (#10615 - @dougqh)
- ✨ Implement early exit for retry mechanisms (#10604 - @daniel-mohedano)
- 🐛 Validate path traversals in repo root (#10568 - @daniel-mohedano)
- ✨ Introduce pagination support for known tests API (#10536 - @daniel-mohedano)
- ✨ Create final status tag on test events (#10528 - @daniel-mohedano)
- ✨ Fix Job URL format for Github Actions (#10514 - @daniel-mohedano)
- ✨ Improve git security settings (#10486 - @daniel-mohedano)
Crash Tracking
- ✨ Preserve the function relative address when parsing a crash (#10544 - @amarziali)
- ✨ Add J9/OpenJ9 crash tracking support (#10496 - @jbachorik)
- ✨ Improve crashtracking payload and add build_id and relative address (#10469 - @amarziali)
Data Streams Monitoring
Database Monitoring
Dynamic Instrumentation
- 🐛 Fix race condition for Failed Test Replay (#10679 - @daniel-mohedano)
- 🐛 Fix Windows path parsing in JarScanner (#10664 - @tylfin)
- ✨ Refactor to store samplers inside probes (#10605 - @jpbempel)
- 🐛 Fix SymDB jar processing (#10592 - @jpbempel)
- ✨ Send debugger logs to DEBUGGER track (#10585 - @jpbempel)
- 🐛 Fix Capture Expression on primitives (#10549 - @jpbempel)
- 🐛 Add rate limit on span decoration probe errors (#10529 - @jpbempel)
- 🐛 Fix method parameters JVM bug (#10521 - @jpbempel)
- 🐛 Fix Capture Expressions support for multi-probes (#10519 - @jpbempel)
- 🐛 Fix Exception Replay in Lambda (#10505 - @jpbempel)
Profiling
- ✨ Bump aircompressor to 2.0.3 (#10673 - @jbachorik)
- 🐛 Disable jdk.CPUTimeSample when ddprof handles CPU profiling (#10634 - @jbachorik)
- ✨ Add JFR scrubbing before profile upload (#10577 - @jbachorik)
Trace context propagation
Tracer core
- ✨ Add manual service name source (#10704 - @amarziali)
- 🐛 Do not remove the version tag if manually set (#10703 - @amarziali)
- 🧹 Upgrade to jctools 4.0.6 (#10691 - @amarziali)
- ✨ Refine service name sources for configuration options (#10658 - @amarziali)
- ✨ Add service name source to trace stats (#10653 - @amarziali)
- ✨⚡ Creating HashingUtils as alternative to Objects.hash (#10628 - @dougqh)
- ✨ Track service name source (#10607 - @amarziali)
- 🐛 Make MemFDUnixWriterFFM compatible with early SegmentAllocator jdk implementations (#10602 - @amarziali)
- ⚡🧹 Remove use of AtomicReferenceArray in RadixTreeCache (#10600 - @mcculls)
- ✨ Propagate response body in case of non 200 status code. (#10593 - @AlexeyKuznetsov-DD)
- ✨ Update
jnr-unixsocketdependency to 0.38.24 (#10565 - @mcculls) - 🐛 Avoid potential
ConcurrentModificationExceptioninTunnelingJdkSocket(#10564 - @mcculls) - ✨ Add primitive versions of setMetric to DDSpanContext (#10516 - @dougqh)
- ✨⚡ Reuse SpanKind Entry in ClientDecorator (#10503 - @dougqh)
- ✨⚡ Reducing Allocation from GitInfo (#10498 - @dougqh)
- ✨⚡ Caching the primaryInstrumentationName (#10477 - @dougqh)
- ✨⚡ Adds methods for setting TagMap.Entry directly on AgentSpan/DDSpan (#10472 - @dougqh)
- 🐛 Remove RadixTreeCache for int status and protect httpStatus short cache (#10236 - @amarziali)
Tracer internal logging
Instrumentations
Apache Spark instrumentation
- ✨ Spark instrumentation: capture emr step id when spark runs as EMR step (#10670 - @aboitreaud)
- ✨ Initial spark launcher instrumentation (#10629 - @aboitreaud)
AWS Lambda instrumentation
Core Java language instrumentation
- 🐛 Fixed issue with recursive calls which can cause StackOverflowError. (#10535 - @AlexeyKuznetsov-DD)
- ✨⚡ Reuse TagMap.Entry objects in BaseDecorator (#10501 - @dougqh)
JDBC instrumentation
JMS instrumentation
Netty instrumentation
- 🐛 Track server context in netty4 instrumentation (#10556 - @mcculls)
- 🐛 Track server context in netty3 instrumentation (#10555 - @mcculls)
OpenTelemetry instrumentation
- ✨ Add DD_OTLP_METRICS_COMPRESSION setting and map OTel env-vars to it (#10680 - @mcculls)
- 💡 Implement OpenTelemetry Observable Metrics API (#10631 - @mcculls)
- 💡 Adjust OpenTelemetry metrics temporality according to global preference and instrument type (#10545 - @mcculls)
- 💡 Add support for
otel.java.metrics.cardinality.limitsystem property (#10541 - @mcculls) - 💡 Implement OpenTelemetry meter storage and aggregations (#10534 - @mcculls)
Play Framework instrumentation
Servlet instrumentation
- 🐛 Combine dispatch span with request context in generic Servlet3 advice (#10557 - @mcculls)
- ✨⚡ Reuse TagMap.Entry objects in BaseDecorator (#10501 - @dougqh)
- ✨⚡ Extracting span kind & language into static TagMap.Entry objects (#10495 - @dougqh)
- ✨⚡ Caching the primaryInstrumentationName (#10477 - @dougqh)
Synapse Instrumentation
- ✨ Fix Synapse passthru spans finishing before status code is available (#10478 - @ValentinZakharov)