Skip to content

Releases: DataDog/dd-trace-go

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.

1.21.0

13 Feb 19:51
Compare
Choose a tag to compare

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

15 Jan 12:50
2f7a709
Compare
Choose a tag to compare

This release fixes a problem where it might be possible to lose data if more than 5MB get accumulated in under two seconds.

The change can be seen here.