public static IServiceCollection AddAppInsights(this IServiceCollection serviceDescriptors, Action <AppInsightsConfig> configureDelegate = null) { var appInsightsConfig = new AppInsightsConfig(); Globals.DefaultConfiguration.Bind(appInsightsConfig); configureDelegate?.Invoke(appInsightsConfig); serviceDescriptors.AddSingleton(appInsightsConfig); return(serviceDescriptors); }
public static TelemetryConfiguration Create(AppInsightsConfig appInsightsConfig) { var teleConfig = new TelemetryConfiguration(appInsightsConfig.InstrumentationKey); var teleBuilder = teleConfig.TelemetryProcessorChainBuilder; QuickPulseTelemetryProcessor quickPulseTelemetryProcessor = null; teleBuilder.Use(next => { quickPulseTelemetryProcessor = new QuickPulseTelemetryProcessor(next); return(quickPulseTelemetryProcessor); }); var quickPulse = new QuickPulseTelemetryModule(); quickPulse.Initialize(teleConfig); quickPulse.RegisterTelemetryProcessor(quickPulseTelemetryProcessor); return(teleConfig); }