-
Type: New Feature
-
Resolution: Unresolved
-
Priority: Minor - P4
-
None
-
Affects Version/s: None
-
Component/s: Performance Benchmarking
-
None
Implement OpenTelemetry's distributed traces and metrics in the c# driver for performance profiling. Use either System.Diagnostics API or OpenTelemetry NuGet dependency.
Definition of done:
- as a user, I can profile the C# driver's contribution to overall performance when completing a transaction.
Notable not doing:
- this work only covers client side instrumentation. Links are included below for .NET GRPC libraries. These should be considered in the design. Ideally we'll instrument in a manner that makes distributed traces easily integrated to the forthcoming GRPC wire protocol (for the transmission and collection of correlation IDs generated server-side). This leaves our work extensible for server-side distributed traces, should these be implemented at a later date.
see:
- Community OTel extension for MongoDB driver
- OTel specs for database client calls
- https://github.com/open-telemetry/opentelemetry-dotnet-contrib/tree/main/src/OpenTelemetry.Instrumentation.GrpcCore
- https://github.com/open-telemetry/opentelemetry-dotnet/tree/main/src/OpenTelemetry.Exporter.OpenTelemetryProtocol.Grpc
- split from
-
DRIVERS-719 Client Side Support for OpenTelemetry
- Defining