github DataDog/dd-trace-go v1.53.0

latest releases: v2.0.0-beta.4, tools/v2check/v2.0.0-beta.4, tools/v2check/_stage/v2.0.0-beta.4...
15 months ago

What's Changed

This release includes several new features for various APM integrations, including a new opt-in service naming schema, improvements to contrib/gocql and the ability to add HTTP headers to traces in several integrations. In addition, there are a number of small bug fixes and improvements for APM, ASM and the Profiler.

Application Security Management (ASM) no longer requires CGO to be compiled. The appsec build tag is still required for now for a progressive roll-out and will be removed in the next few months. Read more in below's ASM section.

Application Performance Monitoring (APM)

Peer Service naming schema

This release introduces a new opt-in service naming approach, aiming to make service names more consistent. You can opt-in to this new service naming setting DD_TRACE_PEER_SERVICE_DEFAULTS_ENABLED="true" and DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED=true.

For fine-tuned control of your service names, you can configure DD_TRACE_PEER_SERVICE_MAPPING, providing comma-separated key:value mapping rule pairs, similar to how DD_SERVICE_MAPPING is configured today.

HTTP Header Tags

This release includes a new feature to add HTTP headers as trace tags for several integrations:

  • contrib/emicklei/go-restful
  • contrib/gin-gonic/gin
  • contrib/go-chi/chi.v5
  • contrib/go-chi/chi
  • contrib/gorilla/mux
  • contrib/labstack/echo.v4
  • contrib/labstack/echo
  • contrib/urfave/negroni
  • contrib/net/http

The feature can be configured globally with the WithHeaderTags option to tracer.Start(), or individually for each integration with the WithHeaderTags options available in each integration package. It accepts a map of case-insensitive header keys to tag names and automatically applies matching header values as tags on traces, e.g. CASE-insensitive-Header:my-tag-name,User-ID:userId,My-Header-And-Tag-Name. Also accepts entries without a specified tag name that are automatically mapped to tags of the form http.request.headers.<header-name>.

APM Changelog

Application Security Management (ASM)

We're happy to release the first version of ASM for Go that no longer requires CGO. This reduces the setup requirements to the bare minimum for Go development: the Go toolchain and nothing more!
Note that even if you disable CGO with CGO_ENABLED=0, the resulting compiled program will still be dynamically linked against the C library, libm, and libdl. Already existing ASM users are not impacted by this new implementation and can upgrade to this version transparently, as these libraries were already required by the previous implementation using CGO.

This release also includes the ability to configure at run time your HTTP protection behaviour at https://app.datadoghq.com/security/configuration/asm/protection-behaviour

  • internal/appsec: remove unnecessary remoteconfig updates specifications by @Hellzy in #2084
  • appsec: integrate the new purego-based go-libddwaf by @Julio-Guerra in #2090
  • appsec: remotely configurable HTTP protection behaviour by @Hellzy in #2044

Profiling

  • contrib/database/sql: properly annotate DB operations with execution trace tasks by @nsrip-dd in #2060
  • profiler: Add profiler.enabled tag by @felixge in #2065
  • profiler: Reduce execution trace period to 15min by @felixge in #2091

General

New Contributors

Full Changelog: v1.52.0...v1.53.0

Don't miss a new dd-trace-go release

NewReleases is sending notifications on new releases.