public Machine() { _enc = new Command.Encode(); _decCmd = new DecodeCommand(this); _usb = new UsbInterface(); _sampStatus = SamplingStatus.BEFORE; }
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); }
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]); }
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]); }
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); }
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]); }
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); }