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);
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        /// <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);
        }