Ejemplo n.º 1
0
        /// <summary>
        /// Traces outgoing HTTP calls.
        /// </summary>
        public static IInstrumentationBuilder AddHttpClient(this IInstrumentationBuilder builder)
        {
            if (builder == null)
                throw new ArgumentNullException(nameof(builder));

            builder.Services.AddSingleton<IDiagnosticInterceptor, HttpHandlerInterceptor>();

            return builder;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Traces Entity Framework Core commands.
        /// </summary>
        public static IInstrumentationBuilder AddEntityFrameworkCore(this IInstrumentationBuilder builder)
        {
            if (builder == null)
                throw new ArgumentNullException(nameof(builder));

            builder.Services.AddSingleton<IDiagnosticInterceptor, EntityFrameworkCoreInterceptor>();

            return builder;
        }
        /// <summary>
        /// Adds instrumentation for ASP.NET Core with the given options.
        /// </summary>
        public static IInstrumentationBuilder AddAspNetCore(this IInstrumentationBuilder builder, Action <AspNetCoreOptions> options)
        {
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            var optionsInstance = new AspNetCoreOptions();

            options(optionsInstance);

            return(AddAspNetCore(builder, optionsInstance));
        }
        /// <summary>
        /// Adds instrumentation for ASP.NET Core with the given options.
        /// </summary>
        public static IInstrumentationBuilder AddAspNetCore(this IInstrumentationBuilder builder, AspNetCoreOptions options)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            builder.Services.AddSingleton <IDiagnosticInterceptor, RequestInterceptor>();
            builder.Services.AddSingleton <IDiagnosticInterceptor, MvcInterceptor>();

            if (options.StartAutomatically)
            {
                builder.Services.AddTransient <IStartupFilter, StartInstrumentationStartupFilter>();
            }

            return(builder);
        }
 /// <summary>
 /// Adds instrumentation for ASP.NET Core with default options.
 /// </summary>
 public static IInstrumentationBuilder AddAspNetCore(this IInstrumentationBuilder builder)
 {
     return(AddAspNetCore(builder, new AspNetCoreOptions()));
 }