public void ApplicationInsightsSamplerGoodArgs() { ApplicationInsightsSampler pointFiveSampler = new ApplicationInsightsSampler(0.5f); Assert.NotNull(pointFiveSampler); ApplicationInsightsSampler zeroSampler = new ApplicationInsightsSampler(0f); Assert.NotNull(zeroSampler); ApplicationInsightsSampler oneSampler = new ApplicationInsightsSampler(1f); Assert.NotNull(oneSampler); }
public void VerifyHashAlgorithmCorrectness() { byte[] testBytes = new byte[] { 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, }; byte[] testBytes2 = new byte[] { 0x0F, 0x1F, 0x2F, 0x3F, 0x4F, 0x5F, 0x6F, 0x7F, 0x8F, 0x9F, 0xAF, 0xBF, 0xCF, 0xDF, 0xEF, 0xFF, }; ActivityTraceId testId = ActivityTraceId.CreateFromBytes(testBytes); ActivityTraceId testId2 = ActivityTraceId.CreateFromBytes(testBytes2); ActivityContext parentContext = default(ActivityContext); SamplingParameters testParams = new SamplingParameters(parentContext, testId, "TestActivity", ActivityKind.Internal); SamplingParameters testParams2 = new SamplingParameters(parentContext, testId2, "TestActivity", ActivityKind.Internal); var zeroSampler = new ApplicationInsightsSampler(0); ApplicationInsightsSampler oneSampler = new ApplicationInsightsSampler(1); // 0.86 is below the sample score for testId1, but strict enough to drop testId2 ApplicationInsightsSampler ratioSampler = new ApplicationInsightsSampler(0.86f); Assert.Equal(SamplingDecision.Drop, zeroSampler.ShouldSample(testParams).Decision); Assert.Equal(SamplingDecision.Drop, zeroSampler.ShouldSample(testParams2).Decision); Assert.Equal(SamplingDecision.RecordAndSample, oneSampler.ShouldSample(testParams).Decision); Assert.Equal(SamplingDecision.RecordAndSample, oneSampler.ShouldSample(testParams2).Decision); Assert.Equal(SamplingDecision.Drop, ratioSampler.ShouldSample(testParams).Decision); Assert.Equal(SamplingDecision.RecordAndSample, ratioSampler.ShouldSample(testParams2).Decision); }