public void Extract_HttpHeadersFormat_HeadersProperlySet_SpanContext()
        {
            const ulong parentId = 10;
            const ulong traceId  = 42;
            var         headers  = new MockTextMap();

            headers.Set(HttpHeaderNames.B3SpanId, parentId.ToString("x16"));
            headers.Set(HttpHeaderNames.B3TraceId, traceId.ToString("x16"));

            var otSpanContext = (OpenTracingSpanContext)_tracer.Extract(BuiltinFormats.HttpHeaders, headers);

            Assert.Equal(parentId, otSpanContext.Context.SpanId);
            Assert.Equal(traceId, otSpanContext.Context.TraceId);
        }
Example #2
0
        public void Extract_ValidParentAndTraceId_ProperSpanContext()
        {
            const ulong traceId  = 10;
            const ulong parentId = 120;

            var headers = new MockTextMap();

            headers.Set(HttpHeaderTraceId, traceId.ToString("x16"));
            headers.Set(HttpHeaderParentId, parentId.ToString("x16"));

            var spanContext = _codec.Extract(headers) as OpenTracingSpanContext;

            Assert.NotNull(spanContext);
            Assert.Equal(traceId, spanContext.Context.TraceId);
            Assert.Equal(parentId, spanContext.Context.SpanId);
        }
Example #3
0
        public void Extract_MissingParentIdHeader_Exception()
        {
            var headers = new MockTextMap();

            headers.Set(HttpHeaderTraceId, "10");
            Assert.Throws <ArgumentException>(() => _codec.Extract(headers));
        }
Example #4
0
        public void Extract_WrongHeaderCase_ExtractionStillWorks()
        {
            const ulong            traceId          = 10;
            const ulong            parentId         = 120;
            const SamplingPriority samplingPriority = SamplingPriority.AutoKeep;

            var headers = new MockTextMap();

            headers.Set(HttpHeaderTraceId.ToUpper(), traceId.ToString("x16"));
            headers.Set(HttpHeaderParentId.ToUpper(), parentId.ToString("x16"));
            headers.Set(HttpHeaderSamplingPriority.ToUpper(), ((int)samplingPriority).ToString());

            var spanContext = _codec.Extract(headers) as OpenTracingSpanContext;

            Assert.NotNull(spanContext);
            Assert.Equal(traceId, spanContext.Context.TraceId);
            Assert.Equal(parentId, spanContext.Context.SpanId);
        }