Releases: DataDog/dd-trace-go
1.23.1
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
WithServiceVersion
option and support forDD_VERSION
environment 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
.
1.22.0
This is a small release that includes several performance improvements and bug fixes.
Features
Fixes and Improvements
- ddtrace/tracer: Improve performance for several span operations (#583)
- contrib/gin-gonic/gin: correct resource name for gin-gonic/gin versions >=v1.4.0 (#588, #593)
- ddtrace/tracer: fix infinite recursion in (*safeSource).Seed call (#560) (Thanks @mbranch)
To view all changes check out new commits and the 1.22.0 milestone.
1.21.0
This release includes new rule-based trace sampling, asynchronous payload delivery, as well as other improvements and bug fixes. 🐶
Features
- ddtrace/tracer: add rule-based sampler (#546)
- ddtrace/tracer: send payloads asynchronously (#549)
- contrib/gomodule/redigo: Support ConnWithTimeout interface (#554) (Thanks @abustany)
- contrib/google.golang.org/grpc: add WithIgnoredMethods (#577) (Thanks @mathetake)
Fixes and Improvements
- contrib/net/http: cause the default config to set the analytics rate in spanOpts (#564)
- contrib/database/sql: implement driver.NamedValueChecker (#568)
- ddtrace/tracer: fix regression when flushing based on size (#570)
- ddtrace/mocktracer: make (*mockspan).Finish idempotent (#573) (Thanks @phoenix2x)
To view all changes check out new commits and the 1.21.0 milestone.
1.20.1
1.20.0
This release includes health metrics, support for setting a global environment, and various other features and bug fixes. 🍾
Features
- contrib/google.golang.org/grpc: support differentiation between streaming and unary RPCs (#523)
- ddtrace/tracer: add the WithEnv StartOption to the tracer. (#529)
- contrib/net/http: add RTWithServiceName option for RoundTripper (#531)
- ddtrace/tracer: report health metrics (#534)
Fixes
- contrib/go-redis/redis: return a new client from WithContext to eliminate race conditions. (#530)
- ddtrace/tracer: improve handling of integer tags. (#542)
To view all changes check out new commits and the 1.20.0 milestone.
1.19.0
Features
- contrib/hashicorp/vault: add integration for Vault API (#510)
- contrib/twitchtv/twirp: support for twirp servers and clients (#513)
Fixes
- ddtrace/tracer: improve performance of StartSpan (#520)
- ddtrace/tracer: ensure hanging traces are flushed when stopping (#527)
To view all changes check out new commits and the 1.19.0 milestone.
1.18.0
The biggest change in this release is runtime metrics! Automatically submit Go runtime metrics with your tracer, by enabling the tracer.WithRuntimeMetrics
option on start time. For more information see #497!
Features
- contrib/jinzhu/gorm: connect traces using context (#491)
- contrib/hashicorp/consul: add tracing for consul clients (#494) 🆕
- ddtrace/tracer: add go runtime metrics (#497) 🆕
Fixes
- contrib/go-redis/redis: correctly set analytics rate of 0 for Pipeline (#496)
- ddtrace/tracer: simplify channels (#498)
To view all changes check out new commits and the 1.18.0 milestone.
1.17.0
Features
- go.mongodb.org/mongo-driver/mongo: update to v1.1.0 (#489)
- contrib/gin-gonic/gin: Add WithResourceNamer to gintrace #477 /thanks @NilsJPWerner
- ddtrace/mocktracer: respect tracer.WithSpanID when creating a new span (#482) /thanks @EmilGedda
- contrib/database/sql: add support for additional tags through context (#484) /thanks @Code-Hex
To view all changes check out new commits and the 1.17.0 milestone.