/// <summary> /// Enables gRPClient Instrumentation. /// </summary> /// <param name="builder"><see cref="TracerProviderBuilder"/> being configured.</param> /// <param name="configure">GrpcClient configuration options.</param> /// <returns>The instance of <see cref="TracerProviderBuilder"/> to chain the calls.</returns> public static TracerProviderBuilder AddGrpcClientInstrumentation( this TracerProviderBuilder builder, Action <GrpcClientInstrumentationOptions> configure = null) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } var grpcOptions = new GrpcClientInstrumentationOptions(); configure?.Invoke(grpcOptions); builder.AddDiagnosticSourceInstrumentation((activitySource) => new GrpcClientInstrumentation(activitySource, grpcOptions)); return(builder); }
/// <summary> /// Enables the incoming requests automatic data collection for ASP.NET Core. /// </summary> /// <param name="builder"><see cref="TracerProviderBuilder"/> being configured.</param> /// <param name="configureAspNetCoreInstrumentationOptions">ASP.NET Core Request configuration options.</param> /// <returns>The instance of <see cref="TracerProviderBuilder"/> to chain the calls.</returns> public static TracerProviderBuilder AddAspNetCoreInstrumentation( this TracerProviderBuilder builder, Action <AspNetCoreInstrumentationOptions> configureAspNetCoreInstrumentationOptions = null) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } var aspnetCoreOptions = new AspNetCoreInstrumentationOptions(); configureAspNetCoreInstrumentationOptions?.Invoke(aspnetCoreOptions); builder.AddDiagnosticSourceInstrumentation((activitySource) => new AspNetCoreInstrumentation(activitySource, aspnetCoreOptions)); return(builder); }
/// <summary> /// Enables HttpClient instrumentation. /// </summary> /// <param name="builder"><see cref="TracerProviderBuilder"/> being configured.</param> /// <param name="configureHttpClientInstrumentationOptions">HttpClient configuration options.</param> /// <returns>The instance of <see cref="TracerProviderBuilder"/> to chain the calls.</returns> public static TracerProviderBuilder AddHttpClientInstrumentation( this TracerProviderBuilder builder, Action <HttpClientInstrumentationOptions> configureHttpClientInstrumentationOptions = null) #endif { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } var httpClientOptions = new HttpClientInstrumentationOptions(); configureHttpClientInstrumentationOptions?.Invoke(httpClientOptions); builder.AddDiagnosticSourceInstrumentation((activitySource) => new HttpClientInstrumentation(activitySource, httpClientOptions)); #if NETFRAMEWORK builder.AddHttpWebRequestInstrumentation(configureHttpWebRequestInstrumentationOptions); #endif return(builder); }