private static TelemetryProcessorChain CreateTelemetryProcessorChainWithSampling(IList <ITelemetry> sentTelemetry, double samplingPercentage, string excludedTypes = null, string includedTypes = null) { var tc = new TelemetryConfiguration { TelemetryChannel = new StubTelemetryChannel() }; tc.InstrumentationKey = Guid.NewGuid().ToString("D"); var channelBuilder = new TelemetryProcessorChainBuilder(tc); channelBuilder.UseSampling(samplingPercentage, excludedTypes, includedTypes); channelBuilder.Use(next => new StubTelemetryProcessor(next) { OnProcess = t => sentTelemetry.Add(t) }); channelBuilder.Build(); TelemetryProcessorChain processors = tc.TelemetryProcessorChain; foreach (ITelemetryProcessor processor in processors.TelemetryProcessors) { ITelemetryModule m = processor as ITelemetryModule; if (m != null) { m.Initialize(tc); } } return(processors); }
public void UseSamplingSetsAddsSamplingProcessorToTheChainWithCorrectPercentage() { var tc = new TelemetryConfiguration { TelemetryChannel = new StubTelemetryChannel() }; var channelBuilder = new TelemetryProcessorChainBuilder(tc); channelBuilder.UseSampling(5); channelBuilder.Build(); Assert.AreEqual(5, ((SamplingTelemetryProcessor)tc.TelemetryProcessorChain.FirstTelemetryProcessor).SamplingPercentage); }
private static TelemetryProcessorChain CreateTelemetryProcessorChainWithSampling(IList <ITelemetry> sentTelemetry, double samplingPercentage, string excludedTypes = null, string includedTypes = null) { var tc = new TelemetryConfiguration { TelemetryChannel = new StubTelemetryChannel() }; var channelBuilder = new TelemetryProcessorChainBuilder(tc); channelBuilder.UseSampling(samplingPercentage, excludedTypes, includedTypes); channelBuilder.Use(next => new StubTelemetryProcessor(next) { OnProcess = t => sentTelemetry.Add(t) }); channelBuilder.Build(); return(tc.TelemetryProcessorChain); }
private static TelemetryProcessorChain CreateTelemetryProcessorChainWithSampling(IList <ITelemetry> sentTelemetry, double samplingPercentage) { var tc = new TelemetryConfiguration() { TelemetryChannel = new StubTelemetryChannel() }; var channelBuilder = new TelemetryProcessorChainBuilder(tc); channelBuilder.UseSampling(samplingPercentage); channelBuilder.Use((next) => new StubTelemetryProcessor(next) { OnProcess = (t) => sentTelemetry.Add(t) }); channelBuilder.Build(); return(tc.TelemetryProcessors); }