Skip to content

Releases: DataDog/dd-trace-go

v1.36.2

01 Mar 21:46
Compare
Choose a tag to compare

This release contains a small patch that disables service propagation in the Tracer.

ddtrace/tracer: disable Datadog internal tag propagation (#1182)

To view the changes check out the list of commits

v1.36.0

28 Jan 10:10
5b6e61b
Compare
Choose a tag to compare

This version comes with the Application Security (AppSec) public beta which includes a broader security coverage of HTTP servers, now also extended to gRPC servers. It is powered by new security rules that allow monitoring the OWASP Top 10 attack attempts, such as SQL injections, Log4Shell and Server-Side Request Forgeries.

It also includes many APM tracing improvements, along with a fix for a regression introduced in v1.35.0.

Features

AppSec

  • contrib/go-chi: integrate AppSec monitoring of http requests and responses (#1130)
  • contrib/google.golang.org/grpc: monitor received RPC messages (#1105)
  • internal/appsec: monitor HTTP response status codes (#1096)
  • internal/appsec: enhanced monitoring of HTTP cookies (#1108)
  • internal/appsec: monitor URL parameters of HTTP requests (#1106)
  • internal/appsec: log http response headers into request spans on security events (#1107)
  • internal/appsec: rate-limit AppSec traces to 100 per second (#1131)

APM Tracer

  • contrib/gocql/gocql: support Scanner and Batch (#1117) (Thanks @jack-at-circle)
  • contrib/go-chi option to ignore requests. (#1124) (Thanks @Anvay-Rajhansa)
  • contrib/net/http: use ignoreRequest in WrapHandler (#1049)
  • contrib/labstack/{echo, echo.v4}: add support for noDebugStack (#1097)
  • contrib/google.golang.org/grpc: Fallback to GlobalConfig serviceName if missing (#1027) (Thanks @vasyharan)
  • contrib/net/http: Add TraceAndServe and TraceConfig from contrib/internal/httputil (#1063) (Thanks @soh335)
  • ddtrace/tracer: Use DD_AGENT_HOST to set trace agent hostname before querying the trace-agent for its features (#1126) (Thanks @carflo)
  • ddtrace/tracer: fix tracer.StartSpanFromContext race condition on opts arg (#1127)
  • ddtrace/tracer: propagate _dd.p.upstream_services tags (#1082)

Profiler

  • profiler: log configuration at profiling start (#1114)

Fixes

  • ddtrace/tracer: only drop P0s when client-side stats are enabled (#1139)

To view all changes check out the list of commits and the 1.36.0 milestone.

v1.35.0

13 Jan 07:20
65599f2
Compare
Choose a tag to compare

Features

  • profiler: Code Hotspots and Endpoint Filtering (#966)
  • profiler: Add WithDeltaProfiles() option (#1038)
  • ddtrace/tracer: add support for DD_SERVICE_MAPPING (#1077)
  • ddtrace/tracer: obfuscate stats (#1069)
  • ddtrace/tracer: use UDS connection when relevant socket paths are available (#1048)
  • ddtrace/tracer: support for DD_TRACE_ENABLED environment variable (#991)
  • contrib/go-redis/redis.v8: add WithSkipRawCommand option and fix resource (#1091)
  • contrib/labstack/echo.v4: add appsec integration (#1042)
  • contrib/gin-gonic: add option to ignore request (#1061)
  • contrib/elastic/go-elasticsearch: Add support for github.com/elastic/go-elasticsearch (#1017)
  • contrib/database/sql: add Option to prevent starting new traces (#1013)
  • contrib/net/http: add method RTWithSpanOptions (#1005)

Fixes

  • internal/appsec: update the recommended security rules to v1.2.4 (#1098)
  • contrib/internal/httputil: return correct wrapped response writer (#1078)
  • internal/appsec/waf: strip libddwaf.a (#1056)

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

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)