Skip to content

Releases: DataDog/dd-trace-dotnet

2.16.0

07 Oct 14:16
edc19fe
Compare
Choose a tag to compare

Summary

⚠️ If you're updating the MSI from version 2.13.0 or earlier and you are missing traces, you should restart the machine after updating. This issue has been fixed in 2.23.0.

  • [ASM] IP Blocking by remote config
  • [Tracer] Making Datadog.Trace.Bundle Nuget package Generally Available. This package contains the full Datadog .NET APM suite for Tracing (automatic, and custom), Continuous Profiler and Application Security Monitoring (ASM).
  • [Tracer] Add support for instrumenting interface methods, allowing for instance for more support of some RabbitMq libraries.

Changes

Tracer

  • Data Stream Monitoring .NET implementation
    • Initial data streams monitoring propagation (#3174)
    • Add Kafka data streams monitoring implementation (#3192)
    • Added support for IDiscoveryService to DataStreamsManager (#3220)
    • Add checkpointing and aggregation for data streams monitoring (#3191)
    • Fix edge case in DataStreamsWriter (#3304)
    • Disable DSM if DD_TRACE_KAFKA_CREATE_CONSUMER_SCOPE_ENABLED=0 (#3311)
    • GZip the data streams monitoring data sent to the agent (#3249)
    • Make sure we remove the DSM propagation header from SQS attributes (#3312)
  • Send Telemetry heartbeat independently of flushed data (#3239)
  • Remove unneeded logs (#3265)
  • Try loading OpenSSL eagerly on netcoreapp2.0-net5.0 (#3284)
  • [Tracer] Add support for instrumenting interface methods (#3256)
  • [Tracer] Rename Datadog.Monitoring.Distrib into Datadog.Trace.Bundle (#3263)

CI Visibility

  • [CI Visibility] - Test API and Test Suite Visibility (#3276)
  • [CI Visibility] - Initialize tracer earlier (#3295)

ASM

  • [ASM] ASM_DATA - IP blocking data (#3235)
  • [ASM] IP Blocking for .NET Framework (#3207)
  • [ASM] upgrade waf and rules (#3274)
  • [ASM] remote config update (#3120)
  • [ASM] Fix asm RCM tests flakiness (#3266)
  • [ASM][RCM] Reduce Flake > fix integration tests log watching (#3287)
  • [ASM] Optimize blocking (#3306)

Continuous Profiler

  • [Profiler] Fix throughput tests on Linux (#3246)
  • [Profiler] Prevent profiler from getting stuck on lost signal (#3255)
  • [Profiler] Fix deadlock on alpine on thread creation (#3288)
  • [Profiler] Change message when exporting profile (#3290)
  • [Profiler] Change lock-duration to lock-time (#3298)
  • [Profiler] Initialize signal handler only once (#3308)
  • [Profiler] Log INVOKE and CALL warning message only once (#3309)
  • [Profiler] Change log level from error to info in StackSamplerLoopManager (#3314)

Debugger

  • [Debugger] Adjust debugger snapshot json structure to new schema (#3297)
  • [Debugger] Skip DebuggerSnapshotCreatorTests.Limits_LargeDictionary as it's flaky (#3310)

Serverless

  • Serverless build tidy up (#3110)
  • [Serverless] Support base-class AWS Lambda methods (#3275)

Miscellaneous

  • Remove useless logs (#3230)
  • Update coreclr files to fix errors on Alpine (#3260)
  • Fix endian bug (#3270)

Build / Test

  • Throughput for blocking (#3277)
  • Re-enable collecting crash dumps on Linux (#3227)
  • Add ability to capture hang dumps on Linux (#3229)
  • Update the list of expected file changes when doing a version bump (#3259)
  • Samples.Probes must always be built (#3262)
  • Bump timeouts in installer smoke tests (#3267)
  • [CI] Fix permissions issue when uploading crash dumps on Linux in some cases (#3269)
  • Exitcode should be zero (#3271)
  • Give proper warning if the createdump tool crashes. (#3272)
  • Add Apple Silicon support on tracer builds (#3279)
  • Improve gitlab deployment (#3285)
  • Bump some timeouts to reduce test flake (#3289)
  • Fix test version package bump (#3291)
  • Skip flakey test ProbesTests.TransparentCodeCtorInstrumentationTest (#3296)
  • Add a workaround for missing profiling support in PyPI version of dd-apm-test-agent (#3299)
  • Remove workaround for missing profiler support in PyPI version of dd-apm-test-agent (#3303)
  • Run IP blocking tests with default rules (#3307)
  • Fix flaky DataStreamsWriter test (#3317)

Changes since 2.15.0

2.15.0

26 Sep 11:43
ca92d31
Compare
Choose a tag to compare

Summary

⚠️ If you're updating the MSI from version 2.13.0 or earlier and you are missing traces, you should restart the machine after updating. This issue has been fixed in 2.23.0.

  • Added HotChocolate GraphQL integration (v11.x.x+)
  • Added instrumentation for Process.Start
  • Added endpoint profiling for continuous profiler

Changes

Tracer

  • [Tracer] Tracking sampling mechanism with _dd.p.dm tag (#2982)
  • Obfuscate ids with commas and obfuscate WCF requests (#3026)
  • [Tracer] Stats computation: Drop P0 traces (#3048)
  • [Tracer] Add telemetry for the stats computation feature (#3053)
  • [Tracer] When stats computation is enabled, normalize and obfuscate traces (#3054)
  • Fix build when using C#11 (#3102)
  • Add unchecked to FNV hash calculations (#3109)
  • Add VarEncodingHelper for use in Data Streams Monitoring (#3129)
  • Add a thread-safe Random implementation (for Data streams monitoring) (#3130)
  • Add hash helpers for data streams monitoring (#3131)
  • Compile Regex in CustomSamplingRule (#3132)
  • [Tracer] Add DiscoveryService to Tracer initialization and update StatsAggregator to use Agent feature client_drop_p0s (#3152)
  • Refactor DiscoveryService to handle changes to settings and agent upgrade (#3154)
  • Remove redundant string allocations (#3169)
  • Add debug log in Api when sending to agent fails (#3180)
  • Update DDSketch parameters for DSM to match backend (#3216)
  • Add support for specifying a Content-Encoding in IApiRequest (#3238)
  • Add NullDiscoveryService for CI visibility and testing (#3253)
  • Add instrumentation for Process.Start (#3146)
  • HotChocolate GraphQL integration (#3004)
  • Fix ServiceStack SendReceive instrumentation (#3084)
  • Add Kafka consumer group tag (#3099)

CI Visibility

  • [CIVisibility] Adds support to disable the tracer profiler + Lazy loading the tracer settings (#3108)
  • [CIVisibility] - Counters based Code Coverage (#3134)
  • [CIVisibility] - Fix InternalFlushEventsAsync task creation (#3148)
  • [CIVisibility] Include ci-app-libraries-dotnet team as a CODEOWNER of PDB folder. (#3151)
  • [CIVisibility] - Coverage fixes and improvements (#3170)
  • [CIVisibility] - Correctly extract commit message from AppVeyor (#3183)
  • [CIVisibility] - Fetch committer and author in buildkite and bitrise (#3187)
  • [CIVisibility] - Move the CI Visibility check to native (#3196)
  • [CIVisibility] Intelligent test runner (#3075)

ASM

  • [ASM] Blocking a request on .NET Core (#3066)
  • [ASM] 1-Click activation (#3081)
  • [ASM] Waf and ruleset update (#3087)
  • [ASM] Increase waf timeout for all integration tests (#3124)
  • [ASM] Features rename (#3223)
  • [ASM] Waf memory leak fix (#3237)
  • [ASM] Prevent waf from breaking app if non compatible native library file is loaded by tracer (#3251)
  • Implement rcte2 - Configuration apply status (#3175)
  • Remote Configuration Tracer Extension 3 - Remote Configuration Client capabilities (#3186)

Continuous Profiler

  • [Profiler] Add continuous profiler checks to dd-trace (#3167)
  • [Profiler] Implement endpoint profiling (#3015)
  • [Profiler] Use libdatadog as buffer (#2990)
  • [Profiler] Add new profile tags (#3093)
  • [Profiler] Update libdatadog to 0.8.0 (#3111)
  • [Profiler] Measure exceptions and allocations profilers (#3112)
  • [Profiler] Add contention profiler based on Clr Events (#3115)
  • [Profiler] Activate the CPU profiling by default (#3121)
  • [Profiler] Return string view for symbol resolution (#3127)
  • [Profiler] Disable tracer for profiler timeit usage (#3128)
  • [Profiler] Update SamplesCollectorTest (#3145)
  • [Profiler] Add exceptions in BuggyBits demo app (#3150)
  • [Profiler] Performance improvements for samples management (#3153)
  • [Profiler] Measure contention profiler impact (#3172)
  • [Profiler] Ensure that all API HRESULT are checked (#3179)
  • [Profiler] Make exceptions profiler more real for BuggyBits (#3188)

Debugger

  • [Debugger] Fixed serialization issues in producing snapshots (#3064)
  • Support Remote Configuration Management (#3077)
  • [Debugger] Add support for probes in async methods (#3079)
  • Support UDS and Named Pipes for Live Debugger (#3125)
  • [Debugger] Stabilized the instrumentation of Method Probes and Line Probes (#3164)
  • Remove ImmutableDebuggerSettings (#3166)
  • [Debugger] Fix non-deterministic failure in UDS Integration Test (#3168)
  • [Debugger] Fix Debugger Method Probe Async Tests (#3199)
  • Use LifeTimeManager for LiveDebugger shutdown events (#3200)
  • Run Remote Configuration system tests (#3212)
  • [Debugger] Resolving Live Debugger's code coverage degradation (#3245)
  • Disable async probe (#3248)

Fixes

  • [Tracer] Exit early during automatic instrumentation when the application is .NET Core 1.x (#3114)
  • [Tracer] Refactor stats computation into StatsAggregator (#3133)

Miscellaneous

  • [Tracer] Ignore more assemblies and don't resend them all at each run (#2966)
  • [Test Package Versions Bump] Updating package versions (#3008)
  • [CI] Add doc to run smoke tests locally (#3088)
  • Small refactoring to remove duplicate code around SocketException detection (#3123)
  • Refactor transport strategies code (#3126)
  • Refactor the exclude list for assembly instrumentation (#3137)
  • Remove redundant string allocations for ApiResponses (#3144)
  • Set the version of the native loader (#3147)
  • Fix warnings (#3155)
  • Rename RuleBasedSampler to TraceSampler (#3156)
  • Add a simple pooling mechanism for DDSketches (#3177)
  • Avoid multiple configuration source enumeration (#3178)
  • Update repo readme about security issues (#3185)
  • Fix ICorProfilerInfo11 framework support message (#3194)
  • Low hanging fruit startup optimization (#3195)
  • Don't overwrite the origin (#3221)

Build / Test

  • [tests] clean up test project references (#3198)
  • Remove obsolete snapshot URI (#3165)
  • Fix order of spans in WcfTests (#3162)
  • [Tracer] Add tests for stats computation feature (#3047)
  • [Snapshots] Print a small diff at the end of the tests (#3098)
  • Make sure we throw if uploading artifacts to S3 fails in gitlab (#3116)
  • Automatically trigger AAS deploy with code freeze (#3118)
  • Update GitLab to use newer build image (#3136)
  • Skip the Razor Pages diagnostic listener tests on Linux .NET Core 2.1 (#3140)
  • Enable tool integration tests on Windows (#3149)
  • Exclude named pipe timeout from build log check (#3157)
  • Ensure any test artifact has the job attempt number as part of the name. (#3173)
  • Test RemoteConfigurationApi instead of using file provider (#3182)
  • Add support for Microsoft.Data.SqlClient 5.x.x (#3184)
  • Schedule CI to run 10 times on a Saturday morning (#3202)
  • [tests] show only diff in test failures when comparing long multi-line strings (#3205)
  • Fix flakey test Http_Headers_Contain_ContainerId (#3206)
  • Fix WindowsContainer tracing sample (#3208)
  • Added integration tests to verify that the tracer still sends traces if the agent doesn't work properly. (#3211)
  • Small testing improvements (#3222)
  • [Testing] Improve span metadata rules (#3226)
  • Add manual repo clone to unit_tests_macos (#3232)
  • Bump timeouts in DiscoveryServiceTests to reduce flake (#3233)
  • Ensure we always run exploration tests on master (#3243)
  • Add remote config label (#3244)
  • [Snapshots] Diff on base branch (#3250)

Changes since 2.14.0

2.14.0

23 Aug 10:41
17f6d97
Compare
Choose a tag to compare

Summary

⚠️ If you're updating the MSI from version 2.13.0 or earlier and you are missing traces, you should restart the machine after updating. This issue has been fixed in 2.23.0.

  • GA release of the continuous profiler, adds support for NuGet-based deployment
  • Addresses a double-billing issue in AAS

Changes

Tracer

  • Allow null filenames in MultipartItem when using HttpClientRequest (#3024)
  • Fix possible zero in traceid or spanid (#3033)
  • [Tracer] Send AAS and Sampling Prio on all trace chunks (#3040)
  • Add .NET Framework 4.8.1 to FrameworkDescription (#3100)

CI Visibility

  • [CI Visibility] Disable non testhost proc instrumentation on dotnet command (#3018)
  • [CI Visibility] Refactor CI Visibility payloads with the EvpPayload abstraction (#3032)
  • [CI Visibility] Stop using OS separator in relative paths (#3034)
  • [Ci Visibility] - Update logs format to the new spec (#3037)
  • [CI Visibility] Fix Coverage version type (#3039)
  • [CI Visibility] Upload Git tree metadata (#3045)
  • [CIVisibility] Change build file and CODEOWNERS (#3046)
  • [CIVisibility] Add support to bypass some ci environment variables (#3082)
  • [CIVisibility] Fix CIAgentlessWriter flush algorithm (#3096)

Continuous Profiler

  • [Profiler] Implement ICorProfilerCallback::EventPipeEventDelivered to receive CLR events synchronously (#2998)
  • [Profiler] Do not build the profiler native code in parallel for ASAN (#3021)
  • [Profiler] Check profiler log files for smoke tests (#3038)
  • [Profiler] Update libunwind to 1.6.2 (#3043)
  • [Profiler] Disable profiler when running in a container with <1 CPU (#3050)
  • [Profiler] Try to use default UDS path on Linux (#3057)
  • [Profiler] Fix generic types name for exception and allocation profilers (#3058)
  • [Profiler] Remove DD_DOTNET_PROFILER_HOME (#3073)
  • [Profiler] Improve error reported by libddprof (#3089)
  • [Profiler] Fix Profiler integration tests in VS (#3090)
  • [Profiler] Fix Sanitizer jobs (#3091)
  • [Profiler] Remove beta version for the profiler (#3092)
  • [Profiler] Change profiler library output directory on linux (#3094)

Debugger

  • [Debugger] Fix issue where line probes with backslashes did not work (#3028)
  • Disable non-deterministic tests (#3030)
  • [Debugger] Leverage AdaptiveSampler for probes (#3078)

Build / Test

  • Rename native projects in preparation for package layout refactor (#3016)
  • [CI] Allow throughput to run on benchmark branches (#3031)
  • Always use native loader for tests (part of package layout update) (#3036)
  • [AppSec] Enable AppSec in installer smoke tests (#3055)
  • Update package layouts & ship continuous profiler in dd-trace/NuGet (#3060)
  • Enable debug logs for smoke test (#3062)
  • Run MSI smoke tests against x86 runtime with the x64 installer (#3065)
  • Add a very simplistic snapshots checker (#3068)
  • Add a few smoke tests for the dd-trace NuGet package (#3070)
  • Small build tidy up - improve log file checking (#3071)
  • Delete UpdateMsiContents Target and SyncMsiContent (#3074)
  • More build tidying up (#3076)
  • Fix build error in OSX when using sdk version 6.0.400 (#3083)
  • [Snapshots] Add a note on version mismatch tests (#3086)
  • Centralise handling of HTTP requests in MockTracerAgent (#3095)
  • Increase smoke tests timeout (#3101)
  • Force fpm gem install to not update dependencies (#3104)
  • Use default monitoringHome path if env var is empty (#3105)

Miscellaneous

  • Remove x-datadog headers from SQS message attributes (#3044)
  • Fix OSX native loader build issue (#3052)
  • Fix race condition during profilers initialization (#3056)
  • Add note on 'round-tripping' to Instrumentation Verification doc (#3067)
  • Fix macOS logs and add DD_INTERNAL_NATIVE_LOADER_PATH env var (#3069)
  • Zippy1981/add note to update documentation when you add an instrumentation (#3080)

Changes since 2.13.0

2.13.0

03 Aug 07:52
98667ed
Compare
Choose a tag to compare

Summary

  • The http.route, http.url, http.useragent, and http.client_ip tags have been standardised
    • As part of this change, the (obfuscated) querystring is now reported in http.url. Set DD_HTTP_SERVER_TAG_QUERY_STRING=false to disable querystring collection.
  • Fixes a bug where x-datadog-tags propagation header was added even when empty or disabled
  • Add support for continuous profiler on CentOS7

Changes

Tracer

  • [Tracer] Fix span properties (#2918)
  • [Tracer][AAS] Add Resource Id on chunks to avoid double billing (#2960)
  • Add support for Multipart form data to ApiWebRequest and HttpClientRequest (#2962)
  • Add FNV-64bit hash implementation for Data Streams Monitoring (#2973)
  • [Tracer] Do not add x-datadog-tags header when empty or disabled (#3001)
  • [Profiler] Fix Arm64 installer smoke tests (#3002)

ASM

Continuous Profiler

  • [Profiler] Refactor raw sample processing (#2917)
  • [Profiler] Ensure the profiler run on CentOS7 (#2950)
  • [Profiler] Deactivate profiling on linux if wrapper library is not used (#2967)
  • [Profiler] Bump libddprof to libdatadog (former libddprof) 0.7.0 (#2970)
  • [Profiler] Run Profiler unit tests in container in Github Actions (#2975)
  • [Profiler] Minor cleanup (#2977)
  • [Profiler] Remove shared managed code (#2978)
  • [Profiler] Use net6.0 for integration tests (#2987)
  • [Profiler] Deactivate profiler on ARM64 (#2994)

Debugger

  • [Debugger] Introducing the Live Debugger product (#2965)
  • Temporarily disable Live Debugger (#3012)
  • Increase WaitForExit time in DebuggerSampleProcessHelper (#3013)

Build / Test

  • Installer test tweaks (#2963)
  • [Test Package Versions Bump] Updating package versions (#2972)
  • Update vendored version of Newtonsoft.Json (#2980)
  • Fix Aerospike tests and convert to snapshots (#2985)
  • Remove confusing DD_HEADER_TAGS configuration in OwinWebApi2Tests (#2986)
  • Ignore process_id in smoke test snapshots on Linux (#3003)
  • [CI] Allow throughput to run on benchmark branches (#3005)
  • Fix the path to the native loader (#3006)
  • Try disabling telemetry in ci (#3010)
  • [Tracer] Add Fluent API to validate integration spans and produce documentation of tracing integrations -- Redo (#3011)
  • Downgrade version of dotenv installed with fpm (#3014)
  • Use macos-11 for builds instead of macos-10.15 as that is deprecated (#3035)

Miscellaneous

  • [CI Visibility] - Add support for CoveragePayload message pack serialization (#2969)
  • [CI Visibility] Send Code Coverage Payload to the agentless endpoint (#2983)

Changes since 2.12.0

2.12.0

13 Jul 08:50
10121e1
Compare
Choose a tag to compare

Known issues

  • x-datadog-tags header is propagated to downstream services even if empty. The setting to disable it falls into the same bug and thus doesn't work. Do not use this version if some of the services you interact with do not accept all new headers. Fixed in #3001

Summary

  • [Tracer/ASM] Allows horizontal tag propagation (new x-datadog-tags header sent to downstream services), and enables optional user id propagation.
  • [Profiler] Build for Linux Arm64
  • [Tracer] Add support for latest StackExchange.Redis release

Changes

Tracer

  • Propagate trace tags to downstream services (horizontal propagation) (#2897)
  • Clean the way we build the tracer native code on Linux (#2943)
  • Log the number of dropped spans when flushing the buffer (#2948)
  • Ensure we release cached StringBuilder instances back to the StringBuilderCache (#2956)
  • Allow user id to be propagated (#2968)
  • Add support for StackExchange.Redis 2.6.48 (#2959)

Continuous Profiler

  • [Profiler] Run profiler tests on .NET 6 (#2909)
  • [Profiler] Reenable sampling test (#2913)
  • [Profiler] Fix parsing thread information (#2929)
  • [Profiler] Disable walltime profiler during exception tests (#2935)
  • [Profiler] Do not dereference nullptr to avoid crashing (#2940)
  • [Profiler] Clean the way we build the profiler on Linux (#2942)
  • [Profiler] Remove profiler managed code (#2946)
  • [Profiler] Build and package the Profiler for Arm64 architecture (#2952)
  • [Profiler] Bump libddprof version to 0.6.0 (#2958)

Debugger

  • Add instrumented IL verification (#2829)

Build / Test

  • Setup Code Scanning for dd-trace-dotnet (#2286)
  • Add named pipe support to the mock agent + convert telemetry tests to Snapshot (#2816)
  • Add smoke tests for the distribution NuGet on Linux (#2878)
  • [Pipeline Monitoring] Make it run at the end in any case (#2890)
  • Save loader and profiler native symbols from GitLab (#2896)
  • [Test Package Versions Bump] Updating package versions (#2901)
  • [codeowners] Rename ci-app-tracers to ci-app-libraries (#2919)
  • Convert StackExchange.Redis to snapshots and add support for latest (#2921)
  • Fix changed error message in Kafka 1.9.0 (#2922)
  • Update usages of Newtonsoft.Json to 13.0.1 across test applications (#2923)
  • [Tracer] Convert SQS integration tests to snapshots (#2926)
  • [Tracer] Convert ServiceStackRedis integration tests to snapshots (#2927)
  • Fix NuGet installer smoke tests not running (#2928)
  • Allow queuing multiple connection for acceptance in UDS test agent (#2930)
  • [Build] Fix S3 upload (#2932)
  • [Tracer] Add throughput tests for stats computation (#2936)
  • Add smoke tests for the MSI installer (#2937)
  • Add smoke tests for windows-tracer-home.zip (#2941)
  • Add smoke tests for dotnet-tool instrumentation on Windows (#2944)
  • Add Smoke testing of the NuGet package on Windows (#2947)
  • Add smoke tests for dotnet-tool instrumentation on Linux (#2949)
  • Add support for alpine to the dd-trace tool (#2951)

Miscellaneous

  • Bump NuGet.CommandLine from 5.8.1 to 5.9.2 in /tracer/build/_build (#2907)
  • Exclude guid-like assembly names from telemetry (#2954)

Changes since 2.11.0

2.11.0

22 Jun 10:53
a7266ab
Compare
Choose a tag to compare

Summary

  • [Tracer Sampling] The tracing library no longer applies a default sampling rate of 100%. Instead, the library applies the default sampling rate calculated in the Datadog Agent.
  • [Linux Packaging] Make the createLogPath.sh executable again (issue introduced in 2.10.0)
  • [Profiler] Throttle logging messages on Linux to prevent useless usage of disk space (mainly for container with low space, Alpine)

Changes

Tracer

  • Add support for computation of stats in the tracer (#2591)
  • [Tracer] Take into account the default sampling values sent by the agent (#2836)

CI App

  • [CIApp] MSBuild logger improvements (#2894)

Continuous Profiler

  • [Profiler] Add CPU scenario to profiler throughput tests (#2864)
  • [Profiler] Add iterator scenario in computer01 demo (#2889)
  • [Profiler] Do not print stack walker error messages everytime (#2902)
  • [Profiler] Don't sample if no CPU time was consumed nor in Ready state (#2903)

Miscellaneous

  • [Test Package Versions Bump] Updating package versions (#2877)

Build / Test

  • Replace use of semantic info with syntax-only check instead (#2892)
  • Rename isScheduledBuild to isBenchmarksOnlyBuild (#2893)
  • [Linux packaging] Make sure the createLogPath script is executable (#2911)

Changes since 2.10.0

2.10.0

09 Jun 09:28
49c3f4c
Compare
Choose a tag to compare

Summary

Main changes are:

  • Continuous profiler now available on linux (needs GLIBC 2.18+, which means Centos 7 is not supported in this release)
  • CPU profiling and Exception profiling are available.

Also here are more minor changes on the Tracer integrations:

  • NLog integration supports v5.0.0
  • Stops prefixing aspnet.request resource name with IIS virtual apps in the rare cases it happened
  • Fixes the incorrect http.status_code tag for ASP.NET MVC with IIS in Classsic-mode when an exception is thrown
  • MySqlConnector support starts at v0.61.0

Known issues

  • The createLogPath.sh file in the linux packages isn't executable anymore, thus the documented setup doesn't work out of the box and need an extra chmod. Fixed in 2.11.0

Changes

Tracer

  • Add support for UDS to telemetry transport (#2617)
  • Return const char* instead of std::string on C linkage function (#2824)
  • Fix SamplingPriority in B3 and W3C headers (#2828)
  • Add Redis obfuscator (#2847)
  • Exclude dynamic assemblies from telemetry (#2855)
  • Avoid calling AsyncLocal.Value twice when GetSpanContextRaw() is null (#2857)
  • Rewrite P/Invoke maps for Native Loader (#2858)
  • [Tracer] Support MySqlConnector from version 0.61.0 (#2870)
  • Update NLog integration to be compatible with v5.0.0 (#2820)

CI App

  • [CIApp] - Per-test Code Coverage (#2739)
  • [CIApp] - Adds library_version to the message metadata (#2831)
  • [CIApp] - Refactor CodeOwner feature + Zero duration on Skipped Tests (#2845)

ASM

  • [ASM] Change to rate limit tests (#2759)

Continuous Profiler

  • [Profiler] Implement exception profiler (#2743)
  • [Profiler] Update CPU profiling implementation (#2765)
  • Package the profiler, tracer and native loader together on Linux (#2777)
  • Add throughput tests for profiler (#2784)
  • [Profiler] Fix error reported by UBSAN (#2799)
  • [Profiler] Do not aggregate sample with empty callstack (#2805)
  • [Profiler] Flush samples and export a last .pprof on exit (#2814)
  • [Profiler] Add a cache for native frame resolution (#2817)
  • [Profiler] Add a profile_seq tag to each uploaded .pprof (#2819)
  • [Profiler] Allow stack sampler metrics for Linux (#2822)
  • [Profiler] Implement sampling for exceptions (#2823)
  • [Profiler] Activate log message only in debug build (#2825)
  • [Profiler] Run profiler integration tests in AzDo (#2830)
  • [Profiler] Fix empty labels (#2832)
  • [Profiler] Fix profiler throughput test on master (#2837)
  • [Profiler] Add async scenario to demo application (#2840)
  • [Profiler] Disable debug logging for throughput tests (#2841)
  • [Profiler] Fix analyzer error (#2844)
  • [Profiler] Add exceptions throughput test scenario (#2856)
  • [Profiler] Set _GLIBCXX_USE_CXX11_ABI to 0 and remove liblzma dependency (#2861)
  • [Profiler] Run profiler benchmark tests with monitoring home instead for windows (#2862)
  • [Profiler] Add CPU and exceptions to profiler benchmarks (#2865)
  • [Profiler] Prevent from blocking the application (#2866)
  • [Profiler] Do not resolve native frame if not needed (#2868)

Serverless

  • [Serverless] Support sampling in universal instrumentation (#2751)

Fixes

  • [CallTarget] - Fix Nested Types Instrumentation (#2818)
  • Stop prefixing resource names with IIS app name when TracingHttpModule only (#2852)
  • Fix incorrect http.status_code in ASP.NET MVC with IIS classic mode (#2854)

Build / Test

  • Execution Benchmark and Throughput cleanup (#2790)
  • Replace wiremock with dd-apm-test-agent in smoke tests (#2793)
  • [Test Package Versions Bump] Updating package versions (#2803)
  • Speed up native compilation on Linux (profiler, tracer, native loader) (#2804)
  • Use azure scale-sets for more jobs (#2806)
  • Split linux integration tests to reduce overall runtime (#2807)
  • Fix Gitlab job (#2821)
  • Fix ThreadAbortAnalyzer to work with the latest .NET SDK (#2833)
  • Split ARM64 integration tests to reduce overall run time (#2834)
  • [Release] Changes following last release (#2835)
  • Fix downstream job trigger for deployments to rel-env (#2838)
  • Change code ownership (#2839)
  • Use Native Loader for exploration tests (#2842)
  • [Tests] Allow updating snapshots from an AzDo build (#2843)
  • Add workaround for race condition in GRPC library (#2848)
  • Increase timeout in AspNetCoreDiagnosticObserver tests (#2849)
  • Revert "Use azure scale-sets for more jobs (#2806)" (#2850)
  • Add snapshot tests for ASP.NET virtual applications (#2851)
  • Fix flaky LambdaRequestBuilderTests (#2863)
  • Fix crash in execution benchmark tests (#2873)
  • Stripping out unneeded information from native so library files (#2874)
  • Upload linux-native-symbols artifacts and add to release artifacts (#2879)
  • Create a Code Freeze bot (#2881)
  • Fix code freeze workflow (#2882)
  • Fix code-freeze bot (part deux) (#2885)

Miscellaneous

  • [Test Package Versions Bump] Updating package versions (#2827)
  • [Doc] Add a quick comment on docker for integrations (#2869)

Changes since 2.9.0

2.9.0

13 May 09:14
b6e0504
Compare
Choose a tag to compare

Summary

This version mainly contains Tracer bug fixes:

  • Avoid a Stackoverflow exception in the context of ci-app or Azure functions when using different versions of the Tracer for automatic and custom instrumentation
  • Fix the order of precedence of the parameters to connect to the Trace agent.

Changes

Tracer

  • [Tracer] Fix precedence in ExporterSettings (#2737)
  • Call get_Instance instead of GetDistributedTracer in case of version mismatch (#2767)
  • Don't check agent connectivity when tracing is disabled (#2772)
  • Fix number of spans in telemetry tests (#2786)
  • Throw ArgumentNullException when trying to set Tracer.Instance to null (#2437)
  • Instrument custom methods using New Relic attributes (#2780)

CI App

  • [CiApp] - Avoid setting env:none if not environment variable has been set (#2783)

ASM

  • [ASM] Little waf metrics changes (#2745)

Continuous Profiler

  • [Profiler] Remove classes/files part of the old pipeline (#2750)
  • [Profiler] build profiler linux in AzDo (#2761)
  • [Profiler] Rename pid tag into process id (#2789)
  • [Profiler] Rename tests apps with "Samples." prefix instead of "Datadog.Demos." (#2788)

Serverless

  • Convert AWS lambda tests to using snapshots (#2681)

Fixes

  • Delete obsolete AutomapperTest sample (#2771)

Build / Test

  • [Release] Trigger AAS release automatically (#2721)
  • Stop building 1.x branch daily (#2732)
  • Monitor the pipeline from a final stage (#2746)
  • [Build] Don't build twice docker image in ITests (#2760)
  • Split benchmarks between 6 different agents (#2763)
  • Fix all sample package versions and UpdateVersion task (#2766)
  • Remove timeouts from .NET install and add default timeout (#2768)
  • Write integration test logs directly to build_data directory (#2773)
  • Refactor Windows Integration tests (#2779)
  • Use the same .NET SDK version in GitHub Actions as we do in Azure Devops (#2781)
  • Improve git checkout to handle rebases on Benchmark VMs (#2782)
  • Run git clean -ffdx in checkout code (#2785)
  • Add missing GraphQL 5 tests (#2757)

Miscellaneous

  • [All] - Refactor ITags/TagsList tracer implementation (#2753)
  • Minor UDS support updates (#2787)
  • Remove dependency to libuuid (#2792)
  • [Test Package Versions Bump] Updating package versions (#2795)

Changes since 2.8.0

2.8.0

05 May 13:06
6c0d118
Compare
Choose a tag to compare

Summary

This version mainly:

  • Solves a use case where the tracer would hang on startup, on CentOs.
  • Runtime Metrics now matches traces for service names that were normalized by the Tracer.
  • Changes the default resource name when using [Trace] attributes
  • The profiler now reports the same service name, environment and version as the Tracer (even when configuring the Tracer by code)

Changes

Tracer

  • Activity Compatibility Layer (#2446)
  • Use native HttpClient for UDS in .NET 6 (#2665)
  • Add more Debug logs in the tracer loader. (#2673)
  • Refactor base endpoint calculations (#2688)
  • Read profiler application info from tracer (#2699)
  • [dnlib] Enable THREAD_SAFE preprocessor constant (#2718)
  • Update default resource name for TraceAnnotationsIntegration (#2720)
  • Improve profiler logging in the tracer (#2733)
  • [DuckTyping] Two pass check to avoid creation of invalid types in memory. (#2716)
  • Return CORPROF_E_PROFILER_CANCEL_ACTIVATION if Tracing is Disabled (#2685)
  • Normalize DogStatsD client service name with Trace Agent logic (#2719)
  • Add support for GraphQL 5.x (#2632)
  • Fix hang on Centos and Improve installer smoke tests (#2726)

AppSec

  • [AppSec] Unhandled exception bug (#2698)
  • [AppSec] Monitor path params for asp.net core 3.0 routing endpoints, webforms and webapi (#2715)
  • [Appsec] Remove unused data model files (#2722)

Continuous Profiler

  • [Profiler] CPU profiling implementation (#2645)
  • [Profiler] Add Undefined-Behavior sanitizer on the profiler (#2690)
  • [Profiler] Fix duration computation in CPU time profiler (#2738)
  • [Profiler] Allow Stack collector to collect callstack of the current thread (#2740)
  • [Profiler] Rework the linux stack frames collectors (#2747)

Miscellaneous

  • [ALL] Add overload to create std::string from WCHAR* (+ size) (#2744)

Build / Test

  • Allows our pipeline to be monitored (#2704)
  • Convert GraphQL tests to snapshot tests (#2707)
  • Try building samples in parallel (#2709)
  • [Tests] Remove Datadog.Trace references from samples (#2710)
  • Add additional entry to version bump files (#2714)
  • Add tests for extension methods with DD_TRACE_METHODS (#2717)
  • If we kill the process in our GraphQL tests on Linux, raise a SkipException (#2727)
  • [Pipeline Monitoring] Works better with an agent (#2728)
  • Consolidate custom frameworks (#2729)
  • Delete Samples.MultiDomainHost test application and its dependencies (#2731)
  • Use ARM64 AWS auto scale group (#2734)
  • Don't wait forever for a hanging sample to end (#2735)
  • Rework RabbitMQ sample to try avoid race condition (#2736)
  • Refactor Windows Build and clean Beta Msi related code (#2742)
  • Use a separate agent pool for running status updates (#2749)
  • [Build] Add timeout to dotnet installs (#2752)
  • Try using local git configuration instead of global (#2755)

Changes since 2.7.0

2.7.0

22 Apr 10:19
540b5b9
Compare
Choose a tag to compare

Summary

This version includes:

  • Support for automatic custom tracing using [Trace] attributes, using Datadog.Trace.Annotations
  • API for easier correlation with distributed tracing
  • [Profiler] The Code Hotspot feature is now available: You can now see profiles associated to your traces
  • [AppSec] New API for setting the user associated with a trace
  • [AppSec] Obfuscator potentially sensitive data found in suspicious requests.

Changes

Tracer

  • Add net6.0 target (#2405, #2658)
  • [Tracer] Add API to extract SpanContext (#2694)
  • If DirectLogSubmission is enabled, enable Logs Injection by default (#2697)
  • Adds Tracer Side SQL Query Obfuscator (#2498)
  • Automatically instrument methods decorated with [Trace] (Datadog.Trace.Annotations.TraceAttribute) (#2606)
  • Add wildcard support to DD_TRACE_METHODS (#2628)
  • Update Aerospike integration to support 5.0.0 (#2639)

AppSec

  • [AppSec] Api to allow user data to be associated with the local root span (#2546, #2682, #2706)
  • [AppSec] Update waf and ruleset 1.3.0 (#2638)
  • [Appsec] Call waf only once, add path params address (#2676)
  • [AppSec] Activate and expose the WAF's obfuscator (#2696)
  • [AppSec] Move AppSec config keys to their own file (#2700)

Continuous Profiler

  • [Profiler] Use shared runtime id in the profiler (#2635)
  • [Profiler] Stop building the profiler outside of the repository folder (#2651)
  • [Profiler] Use libddprof-based pipeline by default + cache value (#2659)
  • [Profiler] Enable CodeHotspot feature by default when the profiler is enabled (#2660)
  • [Profiler] Add beta revision in the profiler version (#2664)
  • [Profiler] Fix Code Hotspots tests (#2669)
  • [Profiler] Do not compute a default output path for pprof files (#2671)
  • [Profiler] Make local testing easier (#2680)
  • [Profiler] Add new job: Address sanitizer on Linux (#2687)
  • [Profiler] Do not export empty profiles (#2701)
  • [Profiler] Bump profiler beta version (#2702)
  • [Profiler] Add the profiler deployment script to the bumping process (#2705)

Serverless

  • [Serverless] Send the lambda invocation context to our extension (#2656)

Build / Test

  • CLI - Display the version of the profiler and tracer (#2594)
  • Ensure we test a consistent commit for PRs (#2649)
  • Update GraphQL tests to take a memory dump when not shutting down (#2655)
  • Add simplistic labeller (#2662, #2674, #2683)
  • Fix build in gitlab (#2666, #2678)
  • Add retries to more flaky steps (#2679)
  • Fix "MakeGrpcToolsExecutable" when NugetPackageDirectory is not provided (#2689)
  • Make running integration tests on OSx great again (#2708)

Miscellaneous

  • Disable warnings in vendored code (#2672)
  • Remove remaining references to nlohmann.json NuGet package (#2691)
  • Move loading dynamic library mechanism to shared code (#2624)

Changes since 2.6.0