/// <summary> /// Adds OpenTelemetry TracerProvider to the specified <see cref="IServiceCollection" />. /// </summary> /// <param name="services">The <see cref="IServiceCollection" /> to add services to.</param> /// <param name="configure">Callback action to configure the <see cref="TracerProviderBuilder"/>.</param> /// <returns>The <see cref="IServiceCollection"/> so that additional calls can be chained.</returns> public static IServiceCollection AddOpenTelemetryTracing(this IServiceCollection services, Action <TracerProviderBuilder> configure) { Guard.Null(configure, nameof(configure)); var builder = new TracerProviderBuilderHosting(services); configure(builder); return(services.AddOpenTelemetryTracing(sp => builder.Build(sp))); }
/// <summary> /// Adds OpenTelemetry TracerProvider to the specified <see cref="IServiceCollection" />. /// </summary> /// <param name="services">The <see cref="IServiceCollection" /> to add services to.</param> /// <param name="configure">The <see cref="TracerProviderBuilder"/> action to configure TracerProviderBuilder.</param> /// <returns>The <see cref="IServiceCollection"/> so that additional calls can be chained.</returns> public static IServiceCollection AddOpenTelemetryTracing(this IServiceCollection services, Action <TracerProviderBuilder> configure) { if (configure is null) { throw new ArgumentNullException(nameof(configure)); } var builder = new TracerProviderBuilderHosting(services); configure(builder); return(services.AddOpenTelemetryTracing(sp => builder.Build(sp))); }