Summary
In this release, Application Performance Monitoring (APM) adds tracing instrumentation support for valyala/fasthttp. This release also fixes a bug with beta-level remote configuration of the tracer, ensuring that config deletion triggers reverting the configuration option to its original value. Startup logs will also be expanded to describe configured feature flags.
This release also adds Beta support for resource-based and tag-based sampling. This can be configured using the new trace SamplingRule
called TagResourceRule
or by setting "resource"
or "tags"
in the trace sampling rules JSON, e.g. DD_TRACE_SAMPLING_RULES=[{"service": "test.?", "resource": "ec2.*", "tags": {"aws.operation":"DescribeInstances"}, "sample_rate": 1.0}]
Application Security Management (ASM) adds support for Threat Monitoring on GraphQL operations, and trusted IPs can now be added to your ASM passlist.
The Profiler add the WithCustomProfilerLabelKeys
API, which enables using profiler labels
as attributes to filter flame graphs in the Continuous Profiler UI. The Profiler also improves execution trace coverage over time for apps which are deployed simultaneously across several instances, by randomizing when execution traces are collected. An execution trace is collected on average once every 15 minutes by default, but the time between execution traces is now randomized.
Changes
Application Performance Monitoring (APM)
- contrib/valyala/fasthttp.v1: add a fasthttp integration to ddtrace by @mtoffl01 in #2305
- contrib/google.golang.org/grpc: add error details to span tags by @eyasy1217 in #2228
- Send the
Datadog-Entity-ID
header, containing either the container-id or the cgroup inode if available by @AliDatadog in #2402 - Fix build on linux and do not send cgroup node inode if in host cgroup namespace by @AliDatadog in #2453
- ddtracer/tracer: fix flaky TestReportHealthMetrics on Windows by @darccio in #2439
- Configure parametric test to get the golang tracer in same way as system-tests by @robertomonteromiguel in #2462
- ddtrace/tracer: only listen on localhost in TestTransportResponse by @nsrip-dd in #2463
- ddtrace/tracer: clear global headers in remote config tests by @nsrip-dd in #2466
- ddtrace/tracer: adding sampling by resource and tags by @dianashevchenko in #2448
- tracer: fix example and add SamplingRule function tests by @katiehockman in #2493
- tracer/log: Add feature flags to startup logs by @ajgajg1134 in #2495
- tracer: handle rc deletion in dynamic config by @ahmed-mez in #2468
Application Security Management (ASM)
- appsec/graphql: add support for Threat Monitoring by @RomainMuller in #2309
- appsec: register
ASM_TRUSTED_IPS
capability to RC by @RomainMuller in #2460
Profiling
- profiler: randomize when execution traces are collected by @nsrip-dd in #2401
- profiler: deduplicate test profiler setup logic by @nsrip-dd in #2428
- Update gotraceui to v0.3.0. by @darccio in #2443
- profiler: support using custom profiler labels in our UI by @nsrip-dd in #2282
- profiler/internal/pprofutils: work around breaking pprof change by @nsrip-dd in #2515
General
- CI: Only mark PRs as stale by @ajgajg1134 in #2423
- readme: Add example for running just one integration container by @ajgajg1134 in #2429
- system-tests: add the uds-echo variant by @Julio-Guerra in #2438
- ci: setup smoke tests by @Julio-Guerra in #2441
- Revert "Update gotraceui to v0.3.0." by @darccio in #2457
- maitenance: new GitHub Triage Badger by @RomainMuller in #2451
- internal/datastreams: Improve performance by @piochelepiotr in #2455
- .github/workflows: adapting last v2 CI changes by @darccio in #2435
- ci: don't send issue body in triager by @nsrip-dd in #2472
- CODEOWNERS: Update for new gh team structure by @felixge in #2477
- Clean parametric tests pipeline by @robertomonteromiguel in #2485
- CODEOWNERS: Reduce go.mod/go.sum related pings by @felixge in #2484
- remoteconfig: fine grained locking by @Hellzy in #2458
- Don't ask for triage of issues from @DataDog/dd-trace-go-guild by @RomainMuller in #2489
- Use PAT to read team member list by @RomainMuller in #2491
- remoteconfig: remove mutex underscore prefixes by @Hellzy in #2497
- .github/workflows: generalize GH workflow for adding apm:ecosystems label by @katiehockman in #2496
- build(deps): bump golang.org/x/crypto from 0.14.0 to 0.17.0 by @dependabot in #2445
- internal/telemetry: export Products field by @katiehockman in #2500
- internal/telemetry: remove DetectLibDl by @katiehockman in #2517
- internal/telemetry: do not send empty container and entity headers by @ahmed-mez in #2506
- go.mod: upgrade purego v0.5.0 => upgrade purego v0.5.2 by @eliottness in #2524
New Contributors
- @AliDatadog made their first contribution in #2402
- @robertomonteromiguel made their first contribution in #2462
- @eyasy1217 made their first contribution in #2228
Full Changelog: v1.59.0...v1.60.0