Summary
With the release of Go 1.21, this dd-trace-go release drops support for Go version 1.18 and older, following our Go support policy. This minimum supported Go version for this library is now Go 1.19.
This release adds the contrib/IBM/sarama
package to support for tracing the IBM/sarama Kafka library.
The Data Streams Monitoring Go library has been incorporated into this library. The feature can be enabled by setting the DD_DATA_STREAMS_ENABLED
environment variable to true
.
This release introduces a debug mode for the tracer to help identify long-lived or abandoned spans, which can lead to increased memory usage. It can be enabled with the WithDebugSpansMode(true)
tracer option or by setting enviornment variable DD_TRACE_DEBUG_OPEN_SPANS=true
.
This release also includes several bug fixes and performance improvements:
- Fix a bug in
contrib/database/sql
which incorrectly cached contexts. - Resolve a data race in
contrib/net/http
. - Reduce the memory allocated during initialization of the
contrib/google.golang.org/api
package. - Improve the latency of W3C traceparent header validation.
Changes
General
- all: move to 1.19 for lowest supported version by @darccio in #2192
- datastreams: Port data-streams-go to dd-trace-go by @piochelepiotr in #2006
Application Performance Monitoring (APM)
- contrib/IBM/sarama: adds trace for IBM/sarama by @rodrigoff in #2142
- tracer: ease configuring client-side stats computation by @ahmed-mez in #2168
- contrib/database/sql: use correct context for trace tasks in statements by @nsrip-dd in #2173
- ddtrace/tracer: fix inaccurate telemetry 'stats_computation_enabled' by @ahmed-mez in #2170
- tracer: add test for logging 128-bit trace ids when upper bits are empty by @katiehockman in #2101
- tracer: only set drop priority on whole trace by @ajgajg1134 in #2176
- ddtrace/tracer: create debug mode for old, open spans by @hannahkm in #2149
- [textmap] Replace validID regex with ascii comparisons by @thieman in #2180
- tracer: add service naming and peer service configurations to payload by @wconti27 in #2177
- Revert "ddtrace/tracer: create debug mode for old, open spans" by @ajgajg1134 in #2183
- ddtrace/tracer: add abandoned spans debugger by @darccio in #2188
- contrib/google.golang.org/grpc: stop using deprecated packages by @rarguelloF in #1959
- ddtrace/tracer: fix race condition in abandonedspans_test.go by @darccio in #2195
- contrib/google.golang.org/grpc: fix gen_proto.sh script by @rarguelloF in #2196
- ddtrace/tracer: fix race condition with RecordLogger in abandonedspans_test.go by @darccio in #2198
- tracer: add orchestrion telemetry by @ahmed-mez in #2200
- ddtrace/tracer: add _dd.base_service tag by @rarguelloF in #2175
- ddtrace/tracer: add orchestrion to startup logs by @ahmed-mez in #2205
- ddtrace/tracer: clean orchestrion startup logs by @ahmed-mez in #2206
- contrib/net/http: Copy span options and resource name to avoid data race by @ajgajg1134 in #2204
- contrib/google.golang.org/api: lazy init regexp by @felixge in #2197
Continous Profiler
New Contributors
- @thieman made their first contribution in #2180
- @bryantbiggs made their first contribution in #2171
- @rodrigoff made their first contribution in #2142
- @darccio made their first contribution in #2188
Full Changelog: v1.54.1...v1.55.0