Skip to content

Releases: DataDog/dd-trace-dotnet

1.19.3

17 Sep 15:09
6a74fcc
Compare
Choose a tag to compare

Changes

  • remove assembly reference to System.Xml.Linq (#898)
  • catch exceptions and add logging in MSBuild instrumentation (#873)
  • change sampling priority of test framework spans (#911, #924)
  • cache Agent response and discard default sampling rates (#902)
  • flush buffer in BenchmarkDotNet exporter (#913)
  • add benchmarks for ASP.NET Core (#879)
  • use the mean span duration for benchmarks (#914)
  • improve stability of benchmark results (#897)

Fixes

  • fix System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. when making cross-AppDomain calls (#925)
  • send DogStatsD metrics even when an Agent request fails (#899)

Performance Improvements

  • optimize ASP.NET Core integration (#907)

Troubleshooting

  • optional dump IL code modifications into the profiler log (#871)
  • include value of DD_TRACE_NETSTANDARD_ENABLED in the profiler log (#928)

Build / Test

  • add unit tests for AspNetCoreDiagnosticObserver #916
  • build benchmark projects on every commit (#894)
  • use Nano Server container image for benchmarks pipeline (#915)
  • fix compiler warnings in benchmarks project (#917)
  • use dedicated pool to run benchmarks (#931)
  • prevent some projects from building at the same time (#883, #919)
  • test improvements and reduced flakiness (#888, #921, #922, #923, #926)
  • remove individual author names in NuGet packages (#900)
  • remove temporary scheduled CI job (#905)
  • remove GitVersion CI dependency (#910)
  • remove usages of WebClient.IsBusy #918
  • fix hanging integration tests (#930)

Changes since 1.19.2

1.19.2

31 Aug 21:28
9732cb1
Compare
Choose a tag to compare

Upgrade Notes

  • This release fixes a known issue in .NET Tracer 1.18.0 - 1.19.1 that would cause .NET Framework 4.6+ applications hosted on IIS to crash with System.IO.FileNotFoundException: Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (#876)
  • If the provided Workaround was used, please use the provided Resolution to remove the workaround before upgrading

Changes

  • Remove external assembly dependencies from the .NET Tracer:
    • Microsoft.CSharp 4.5.0 NuGet package (#761)
    • Newtonsoft.Json 12.0.1 NuGet package (#838)
    • System.Collections.NonGeneric 4.3.0 NuGet package (#839)
    • .NET Framework changes:
      • System.Diagnostics.DiagnosticSource 4.4.1 NuGet package (#881)
      • System.Net.Http 4.0.0.0 assembly reference (#880)
      • System.Runtime.InteropServices.RuntimeInformation 4.3.0 NuGet package (#761)

Fixes

  • Fix System.IO.FileNotFoundException: Could not load file or assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. (PR: #880, Issue: #876)
  • Fix System.InvalidProgramException: Common Language Runtime detected an invalid program (#875)
  • Fix CallVirtual expected a StackExchange.Redis.RedisBase; found StackExchange.Redis.RedisBase (#872)
  • Fix System.Runtime.Remoting.RemotingException: Object /<identifier1>/<identifier2>.rem has been disconnected or does not exist at the server. (#822, #855)
  • Fix trace agent connection issues in Azure App Services environment (#852)
  • Ensure ObjectExtensions.CallMethod can call the same target method with different expected return types (#863)
  • Use the default WebRequest for the http:// prefix to send traces to the agent (PR: #860, Issue: #858)
  • Reduce time spent performing DNS resolution when sending traces to the agent on localhost (#841, #864, #865)
  • Fix templates for tracer log messages (#847)
  • Fix error handling when sending traces to the agent (#850)
  • Add netstandard feature flag to the diagnostic log (#866)

Performance Improvements

  • Use a single cached buffer for trace serialization (#867)

Build / Test

Changes since 1.19.1

1.19.1

11 Aug 00:35
9f395f1
Compare
Choose a tag to compare

Fix

  • read the sampling rates from Agent responses before disposing them (#846)

Known Issues and Workarounds

  • Application fails to start with System.IO.FileNotFoundException System.Net.Http 4.0.0.0 (#876)

Changes since 1.19.0

1.19.0

07 Aug 20:31
39e3e3e
Compare
Choose a tag to compare

Changes

  • Remove external assembly dependency on MessagePack 1.9.3 (#806)
    • This fix resolves several instances of FileNotFoundException: Could not load file or assembly 'System.<Assembly_Name>' when running on .NET Framework
  • DD_TRACE_ENABLED now disables manual instrumentation in addition to automatic instrumentation (#796)
  • Rename the following configuration settings to follow the DD_TRACE_ prefix convention. Previous names will keep working (#816)
    • DD_TRACE_CONFIG_FILE
    • DD_TRACE_<INTEGRATION>_ENABLED
    • DD_TRACE_<INTEGRATION>_ANALYTICS_ENABLED
    • DD_TRACE_<INTEGRATION>_ANALYTICS_SAMPLE_RATE

Performance Improvements

  • Optimize HttpMessageHandler integration code path (#808)
  • Misc optimizations in the CLR Profiler (#831)

Fixes

  • Add http.status_code tag for AspNet, AspNetMvc, AspNetWebApi2 integrations (#807, #814)
  • Add missing instrumentation for ADO.NET calls made to netstandard.dll (#753, #834)
    • This feature is currently opt-in by setting the configuration variable DD_TRACE_NETSTANDARD_ENABLED
  • Fix the return type for the IWireProtocol.Execute MongoDB integration (#810)
  • Fix RNG from generating duplicate span ID's on .NET Framework (#795)
  • Properly dispose HTTP connection when sending traces to the Agent (#840)
  • Make the createLogPath.sh script executable, thanks @verdie-g! (#804)

Build / Test

  • Standardize copyright information (#794)
  • Make further reliability improvements to unit tests and integration tests (#791, #815, #826, #827, #828)

Known Issues and Workarounds

  • Application fails to start with System.IO.FileNotFoundException System.Net.Http 4.0.0.0 (#876)

Changes since 1.18.3

1.18.4-prerelease

21 Jul 02:49
540eaed
Compare
Choose a tag to compare
1.18.4-prerelease Pre-release
Pre-release

Known Issues and Workarounds

  • Application fails to start with System.IO.FileNotFoundException System.Net.Http 4.0.0.0 (#876)

1.18.3

17 Jul 01:20
92d3593
Compare
Choose a tag to compare

New

  • Add DD_TRACE_HEADER_TAGS environment variable to map incoming HTTP headers keys to tags (#790, #801)
    • Example: DD_TRACE_HEADER_TAGS=CASE-insensitive-Header:my-tag-name,User-ID:userId
    • The AspNet, AspNetWebApi2, AspNetCore, and Wcf integrations will apply the specified header values to tags on the root span
  • Add DD_TRACE_STARTUP_LOGS to configure the tracer to write diagnostic logs at tracer startup (#799)

Fixes

  • Fix incorrect null-check for ServiceVersion when sending metrics (#798)

Build / Test

  • Add a catch block for ObjectDisposedException in test class MockTracerAgent (#805)

Known Issues and Workarounds

  • Application fails to start with System.IO.FileNotFoundException System.Net.Http 4.0.0.0 (#876)

Changes since 1.18.2

1.18.2

09 Jul 20:22
1764b03
Compare
Choose a tag to compare

New

  • Add support for Datadog Synthetics distributed tracing HTTP header (#781)
  • Add diagnostic logs at tracer startup for cross-language tracer consistency (#769, #776)

Fixes

  • Improve logic in outbound HTTP automatic instrumentation to generate exactly one automatic instrumentation span (#780)
  • Ensure IIS applications run the automatic instrumentation startup hook only once at application start (#775, #778)

Performance Overhead

  • Reduce heap allocations in the following methods:
    • MethodBuilder, used throughout all integrations (#760)
    • ObjectExtensions, used throughout all integrations (#759)
    • SpanExtensions.AddTagsFromDbCommand, used in the AdoNet integration (#774)
    • UriHelpers.GetRelativeUrl, used in the AspNet, AspNetWebApi2, AspNetMvc, and AspNetCore integrations (#783)
    • AspNetCoreDiagnosticObserver, used in the AspNetCore integration (#779)
    • StringExtensions.ToBoolean (#789)
  • Improve performance in Span.Finish (#763)

Build / Test

  • Increase timeouts in smoke tests and read their output asynchronously (#788, #768)
  • Improve reliability of RateLimiter unit tests (#787)

Known Issues and Workarounds

  • Application fails to start with System.IO.FileNotFoundException System.Net.Http 4.0.0.0 (#876)

Changes since 1.18.0

1.18.1-prerelease

06 Jul 19:19
d571a1f
Compare
Choose a tag to compare
1.18.1-prerelease Pre-release
Pre-release

Known Issues and Workarounds

  • Application fails to start with System.IO.FileNotFoundException System.Net.Http 4.0.0.0 (#876)

1.18.0

25 Jun 18:39
109d79c
Compare
Choose a tag to compare

New

  • Expose sampling priority via Span.GetTag() (#739)
    • Now calling Span.GetTag("sampling.priority") returns the sampling priority for the enclosing Trace
  • Add new CorrelationIdentifier APIs for manually correlating traces with logs (#742)
    • CorrelationIdentifier.Service
    • CorrelationIdentifier.Version
    • CorrelationIdentifier.Env

Fixes

  • Restore missing spans from AdoNet, HttpMessageHandler, WebRequest and Wcf integrations on IIS (#750)

Performance Overhead

  • Remove array allocation from NextUInt63 (#743)
  • Remove locking in RateLimiter (#744)
  • Remove the heap allocation from usage of the System.Diagnostics.Stopwatch class (#756)

Additional Improvements

  • Add logging to automatic instrumentation startup code (#748)
  • Add additional exception handling around error logging for the Datadog.Trace logs (#737), potential cancellation token exceptions (#731), and accessing environment variables (#747)
  • Remove the use of exception filters (#733)
  • Split CLR profiler constants into a separate header file (#734)

Build / Test

  • Fix issue in the integration-tests pipeline that caused sample application tests to re-use the same NuGet package version (#751)
  • Increase reliability of unit-tests pipeline (#741)
  • Fix CI issue with .NET Core 3.1.300 SDK (#740)
  • Update README for building Windows tracer home assets (#732)
  • Improve standard output / standard error logging for integration test SmokeTest failures (#766)

Known Issues and Workarounds

  • Application fails to start with System.IO.FileNotFoundException System.Net.Http 4.0.0.0 (#876)

Changes since 1.17.0

1.17.1-prerelease

23 Jun 18:17
6955a68
Compare
Choose a tag to compare
1.17.1-prerelease Pre-release
Pre-release
v1.17.1-prerelease

Update Tracer version to v1.17.1-prerelease (#764)