Example #1
0
        public void TestProbabilityTagsOverrideRateLimitingTags()
        {
            _undertest = new GuaranteedThroughputSampler(0.999, 1.0);

            SamplingStatus samplingStatus = _undertest.Sample("test", new TraceId(0L));

            Assert.True(samplingStatus.IsSampled);
            var tags = samplingStatus.Tags;

            Assert.Equal(ProbabilisticSampler.Type, tags[Constants.SamplerTypeTagKey]);
            Assert.Equal(0.999, tags[Constants.SamplerParamTagKey]);
        }
Example #2
0
        public void TestRateLimitingLowerBound()
        {
            _undertest = new GuaranteedThroughputSampler(0.0001, 1.0);

            SamplingStatus samplingStatus = _undertest.Sample("test", new TraceId(long.MaxValue));

            Assert.True(samplingStatus.IsSampled);
            var tags = samplingStatus.Tags;

            Assert.Equal(GuaranteedThroughputSampler.Type, tags[Constants.SamplerTypeTagKey]);
            Assert.Equal(0.0001, tags[Constants.SamplerParamTagKey]);
        }
Example #3
0
        public void TestPerOperationSamplerWithKnownOperation()
        {
            GuaranteedThroughputSampler sampler = Substitute.ForPartsOf <GuaranteedThroughputSampler>(0, 0);

            _operationToSamplers.Add(operation, sampler);

            sampler.Sample(operation, TraceId)
            .Returns(new SamplingStatus(true, EmptyTags));

            SamplingStatus samplingStatus = _undertest.Sample(operation, TraceId);

            Assert.True(samplingStatus.IsSampled);
            sampler.Received(1).Sample(operation, TraceId);
            //verifyNoMoreInteractions(_defaultProbabilisticSampler);
        }
Example #4
0
        public void TestUpdate_rateLimitingSampler()
        {
            _undertest = new GuaranteedThroughputSampler(0.001, 1);

            Assert.False(_undertest.Update(0.001, 1));
            Assert.True(_undertest.Update(0.001, 0));

            SamplingStatus samplingStatus = _undertest.Sample("test", new TraceId(0L));

            Assert.True(samplingStatus.IsSampled);
            var tags = samplingStatus.Tags;

            Assert.Equal(ProbabilisticSampler.Type, tags[Constants.SamplerTypeTagKey]);
            Assert.Equal(0.001, tags[Constants.SamplerParamTagKey]);
        }