public void SamplingRoutesExcludedTypes() { var unsampled = new AdaptiveTesterMessageSink(); var sampled = new AdaptiveTesterMessageSink(); SamplingTelemetryProcessor sampler = new SamplingTelemetryProcessor(unsampled, sampled); sampler.ExcludedTypes = "Request"; sampler.SamplingPercentage = 100.0; sampler.Process(new RequestTelemetry()); sampler.Process(new EventTelemetry()); Assert.IsNotNull(sampled.events.Dequeue()); Assert.IsNotNull(unsampled.requests.Dequeue()); }
public void SamplingWontEarlyExitWhenUnsampledNextPresent() { var unsampled = new AdaptiveTesterMessageSink(); var sampled = new AdaptiveTesterMessageSink(); SamplingTelemetryProcessor sampler = new SamplingTelemetryProcessor(unsampled, sampled) { SamplingPercentage = 100.0 }; sampler.Process(new RequestTelemetry()); Assert.IsTrue(sampled.requests.Count == 1); var sent = sampled.requests.Dequeue(); Assert.IsNotNull(sent); var sentSample = sent as ISupportSampling; Assert.IsNotNull(sentSample); Assert.IsTrue(sentSample.SamplingPercentage.HasValue); }
public void SamplingSkipsSampledTelemetryItemProperty() { var unsampled = new AdaptiveTesterMessageSink(); var sampled = new AdaptiveTesterMessageSink(); SamplingTelemetryProcessor sampler = new SamplingTelemetryProcessor(unsampled, sampled) { SamplingPercentage = 100.0 }; var send = new RequestTelemetry(); var sendSampled = (send as ISupportSampling); Assert.IsNotNull(sendSampled); sendSampled.SamplingPercentage = 25.0; sampler.Process(send); Assert.IsTrue(unsampled.requests.Count == 1); Assert.IsTrue(sampled.requests.Count == 0); }