コード例 #1
0
        public void TestBaggageNullValueTolerated()
        {
            _mgr.GetRestriction(Service, Key).Returns(new Restriction(true, 5));
            string      value = null;
            SpanContext ctx   = _setter.SetBaggage(_span, Key, value);

            AssertBaggageLogs(_span, Key, null, false, false, false);
            Assert.Null(ctx.GetBaggageItem(Key));
        }
コード例 #2
0
        public void TestInvalidBaggage()
        {
            _mgr.GetRestriction(Service, Key).Returns(new Restriction(false, 0));

            string      value = "value";
            SpanContext ctx   = _setter.SetBaggage(_span, Key, value);

            AssertBaggageLogs(_span, Key, value, false, false, true);
            Assert.Null(ctx.GetBaggageItem(Key));

            Assert.Equal(1, _metricsFactory.GetCounter("jaeger:baggage_updates", "result=err"));
        }
コード例 #3
0
        public void TestTruncatedBaggage()
        {
            _mgr.GetRestriction(Service, Key).Returns(new Restriction(true, 5));
            string      value    = "0123456789";
            string      expected = "01234";
            SpanContext ctx      = _setter.SetBaggage(_span, Key, value);

            AssertBaggageLogs(_span, Key, expected, true, false, false);
            Assert.Equal(expected, ctx.GetBaggageItem(Key));

            Assert.Equal(1, _metricsFactory.GetCounter("jaeger:baggage_truncations", ""));
            Assert.Equal(1, _metricsFactory.GetCounter("jaeger:baggage_updates", "result=ok"));
        }
コード例 #4
0
        public void TestOverrideBaggage()
        {
            _mgr.GetRestriction(Service, Key).Returns(new Restriction(true, 5));
            string      value = "value";
            SpanContext ctx   = _setter.SetBaggage(_span, Key, value);
            Span        child = (Span)_tracer.BuildSpan("some-operation").AsChildOf(ctx).Start();

            ctx = _setter.SetBaggage(child, Key, value);

            AssertBaggageLogs(child, Key, value, false, true, false);
            Assert.Equal(value, ctx.GetBaggageItem(Key));

            Assert.Equal(2, _metricsFactory.GetCounter("jaeger:baggage_updates", "result=ok"));
        }
コード例 #5
0
        public void TestUnsampledSpan()
        {
            _tracer = new Tracer.Builder("SamplerTest")
                      .WithReporter(_reporter)
                      .WithSampler(new ConstSampler(false))
                      .WithMetrics(_metrics)
                      .Build();

            _span = (Span)_tracer.BuildSpan("some-operation").Start();

            _mgr.GetRestriction(Service, Key).Returns(new Restriction(true, 5));
            string      value = "value";
            SpanContext ctx   = _setter.SetBaggage(_span, Key, value);

            Assert.Equal(value, ctx.GetBaggageItem(Key));
            // No logs should be written if the span is not sampled
            Assert.Empty(_span.GetLogs());
        }