public void TestNegativeChildSampling() { // Create tracer that samples all spans var tracer = new WavefrontTracer .Builder(new ConsoleReporter("source"), BuildApplicationTags()) .WithSampler(new ConstantSampler(true)) .Build(); // Create parentContext with sampled set to false var parentContext = new WavefrontSpanContext(Guid.NewGuid(), Guid.NewGuid(), null, false); // Verify span created AsChildOf parentContext inherits parent sampling decision var span = (WavefrontSpan)tracer.BuildSpan("testOp").AsChildOf(parentContext).Start(); var spanContext = (WavefrontSpanContext)span.Context; long traceId = TraceIdToLong(spanContext.GetTraceId()); Assert.True(tracer.Sample(span.GetOperationName(), traceId, 0)); Assert.NotNull(span); Assert.Equal(parentContext.TraceId, spanContext.TraceId); Assert.True(spanContext.IsSampled()); bool?samplingDecision = spanContext.GetSamplingDecision(); Assert.True(samplingDecision.HasValue); Assert.False(samplingDecision.Value); }
public void TestSampling() { var tracer = new WavefrontTracer .Builder(new ConsoleReporter("source"), BuildApplicationTags()) .WithSampler(new ConstantSampler(true)) .Build(); Assert.True(tracer.Sample("testOp", 1L, 0)); tracer = new WavefrontTracer .Builder(new ConsoleReporter("source"), BuildApplicationTags()) .WithSampler(new ConstantSampler(false)) .Build(); Assert.False(tracer.Sample("testOp", 1L, 0)); }