Skip to content

Releases: DataDog/dd-trace-go

1.27.0

02 Oct 18:18
ec56425
Compare
Choose a tag to compare

This release has a lot of new features including a new integration for cloud.google.com/go/pubsub, new configuration options, and support for tracing in AWS Lambda environments, as well as a number of fixes.
This release is especially notable for its high number of community contributions. Thanks again to all contributors. 🥇

Features

  • contrib/database/sql: add sql.query_type tag to sql spans (#707) (Thanks, @speza)
  • contrib/gopkg.in/jinzhu/gorm.v1: add support for new path (#713) (Thanks, @patronmike)
  • contrib/graph-gophers/graphql-go: Add WithOmitTrivial option. (#715) (Thanks, @cube2222)
  • contrib/jinzhu/gorm: Add custom tags. (#723) (Thanks, @cube2222)
  • profiler: add API key check at initialization of Profiler object (#718)
  • contrib: add support for cloud.google.com/go/pubsub (#721) (Thanks, @CAFxX)
  • ddtrace/tracer: add support for lambda tracing (#702, #742)
  • contrib/go-redis/redis: Enable tracing of Pipelined and TxPipelined (#724) (Thanks, @JDiPierro)
  • ddtrace/tracer: add WithDebugStack StartOption to configure stack traces. (#739)

Fixes

  • contrib/gomodule/redigo: Don't pass nil contexts around in withSpan (#711) (Thanks, @abustany)
  • ddtrace/tracer: improve agent connectivity check (#719)
  • contrib/garyburd/redigo: support go 1.15 (#731) (Thanks, @lbcjbb)
  • contrib/net/http: Add error to span in round tripper (#736) (Thanks, @marciorodrigues87)
  • contrib/twitchtv/twirp: Add explicit reference to the request span (#726) (Thanks, @mickeyreiss)

To view all changes check out new commits and the 1.27.0 milestone.

1.26.0

05 Aug 15:08
6d7c52c
Compare
Choose a tag to compare

This release is full of little improvements. 🥳
It incorporates additional support for configuration through environment variables, improved debugging capability through startup logging, support for labstack/echo@v4 as well as various other improvements.

Features

  • ddtrace/tracer: pick up env, version, service from DD_TAGS (#675)
  • contrib/net/http: add support for resource name customization with WrapClient (#690) (Thanks, @ichizero)
  • ddtrace/tracer: add startup logging (#685)
  • profiler: add goroutine profile type (#693)
  • all: add runtime-id to profiler and tracer global tags. (#692)
  • contrib/labstack/echo.v4: add support for echo@v4 (#698)
  • ddtrace/tracer: add support for various environment variables (#696, #691)

Fixes

  • contrib/go.mongodb.org/mongo-driver: set span type to "mongodb" (#683)

To view all changes check out new commits and the 1.26.0 milestone.

1.25.0

01 Jul 17:28
afab3a8
Compare
Choose a tag to compare

This release incorporates support for Go modules, additional options for the profiler, improved support for log injection, and various improvements and fixes for the contrib packages.

Upgrade Notes

  • Users of our contrib/shopify/sarama integration will need to change the import path from gopkg.in/Shopify/sarama.v1 to github.com/Shopify/sarama if they have not already done so. This is the result of github.com/Shopify/sarama using the github path as their canonical name in their go.mod file. Please see (IBM/sarama#1510) and (#672) for more details.

Features

  • profiler: add WithSite option and DD_SITE environment variable. (#644)
  • ddtrace/tracer: improve support for log injection (#657, #676)
  • contrib/internal/httputil: add HTTP host tag (#648)
  • contrib/google.golang.org/grpc: add metadata and request parameter tags for grpc calls (#647) (Thanks, @mingrammer)
  • contrib/jinzhu/gorm: add context getter for gorm.db (#667) (Thanks, @zhammer)
  • all: migrate to modules (#672)
  • ddtrace/tracer: send all global tags with metrics (#673) (Thanks, @DarrenTsung)
  • profiler: support agent-based deployments and have those as default. (#668)

Fixes

  • contrib/google.golang.org/grpc: fix a data race in config (#670) (Thanks, @ktr0731)

To view all changes check out new commits and the 1.25.0 milestone.

1.24.1

18 May 17:56
3999161
Compare
Choose a tag to compare

This release removes the WithValueTags option from the contrib/bradfitz/gomemcache integration.

WithValueTags could be problematic for multiple reasons such as producing unexpectedly large quantities of data, and possible security issues. We do not want to provide APIs with unexpected or potentially dangerous behavior.

1.24.0

15 May 15:46
28e8330
Compare
Choose a tag to compare

This release includes quite a few bug fixes and some small features, like profiler support for the DD_ENV, DD_VERSION, DD_SERVICE, and DD_TAGS environment variables.

Features

  • contrib/gocql/gocql: update with latest changes to WithContext (#624) (Thanks @ericjster)
  • profiler: add support for DD_ENV, DD_VERSION, DD_SERVICE, and DD_TAGS. (#632)
  • ddtrace/tracer: add WithHTTPClient and increase default HTTP timeout (#636)
  • contrib/bradfitz/gomemcache: trace item info for memcached operations (#642) (Thanks @mingrammer)

Fixes

  • contrib/internal/httputil: only set status once with WriteHeader (#629)
  • contrib/gocql/gocql: do not assume slice length (#641)
  • profiler: use correct URL for profiler backend (#645)
  • internal/globalconfig: fix wrong mutex acquired for SetServiceName (#659) (Thanks @vikpattabi)

To view all changes check out new commits and the 1.24.0 milestone.

1.23.3

15 May 13:20
Compare
Choose a tag to compare

This release contains a patch which acquires the correct mutex when setting the global service name. (#659) (Thanks @vikpattabi)

1.23.2

30 Apr 17:20
Compare
Choose a tag to compare

This release contains a patch which corrects the profiler backend URL (#645).

1.23.1

13 Apr 07:21
9b02ec4
Compare
Choose a tag to compare

This release contains a patch which prevents HTTP integrations from writing the response header twice (#629).

1.23.0

07 Apr 15:15
fa73cfc
Compare
Choose a tag to compare

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 for DD_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

26 Feb 22:07
be6e397
Compare
Choose a tag to compare

This is a small release that includes several performance improvements and bug fixes.

Features

  • contrib/graph-gophers/graphql-go: add operation name as a tag (#586) (Thanks @mikea)

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.