getsentry / getsentry/sentry-dotnet
Consider dropping netstandard targets for Sentry.DiagnosticSource
- 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
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