Esempio n. 1
0
		public Machine() {
            _enc = new Command.Encode();
            _decCmd = new DecodeCommand(this);
            _usb = new UsbInterface();
            _sampStatus = SamplingStatus.BEFORE;
            
        }
Esempio n. 2
0
        public void TestFallbackToDefaultProbabilisticSampler()
        {
            _undertest = new PerOperationSampler(0, _operationToSamplers, _defaultProbabilisticSampler,
                                                 DefaultLowerBoundTracesPerSecond, _loggerFactory);
            SamplingStatus samplingStatus = _undertest.Sample(operation, TraceId);

            Assert.True(samplingStatus.IsSampled);

            _defaultProbabilisticSampler.Received(1).Sample(operation, TraceId);
        }
Esempio n. 3
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]);
        }
Esempio n. 4
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]);
        }
Esempio n. 5
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);
        }
Esempio n. 6
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]);
        }
Esempio n. 7
0
        public void SampledHeaderIfPresentOverridesFlags(string flagsStr, string sampledStr, SamplingStatus expectedStatus)
        {
            var headers = new Dictionary <string, string>
            {
                { ZipkinHttpHeaders.TraceId, "0000000000000001" },
                { ZipkinHttpHeaders.ParentSpanId, "0000000000000000" },
                { ZipkinHttpHeaders.SpanId, "00000000000000FA" },
                { ZipkinHttpHeaders.Flags, flagsStr }
            };

            if (sampledStr != null)
            {
                headers[ZipkinHttpHeaders.Sampled] = sampledStr;
            }

            Trace trace;

            Assert.True(_extractor.TryExtract(headers, out trace));

            Assert.AreEqual(expectedStatus, trace.CurrentSpan.SamplingStatus);
        }