Changes
- Update Serilog automatic logs injection to use valid C# identifiers as message property names (#1009)
- Improvements to native and managed logging:
- Use spdlog library for native logging (#1005, #1028, #1044)
- Rename log files generated from managed code to
dotnet-tracer-managed-*.log(#1011) - Rename log file generated from native code to
dotnet-tracer-native.log(#1025) - Add a new
DD_TRACE_LOG_DIRECTORYenvironment variable to take precedence overDD_TRACE_LOG_PATH(#1025) - Intermediate failures when sending traces to the agent are now logged at debug level (#1011)
- When dumping the IL of a method, the native log resolves the metadata tokens (#1012)
- Upgrade the built-in Statsd client (#1008, #1026)
- Add automatic instrumentation for
System.Data 2.0.0.0(#1000) - Add automatic instrumentation for
Microsoft.Data.SqlClient.SqlCommand(#998)
Fixes
- Make instrumentation of
NpgsqlCommand.ExecuteScalarAsyncmore resilient against future changes (#997) - Improve compatibility of the DuckTyping library with structs (#1014, #1023) and fix random failures (#1048)
- Fix broken traces when WCF is hosted in IIS without ASP.NET compatibility mode (#1018)
- Fix the application name in the dd-trace dotnet cli tool usage message (#1024)
- Make the manual instrumentation more robust against .NET Framework processes with limited permissions (#1001)
Performance Improvements
- Optimize the matching of events in the aspnetcore integration (#1020)
- Optimize the normalization of URIs (#1027, #1037, #1050)
- Don't deduplicate trace ids when sending the trace count to the agent (#1045)
Build / Test
- Run the vendor tool only on updated repositories (#1006)
- Add
net461target to Azure Service Fabric integration (#1017) - Fix segfaults in
NetCoreAssemblyLoadFailureOlderNuGettest on .NET Core 2.1 (#1022) - Sign windows installer and libraries with official Datadog certificate (#1019)
- Use .NET 5.0 RTM instead of Preview for tests (#1036)
- Avoid side-effects in the rules-based sampler tests (#1042)