/// <summary> /// Enables HttpClient and HttpWebRequest 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 AddHttpInstrumentation( this TracerProviderBuilder builder, Action <HttpClientInstrumentationOptions> configureHttpClientInstrumentationOptions = null) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } builder.AddHttpClientInstrumentation(configureHttpClientInstrumentationOptions); #if NETFRAMEWORK builder.AddHttpWebRequestInstrumentation(); #endif 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.AddInstrumentation((activitySource) => new HttpClientInstrumentation(activitySource, httpClientOptions)); #if NETFRAMEWORK builder.AddHttpWebRequestInstrumentation(configureHttpWebRequestInstrumentationOptions); #endif 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.AddInstrumentation(() => new HttpClientInstrumentation(httpClientOptions)); builder.AddSource(HttpHandlerDiagnosticListener.ActivitySourceName); builder.AddLegacySource("System.Net.Http.HttpRequestOut"); #if NETFRAMEWORK builder.AddHttpWebRequestInstrumentation(configureHttpWebRequestInstrumentationOptions); #endif return(builder); }