public void CreateANewTraceparentAndResetTraceStateIfFlagsAreNotValid() { var traceContext = TraceContext.Handle("00-12345678901234567890123456789012-1234567890123456-0", "a trace state"); traceContext.TraceParent.Should().NotBe("00-12345678901234567890123456789012-1234567890123456-0"); traceContext.TraceState.Should().BeEmpty(); }
public void CreateANewTraceparentAndResetTraceStateIfTheVersionCanNotBeParsed() { var traceContext = TraceContext.Handle("0-0-0-0", "a trace state"); traceContext.TraceParent.Should().NotBe("0-0-0-0"); traceContext.TraceState.Should().BeEmpty(); }
public void CreateANewTraceparentAndResetTraceStateIfTheTraceIdIsNotValid() { var traceContext = TraceContext.Handle("00-0-0-0", "a trace state"); traceContext.TraceParent.Should().NotBe("00-0-0-0"); traceContext.TraceState.Should().BeEmpty(); }
public void CreateADifferentTraceContextEachTime() { var traceContext1 = TraceContext.Handle(null, null); var traceContext2 = TraceContext.Handle(null, null); traceContext1.TraceParent.Should().NotBe(traceContext2.TraceParent); }
public void CreateANewOneIfTraceParentIsNotReceived(string traceParent, string traceState) { var traceContext = TraceContext.Handle(traceParent, traceState); traceContext.TraceParent.Should().NotBeNull(); traceContext.TraceState.Should().BeEmpty(); }
public Task Before(SNSEvent snsEvent, MiddyNetContext context) { var snsMessage = snsEvent.Records.First().Sns; var traceParentHeaderValue = string.Empty; if (snsMessage.MessageAttributes.ContainsKey(TraceParentHeaderName)) { traceParentHeaderValue = snsMessage.MessageAttributes[TraceParentHeaderName].Value; } var traceStateHeaderValue = string.Empty; if (snsMessage.MessageAttributes.ContainsKey(TraceStateHeaderName)) { traceParentHeaderValue = snsMessage.MessageAttributes[TraceStateHeaderName].Value; } var traceContext = TraceContext.Handle(traceParentHeaderValue, traceStateHeaderValue); context.Logger.EnrichWith(new LogProperty(TraceParentHeaderName, traceContext.TraceParent)); context.Logger.EnrichWith(new LogProperty(TraceStateHeaderName, traceContext.TraceState)); context.Logger.EnrichWith(new LogProperty(TraceIdHeaderName, traceContext.TraceId)); return(Task.CompletedTask); }
public void UpdateParentIdIfTraceParentIsCorrect() { var traceContext = TraceContext.Handle("00-12345678901234567890123456789012-1234567890123456-00", "a trace state"); traceContext.TraceParent.Should().StartWith("00-12345678901234567890123456789012-") .And.EndWith("-00") .And.NotEndWith("-1234567890123456-00"); }
public void EnrichMessageAttributesWithTraceContext() { var sendMessageRequest = new SendMessageRequest(); var traceContext = TraceContext.Handle("00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01", "congo=t61rcWkgMzE"); sendMessageRequest.EnrichWithTraceContext(traceContext); sendMessageRequest.MessageAttributes.Should().ContainKey("traceparent"); sendMessageRequest.MessageAttributes.Should().ContainKey("tracestate"); }
public Task Before(APIGatewayProxyRequest apiGatewayEvent, MiddyNetContext context) { var traceParentHeaderValue = string.Empty; if (apiGatewayEvent.Headers.ContainsKey(TraceParentHeaderName)) { traceParentHeaderValue = apiGatewayEvent.Headers[TraceParentHeaderName]; } var traceStateHeaderValue = string.Empty; if (apiGatewayEvent.Headers.ContainsKey(TraceStateHeaderName)) { traceStateHeaderValue = apiGatewayEvent.Headers[TraceStateHeaderName]; } var traceContext = TraceContext.Handle(traceParentHeaderValue, traceStateHeaderValue); context.Logger.EnrichWith(new LogProperty(TraceParentHeaderName, traceContext.TraceParent)); context.Logger.EnrichWith(new LogProperty(TraceStateHeaderName, traceContext.TraceState)); context.Logger.EnrichWith(new LogProperty(TraceIdHeaderName, traceContext.TraceId)); return(Task.CompletedTask); }
public void PropagateTraceStateIfTraceParentIsCorrect() { var traceContext = TraceContext.Handle("00-12345678901234567890123456789012-1234567890123456-00", "a trace state"); traceContext.TraceState.Should().Be("a trace state"); }