static HttpWebRequestActivitySourceTests() { HttpWebRequestInstrumentationOptions options = new HttpWebRequestInstrumentationOptions { Enrich = ActivityEnrichment, }; HttpWebRequestActivitySource.Options = options; // Need to touch something in HttpWebRequestActivitySource to do the static injection. GC.KeepAlive(HttpWebRequestActivitySource.Options); }
static HttpWebRequestActivitySourceTests() { HttpWebRequestInstrumentationOptions options = new HttpWebRequestInstrumentationOptions { Enrich = ActivityEnrichment, }; HttpWebRequestActivitySource.Options = options; // Need to touch something in HttpWebRequestActivitySource/Sdk to do the static injection. GC.KeepAlive(HttpWebRequestActivitySource.Options); _ = OpenTelemetrySdk.SuppressInstrumentation; }
/// <summary> /// Enables HttpClient and HttpWebRequest instrumentation. /// </summary> /// <param name="builder"><see cref="TracerProviderBuilder"/> being configured.</param> /// <param name="configureHttpWebRequestInstrumentationOptions">HttpWebRequest configuration options.</param> /// <returns>The instance of <see cref="TracerProviderBuilder"/> to chain the calls.</returns> public static TracerProviderBuilder AddHttpClientInstrumentation( this TracerProviderBuilder builder, Action <HttpWebRequestInstrumentationOptions> configureHttpWebRequestInstrumentationOptions = null) { HttpWebRequestInstrumentationOptions options = new HttpWebRequestInstrumentationOptions(); configureHttpWebRequestInstrumentationOptions?.Invoke(options); HttpWebRequestActivitySource.Options = options; builder.AddSource(HttpWebRequestActivitySource.ActivitySourceName); return(builder); }
/// <summary> /// Enables the outgoing requests automatic data collection for .NET Framework HttpWebRequest activity source. /// </summary> /// <param name="builder"><see cref="OpenTelemetryBuilder"/> being configured.</param> /// <param name="configureOptions">HttpWebRequest configuration options.</param> /// <returns>The instance of <see cref="OpenTelemetryBuilder"/> to chain the calls.</returns> public static OpenTelemetryBuilder AddHttpWebRequestDependencyInstrumentation( this OpenTelemetryBuilder builder, Action <HttpWebRequestInstrumentationOptions> configureOptions = null) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } HttpWebRequestInstrumentationOptions options = new HttpWebRequestInstrumentationOptions(); configureOptions?.Invoke(options); HttpWebRequestActivitySource.Options = options; builder.AddActivitySource(HttpWebRequestActivitySource.ActivitySourceName); return(builder); }