Esempio n. 1
0
        /// <summary>
        /// Adds OpenTelemetry TracerProvider to the specified <see cref="IServiceCollection" />.
        /// </summary>
        /// <param name="services">The <see cref="IServiceCollection" /> to add services to.</param>
        /// <param name="configure">Callback action to configure the <see cref="TracerProviderBuilder"/>.</param>
        /// <returns>The <see cref="IServiceCollection"/> so that additional calls can be chained.</returns>
        public static IServiceCollection AddOpenTelemetryTracing(this IServiceCollection services, Action <TracerProviderBuilder> configure)
        {
            Guard.Null(configure, nameof(configure));

            var builder = new TracerProviderBuilderHosting(services);

            configure(builder);
            return(services.AddOpenTelemetryTracing(sp => builder.Build(sp)));
        }
        /// <summary>
        /// Adds OpenTelemetry TracerProvider to the specified <see cref="IServiceCollection" />.
        /// </summary>
        /// <param name="services">The <see cref="IServiceCollection" /> to add services to.</param>
        /// <param name="configure">The <see cref="TracerProviderBuilder"/> action to configure TracerProviderBuilder.</param>
        /// <returns>The <see cref="IServiceCollection"/> so that additional calls can be chained.</returns>
        public static IServiceCollection AddOpenTelemetryTracing(this IServiceCollection services, Action <TracerProviderBuilder> configure)
        {
            if (configure is null)
            {
                throw new ArgumentNullException(nameof(configure));
            }

            var builder = new TracerProviderBuilderHosting(services);

            configure(builder);
            return(services.AddOpenTelemetryTracing(sp => builder.Build(sp)));
        }