From 7a7b527898e413d76ddff0ec7d5c3486e1f4a109 Mon Sep 17 00:00:00 2001 From: Piotr Bober Date: Tue, 12 Nov 2019 12:21:55 +0100 Subject: [PATCH] Use leading zeros in trace-id format for text headers --- src/jaeger_passage_span_context.erl | 2 +- test/jaeger_passage_span_context_tests.erl | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/jaeger_passage_span_context.erl b/src/jaeger_passage_span_context.erl index 7ce4e94..9f0eac8 100644 --- a/src/jaeger_passage_span_context.erl +++ b/src/jaeger_passage_span_context.erl @@ -229,7 +229,7 @@ get_flags_from_state(State) -> state_to_string(State) -> #?STATE{trace_id = TraceId, span_id = SpanId} = State, Flags = get_flags_from_state(State), - list_to_binary(io_lib:format("~.16b:~.16b:~.16b:~.16b", + list_to_binary(io_lib:format("~32.16.0b:~16.16.0b:~.16b:~.16b", [TraceId, SpanId, 0, Flags])). -spec state_from_string(binary()) -> #?STATE{}. diff --git a/test/jaeger_passage_span_context_tests.erl b/test/jaeger_passage_span_context_tests.erl index d128c75..4656bca 100644 --- a/test/jaeger_passage_span_context_tests.erl +++ b/test/jaeger_passage_span_context_tests.erl @@ -56,9 +56,11 @@ propagation_test_() -> Span0 = passage:start_span(foo, [{tracer, tracer}]), Span1 = passage:set_baggage_items(Span0, #{<<"a">> => <<"b">>}), - #{<<"uber-trace-id">> := _, <<"uberctx-a">> := _} = Injected = + #{<<"uber-trace-id">> := TraceId, <<"uberctx-a">> := _} = Injected = passage:inject_span(Span1, http_header, fun maps:put/3, #{}), + ?assertEqual(match, re:run(TraceId, <<"^[0-9a-f]{32}:[0-9a-f]{16}:0:[0-3]$">>, [{capture, none}])), + Extracted = passage:extract_span( tracer, http_header,