1.23.0
This release includes a number of great new features and fixes including the profiler package which will periodically collect and send application profiles to Datadog, many new configuration options, and improvements to the integrations.
These changes also include an important shift in how an application's "service name" works, which is detailed in the last section of these release notes.
Thanks to the community for all their contributions which have gone into this release. 🙇 🎉
Features
- profiler: add profiler package (#598, #599, #601)
- ddtrace/tracer: Add support for DD_SERVICE and DD_TAGS environment variables (#582) (Thanks @blaketastic2)
- ddtrace/tracer: add Measured StartSpanOption (#591)
- ddtrace/tracer: add
WithServiceVersionoption and support forDD_VERSIONenvironment variable. (#607) - contrib/zenazn/goji/web: add goji integration (#604)
- contrib/gorilla/mux: allow custom resource naming (#617) (Thanks @tanordheim)
- contrib: add NoDebugStack support to web integrations (#616) (Thanks @ashanbrown)
Fixes and Improvements
- contrib: Update non-client contrib packages to measure their spans (#603)
- ddtrace/tracer: optimize baggage item handling. (#611)
- contrib/google.golang.org/grpc: fix incorrect service name in grpc server (#613)
- contrib: update non-client integrations to use configured service name (#614)
To view all changes check out new commits and the 1.23.0 milestone.
New service name settings
Datadog is making some changes involving its concept of a service. As part of that initiative, the semantics of setting the tracer's service name are changing slightly. Please note that nothing should change for users out of the box. Applications can safely upgrade to the new tracer without experiencing any breaking changes.
We have added a new option WithService and its counterpart, the DD_SERVICE environment variable as new ways to configure an application's service name. The only noticeable change that will occur when using the new configuration options is that certain "server" integrations will pick up this service name and use it in place of their default service name in cases where a custom name has not been configured for the integration.
For example, the contrib/gorilla/mux integration defaults to a service name of "mux.router". If a service name is set through the DD_SERVICE environment variable, or with the WithService option, integrations such as this will use that service name rather than their old default.
Integrations configured with a custom service name (e.g. using contrib/gorilla/mux's WithServiceName), will continue to use that custom service name.
The WithServiceName option has been deprecated, but will continue to function as it used to. Integrations will not pick up a service name set with WithServiceName.