getsentry / getsentry/sentry-dotnet

Consider dropping netstandard targets for Sentry.DiagnosticSource

Open
#5,318 2 comments 0 reactions 0 assignees View on GitHub
.NET Breaking Change Improvement Next Major
Dominant language
C#
Stars
770
Forks
248
Avg merge
3d 4h
Merged PRs (30d)
49

Description

`Sentry.DiagnosticSource` now basically provides EFCore instrumentation for NetFX (anyone on .NET Core would get that directly from the Sentry core library). It also provides either EFCore or SqlClient instrumentation for netstandard targets - but in what scenarios would those be used?
- If someone is building a NetFX app, they should use the NetFX target and they only get the EFCore diagnostics source functionality.
- Folks building .NET Core. apps should be getting the DiagnosticSource integration [directly via the Sentry package](https://github.com/getsentry/sentry-dotnet/blob/1ecbc971159a65a1723288e3b7bfcdf49d624e0e/src/Sentry/Sentry.csproj#L53-L61)
- The only others I can think of are. Unity (unlikely to need this anyway), Xamarin (which we don't support anymore) and Mono (basically just used as a runtime sometimes when debugging iOS apps or on Android - both of which imply recent versions of .NET Core)

Maybe we should look refactoring this package in v7 to:
- Drop the netstandard targets
- Make it clear in the description that it's only needed if people want to instrument EntityFrameworkCore on NetFX (DiagnosticsSource integrations for EFCore and SqlClient come OOTB for .NET Core TFMs in the Sentry package)
- Possibly consider renaming it `Sentry.DiagnosticSource.EntityFrameworkCore` or `Sentry.EntityFrameworkCore` or something so that the name more accurately represents it's reason for being

_Originally posted by @jamescrosswell in https://github.com/getsentry/sentry-dotnet/pull/5236#discussion_r3478386921_

Contributor guide

Open the contributing guide

Research direction

Start with the Sentry/Sentry.csproj DiagnosticSource integration and inspect the Sentry.DiagnosticSource package's target definitions and description. Compare the netstandard and NetFX use cases, then define the supported targets and package naming and documentation changes; done means the v7 package scope is decided and its metadata matches that scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
observability-sre
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.