/// <summary> /// Adds a telemetry consumer to <see cref="TelemetryOptions.Consumers"/>. /// </summary> /// <typeparam name="T">The telemetry consumer type.</typeparam> /// <param name="options">The options.</param> /// <returns>The options.</returns> public static TelemetryOptions AddConsumer <T>(this TelemetryOptions options) where T : ITelemetryConsumer { options.Consumers.Add(typeof(T)); return(options); }
internal static void CopyTelemetryOptions(TelemetryConfiguration telemetryConfiguration, IServiceCollection services, TelemetryOptions options) { foreach (var consumer in telemetryConfiguration.Consumers) { services.TryAddSingleton(consumer.ConsumerType, sp => ActivatorUtilities.CreateInstance(sp, consumer.ConsumerType, consumer.Properties.Values?.ToArray() ?? new object[0])); options.Consumers.Add(consumer.ConsumerType); } }