コード例 #1
0
        public void WebRequest_InjectExtract_Identity()
        {
            var propagator = new B3SpanContextPropagator();

            var       traceId = TraceId.CreateFromUlong(2147483647);
            const int spanId  = 2147483646;
            const SamplingPriority samplingPriority = SamplingPriority.AutoReject;

            IHeadersCollection headers = WebRequest.CreateHttp("http://localhost").Headers.Wrap();
            var context = new SpanContext(traceId, spanId, samplingPriority);

            propagator.Inject(context, headers);

            AssertExpected(headers, B3HttpHeaderNames.B3TraceId, "0000000000000000000000007fffffff");
            AssertExpected(headers, B3HttpHeaderNames.B3SpanId, "000000007ffffffe");
            AssertExpected(headers, B3HttpHeaderNames.B3Sampled, "0");
            AssertMissing(headers, B3HttpHeaderNames.B3ParentId);
            AssertMissing(headers, B3HttpHeaderNames.B3Flags);

            var resultContext = propagator.Extract(headers);

            Assert.NotNull(resultContext);
            Assert.Equal(context.SpanId, resultContext.SpanId);
            Assert.Equal(context.TraceId, resultContext.TraceId);
            Assert.Equal(context.SamplingPriority, resultContext.SamplingPriority);
        }
コード例 #2
0
        public void HttpRequestMessage_InjectExtract_Identity_WithParent()
        {
            var propagator = new B3SpanContextPropagator();

            var                    traceId          = TraceId.CreateFromUlong(18446744073709551615);
            const ulong            spanId           = 18446744073709551614;
            const SamplingPriority samplingPriority = SamplingPriority.UserKeep;

            IHeadersCollection headers = new HttpRequestMessage().Headers.Wrap();
            var parentContext          = new SpanContext(traceId, spanId, samplingPriority);
            var traceContext           = new TraceContext(null)
            {
                SamplingPriority = samplingPriority
            };

            var context = new SpanContext(parentContext, traceContext, null);

            propagator.Inject(context, headers);

            AssertExpected(headers, B3HttpHeaderNames.B3TraceId, "0000000000000000ffffffffffffffff");
            AssertExpected(headers, B3HttpHeaderNames.B3SpanId, context.SpanId.ToString("x16"));
            AssertExpected(headers, B3HttpHeaderNames.B3ParentId, "fffffffffffffffe");
            AssertExpected(headers, B3HttpHeaderNames.B3Flags, "1");
            AssertMissing(headers, B3HttpHeaderNames.B3Sampled);

            var resultContext = propagator.Extract(headers);

            Assert.NotNull(resultContext);
            Assert.Equal(context.SpanId, resultContext.SpanId);
            Assert.Equal(context.TraceId, resultContext.TraceId);
            Assert.Equal(samplingPriority, resultContext.SamplingPriority);
        }
コード例 #3
0
        internal void HttpRequestMessage_InjectExtract_Identity(IHeadersCollection headers)
        {
            var                    traceId          = TraceId.CreateFromString("52686470458518446744073709551615");
            const ulong            spanId           = 18446744073709551614;
            const SamplingPriority samplingPriority = SamplingPriority.AutoKeep;

            var context = new SpanContext(traceId, spanId, samplingPriority);

            _propagator.Inject(context, headers);

            AssertExpected(headers, B3HttpHeaderNames.B3TraceId, "52686470458518446744073709551615");
            AssertExpected(headers, B3HttpHeaderNames.B3SpanId, "fffffffffffffffe");
            AssertExpected(headers, B3HttpHeaderNames.B3Sampled, "1");
            AssertMissing(headers, B3HttpHeaderNames.B3ParentId);
            AssertMissing(headers, B3HttpHeaderNames.B3Flags);

            var resultContext = _propagator.Extract(headers);

            Assert.NotNull(resultContext);
            Assert.Equal(context.SpanId, resultContext.SpanId);
            Assert.Equal(context.TraceId, resultContext.TraceId);
            Assert.Equal(context.SamplingPriority, resultContext.SamplingPriority);
        }
        internal void InjectExtract_Identity(IHeadersCollection headers)
        {
            var       traceId = TraceId.CreateFromString("52686470458518446744073709551615");
            const int spanId  = 7;
            const SamplingPriority samplingPriority = SamplingPriority.UserKeep;

            var context = new SpanContext(traceId, spanId, samplingPriority);

            _propagator.Inject(context, headers);
            var resultContext = _propagator.Extract(headers);

            Assert.NotNull(resultContext);
            Assert.Equal(context.SpanId, resultContext.SpanId);
            Assert.Equal(context.TraceId, resultContext.TraceId);
            Assert.Equal(context.SamplingPriority, resultContext.SamplingPriority);
        }
コード例 #5
0
        public void WebRequest_InjectExtract_Identity()
        {
            var propagator = new B3SpanContextPropagator();

            var       traceId = TraceId.CreateFromInt(9);
            const int spanId  = 7;
            const SamplingPriority samplingPriority = SamplingPriority.UserKeep;

            IHeadersCollection headers = WebRequest.CreateHttp("http://localhost").Headers.Wrap();
            var context = new SpanContext(traceId, spanId, samplingPriority);

            propagator.Inject(context, headers);
            var resultContext = propagator.Extract(headers);

            Assert.NotNull(resultContext);
            Assert.Equal(context.SpanId, resultContext.SpanId);
            Assert.Equal(context.TraceId, resultContext.TraceId);
            Assert.Equal(context.SamplingPriority, resultContext.SamplingPriority);
        }