Releases: opentracing-contrib/csharp-netcore
Releases · opentracing-contrib/csharp-netcore
v0.9.0 - .NET 7 support
Changes
- Adds support for .NET 7 (thank you, @mehyaa)
- Drops support for the EOL-versions .NET Core 2.1 & .NET 5.0
- Internal: Runs tests on all supported platforms
v0.8.0 - .NET 6.0 support
What's Changed
- added .NET 6.0 support and samples by @Aaronontheweb in #91
New Contributors
- @Aaronontheweb made their first contribution in #91
Full Changelog: v0.7.1...v0.8.0
LogLevel for EF Core & Bugfixes
This release includes the following changes:
GenericDiagnosticOptions.IgnoreEvent()
was added again (it was removed by mistake in v0.7.0)System.Data.SqlClient
no longer displays as a dependency for .NET 5.0- Fixes broken Release Notes-link on the Nuget-page
- Adds "level" tag to EF Core events #70
.NET Core 3.1 & .NET 5 support
This is one last big change for this project that should hopefully bring it in a state that fixes the most pressing issues and should therefore make it reasonably useful until OpenTelemetry is GA.
The OpenTelemetry .NET library can be found at https://github.com/open-telemetry/opentelemetry-dotnet.
Changes:
- Adds explicit support for .NET Core 2.1, .NET Core 3.1 & .NET 5.0.
- Other versions of .NET Core & .NET framework are NOT supported!
- There's separate samples for each .NET version in the samples-folder.
- The library switched to Microsoft.SourceLink.GitHub for SourceLink-support. Please let us know if SourceLink does not work for you.
- All
*Options
-types are now in theOpenTracing.Contrib.NetCore.Configuration
namespace! - ASP.NET Core instrumentation:
- Most MVC events are no longer added to the spans (BeforeOnActionExecution, BeforeOnActionExecuting, ...) to reduce noise. Call
ConfigureAspNetCore(options => options.IgnoredEvents.Clear())
if you still want to see all events. You can also just remove certain events from that list. - Call
ConfigureAspNetCore(options => options.LogEvents = false)
if you don't want to have any ASP.NET Core related events added to your spans. - When ASP.NET Core is instrumented (
AddAspNetCore()
), all other areas are set tooptions.StartRootSpans = false
(see below). This means that no spans are created if you ignore a request viaoptions.IgnorePatterns
. - Internal: Spans are now stored in HttpContext.items to reduce the coupling to AsyncLocal. This should prevent the code from finishing wrong spans in some scenarios.
- Most MVC events are no longer added to the spans (BeforeOnActionExecution, BeforeOnActionExecuting, ...) to reduce noise. Call
- CoreFx instrumentation
AddCoreFx()
has been removed. Instead there's now separate methods for each instrumented feature:AddHttpHandler()
/ConfigureHttpHandler()
for instrumenting System.Net.Http (HttpClient)AddGenericDiagnostics()
/ConfigureGenericDiagnostics()
for instrumenting generic DiagnosticListeners.
- The
GenericEventOptions
-type has been removed.- Use
RemoveGenericDiagnostics()
instead ofGenericEventOptions.IgnoreAll
to completely disable the tracing of generic DiagnosticListeners. - Use
ConfigureGenericDiagnostics()
to add certainIgnoredListenerNames
andIgnoredEvents
.
- Use
- SqlClient instrumentation
- The library now instruments
System.Data.SqlClient
and the newerMicrosoft.Data.SqlClient
. Use the correspondingAddSystemSqlClient()
/ConfigureSystemSqlClient()
&AddMicrosoftSqlClient()
/ConfigureMicrosoftSqlClient()
methods to configure the behavior. - If
options.StartRootSpans
equals true, spans for SqlClient will only be created if there is an active parent span. ASP.NET Core instrumentation enables this feature and will therefore NOT create any spans if the ASP.NET Core request itself is ignored. - Use
options.LogEvents
&options.IgnoredEvents
to customize if & which events should be added to the spans.
- The library now instruments
- Entity Framework Core instrumentation
- Many EF Core events are no longer added as events to the spans to reduce noise. Use
ConfigureEntityFrameworkCore(options => options.IgnoredEvents.Clear())
to trace all events or modify theIgnoredEvents
-list to your liking. Setoptions.LogEvents = false
to disable all events. - If
options.StartRootSpans
equals true, spans for EF Core will only be created if there is an active parent span. ASP.NET Core instrumentation enables this feature and will therefore NOT create any spans if the ASP.NET Core request itself is ignored. - Internal: Spans are now stored in a ConcurrentDictionary for correlation to reduce the coupling to AsyncLocal. This should prevent the code from finishing wrong spans in certain scenarios.
- Many EF Core events are no longer added as events to the spans to reduce noise. Use
- ILogger instrumentation
- The minimum logging level for
Microsoft.AspNetCore
has been increased toWarning
to reduce the amount of span events.
- The minimum logging level for
Changes for contributors
- The project now requires the .NET SDK 5.0.101 and the following runtime versions to be installed for a successful build: 2.0.7, 2.1.23, 3.1.10.
v0.6.2
- Remove the current Span from the HttpRequestMessage properties on System.Net.Http.HttpRequestOut.Stop
v0.6.1
v0.6.0
Enhancements
- Add ignore patterns support for MVC event processor (#35) by @d1mnewz
- OnError hook for HostingOptions and HttpHandlerDiagnosticOptions (#34) by @Rangerok
- Support SqlClientDiagnostics (#40) by @catcherwong
- Reduce logs written by GenericEventProcessor, adds options to ignore some logs (#27) by @chrishaly