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); }
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); }
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); }
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); }