Releases: DataDog/dd-trace-go
v1.36.2
v1.36.0
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
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
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
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
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
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
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 callprofiler.WithAPIKey()
or set aDD_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 onlocalhost:8126
. If you don't have an agent running there, please useprofiler.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.