namespace OpenTelemetry.Trace { /// /// Extension methods to simplify registering of dependency instrumentation. /// public static class TracerProviderBuilderExtensions { /// /// Enables Microsoft.EntityFrameworkCore instrumentation. /// /// being configured. /// EntityFrameworkCore configuration options. /// The instance of to chain the calls. public static TracerProviderBuilder AddEntityFrameworkCoreInstrumentation( this TracerProviderBuilder builder, Action configureOptions = null) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } var options = new EntityFrameworkInstrumentationOptions(); configureOptions?.Invoke(options); builder.AddInstrumentation(() => new EntityFrameworkInstrumentation(options)); builder.AddSource(EntityFrameworkDiagnosticListener.ActivitySourceName); return builder; } } }