Skip to content

Releases: DataDog/dd-trace-go

1.34.0

11 Nov 10:49
1543670
Compare
Choose a tag to compare

This version comes with a first release of Application Security (AppSec), which includes a Web-App Firewall (WAF). You can apply to the AppSec private beta by visiting https://app.datadoghq.com/security/appsec and following the instructions detailed here.

We've also included support for github.com/urfave/negroni, along with other enhancements and bug fixes.

Features

  • internal/appsec: introduce AppSec beta (#1007, #1032, #1039)
  • ddtrace/opentracer: translate Datadog errors to OpenTracing errors (#1009) (/thanks @krosen040)
  • contrib/urfave/negroni: add support (#974) (/thanks @nzin-appdirect)
  • ddtrace/tracer: add WithLogStartup startup option (#860)

Fixes

  • profiler: stop erroring on 2xx status codes (#1024)
  • ddtrace/tracer: add normalization of span duration (#973)
  • contrib/gorm.io/gorm.v1: add WithErrorCheck option (#940) (/thanks @vmlellis)
  • contrib/olivere/elastic: fix ineffectual error assignment (#1010)
  • contrib/twitchtv/twirp: service name should be read from global config (#1008) (/thanks @prasad-marne)
  • contrib/go.mongodb.org/mongo-driver/mongo: query tag should be mongodb.query (#996)
  • contrib/gofiber/fiber.v2: capture error from fiber handler (#988)
  • contrib/gofiber/fiber.v2: add reference to initial middleware span/context (#992)

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

1.33.0

30 Aug 12:25
d326bfb
Compare
Choose a tag to compare

This change delivers support for Delta Profiles along with a performance improvement in situations when the application generates very large traces.

Features

  • profiler: Convert the Allocations, Allocated Memory, Mutex and Block profiles to delta profiles over the profiling period rather than over the lifetime of the process (#842). Please refer to this google doc for more information.

Fixes

  • ddtrace/tracer: remove the waitClose mechanism which fixes a memory leak with very large traces (#976)

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

1.32.0

20 Aug 00:25
63dea35
Compare
Choose a tag to compare

This version includes a new contrib integration for github.com/aws/aws-sdk-go-v2 along with some integration improvements and various fixes for the tracer and profiler. Thanks to the community for helping push this project forward! 🥇

Features

  • contrib/go-pg/pg.v10: add analytics and service name options (#953) (Thanks, @pzvalenta)
  • contrib/aws: add aws-sdk-go-v2 support package (#923) (Thanks, @speza)
  • contrib/net/http: add WithIgnoreRequest option (#950) (Thanks, @prasad-marne)
  • contrib/confluentinc/confluent-kafka-go/kafka: Use kafka headers as context when producing (#943) (Thanks, @hexa00)

Fixes

  • ddtrace/tracer: sample child spans with no priority (#818) (Thanks @Jesse-Cameron)
  • ddtrace/tracer: handle panics in SetTag (#932)
  • contrib/google.golang.org/grpc: fix client stream context propagation (#919)
  • profiler: goroutineswait saw-stop mechanism (#942)
  • profiler: fix hanging on Stop() (#961)
  • ddtrace/tracer: Don't drop trace if some spans must be kept (#963)
  • contrib/globalsign/mgo: check for error after dialing to avoid panic (#937)

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

1.31.1

26 May 19:48
5d57153
Compare
Choose a tag to compare

Version 1.31.1 is a smaller release, but contains some great features such as support for the agent discovery endpoint, feature flags, stats & tracer-side dropping of non-sampled spans.

Features

  • ddtrace/tracer: add support for agent discovery endpoint, feature flags, stats & drops (#859)
  • contrib/go-redis/redis.v8: optimize BeforeProcess and BeforeProcessPipeline (#920) (Thanks @johejo)

Fixes

  • profiler: Fix infinite loop in maxPauseNs (#927)

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

1.30.0

22 Apr 09:32
8a9c8c1
Compare
Choose a tag to compare

This change comes packed with features and new integrations thanks to all the nice contributions, along with a few fixes.

Upgrades

  • ⚠️ Users of the profiler that call profiler.WithAPIKey() or set a DD_API_KEY environment variable will see a change in behaviour which could result in breaking their profiling integration. Profiles will now be uploaded through the agent running on localhost:8126. If you don't have an agent running there, please use profiler.WithAgentAddr() or the appropriate environment variables to configure the location of the agent. This commit has more details on the exact changes.

Features

  • internal: add support for Fargate 1.4 (#863)
  • contrib/gorilla/mux: add WithQueryParams and WithHeaderTags (#825)
  • contrib/go-chi/chi.v5: support go-chi/chi/v5 (#858) /thanks @johejo
  • contrib/confluentinc/confluent-kafka-go: add tracing for ReadMessage method (#880) /thanks @alebabai
  • profiler: Implement WithUploadTimeout (#852)
  • ddtrace/tracer: improve stack trace generation performance (#884)
  • contrib/go-redis/redis.v7: support for redis v7 package (#862)
  • ddtrace/tracer: improve Lamba performance (#898)
  • contrib/net/http: add Unwrap method for RoundTripper (#903) /thanks @bullgare
  • ddtrace/opentracer: add support for opentracing.TracerContextWithSpan Extension (#855) /thanks @shannontan-bolt
  • ddtrace/opentracer: consider FollowsFrom references as children (#905) /thanks @shannontan-bolt
  • contrib/database/sql.tracedConn implement driver.SessionResetter (#908) /thanks @kyfk

Fixes

  • contrib/globalsign/mgo: fix infinite loop (#874)
  • profiler: fix newlines breaking up log messages (#891)
  • ddtrace/tracer: follow noDebugStack setting when using SetTag with an error (#900)
  • contrib/Shopify/sarama: fix possible deadlock in WrapAsyncProducer (#907) /thanks @pellared

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

1.29.2

29 Mar 09:19
3b61a6b
Compare
Choose a tag to compare

This change adds a fix for obtaining the container ID in environments using Fargate 1.4 (#863)

1.29.1

17 Mar 13:33
5219341
Compare
Choose a tag to compare

This is a small patch release, fixing a bug in one of our MongoDB integrations.

  • contrib/globalsign/mgo: fix infinite loop (#874)

1.29.0

11 Mar 15:48
a0e288c
Compare
Choose a tag to compare

This release contains a bunch of new features and fixes. Thank you to everyone who helped us by contributing both new features and bug fixes ❤️

Features

  • ddtracer/tracer: add support for DD_TRACE_SOURCE_HOSTNAME (#839)
  • all: improve debug logging (#816)
  • profiler: add options for block and mutex rates (#814)
  • contrib/go-redis/redis.v8: add support for WrapClient (#808) (Thanks @seancaffery)
  • contrib/jinzhu/gorm: add WithErrorCheck option (#806) (Thanks @moonsub-kim)
  • profiler: add support for v3 upload and metrics (#781)
  • contrib/gorm.io/gorm.v1: add support for gorm@v1 (#759)
  • ddtrace/tracer: fmt.Stringer in span.SetTag (#799) (Thanks @pierrre)
  • ddtracer/tracer: ensure tag keys are unique across metrics and meta tags (#800)
  • contrib/gorilla/mux: add option for skipping certain requests (#789) (Thanks @stroem)
  • contrib/gofiber/fiber.v2: add integration for Fiber v2 framework (#786) (Thanks @andrei-dascalu)
  • {profiler,ddtrace/tracer}: add UDS client options (#788)

Fixes

  • ddtracer/tracer: fix an issue with illegal characters in Lambda mode (#832)
  • profiler: fix goroutineswait profile frame order (#850)
  • contrib.confluent-kafka-go: use github.com import path (#847)
  • ddtrace/tracer: updated DD_TAGS parsing to support space separation (#837)
  • ddtrace/tracer: B3 headers are now encoded as exactly 16 character long (#817)
  • profiler: Start() doesn't unlock mutex on error (#819)
  • ddtrace/tracer: improve "Tracing Without Limits" sampling rates (#812)
  • contrib/aws/aws-sdk-go: open only a single span for retryable operations (#777) (Thanks @marcind)

Upgrades

  • profiler: increase DefaultBlockRate from 100 to 10000 (#836)

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

1.28.0

22 Dec 16:57
45c7d74
Compare
Choose a tag to compare

This release has a lot of little features and new integrations for go-pg and go-redis v8. It also includes a number of bug fixes and other minor improvements. 🚀

Thanks again to all contributors!

Features

  • contrib/go-redis/redis.v8: support go-redis.v8 (#727) (Thanks @sfroment)
  • contrib/jmoiron/sqlx: allow adding sqltrace.Option to Open (#762)
  • contrib/go-pg/pg.v10: add support for github.com/go-pg/pg/v10 (#686) (Thanks @patriczek)
  • ddtrace/tracer: add freebsd osinfo support (#766) (Thanks @vanillahsu)
  • contrib/cloud.google.com/go/pubsub.v1: Add WithServiceName option (#757) (Thanks @mickeyreiss)
  • ddtrace/tracer: Improve agent performance by marking top level spans (#782, #784)
  • contrib/gin-gonic/gin: support globalconfig.ServiceName() (#776) (Thanks @marcind)
  • contrib/go-chi/chi: Added option to set custom error status check (#773) (Thanks @Hunrik)

Fixes

  • contrib/go-chi/chi: Handle 0 status code correctly (#740) (Thanks @adw1n)
  • Use existing const in osinfo_default (#754) (Thanks @aeneasr)
  • contrib/Shopify/sarama: use sarama.MinVersion in tests. (#761)
  • profiler: set profiler upload timeout to 10s (#768)
  • ddtrace/tracer: StartSpanFromContext should work nil ctx on Go 1.15 (#749)
  • contrib/Shopify/sarama: Fix WrapAsyncProducer tracing support (#738) (Thanks @adw1n)
  • ddtrace/tracer: allow B3 trace IDs longer than 16 chars (#780) (Thanks @stroem)

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

1.27.1

15 Oct 08:43
41d4ee0
Compare
Choose a tag to compare

This release contains a patch which fixes the package build on operating systems outside Linux, Windows and macOS (#754).