Use joins to create trace ids and headers

This commit is contained in:
Nathaniel Ruiz Nowell
2020-11-09 17:02:23 -08:00
parent c0a3ea96d9
commit 87789cbb95

View File

@ -242,12 +242,12 @@ class AwsXRayFormat(TextMapPropagator):
return return
otel_trace_id = "{:032x}".format(span_context.trace_id) otel_trace_id = "{:032x}".format(span_context.trace_id)
xray_trace_id = ( xray_trace_id = TRACE_ID_DELIMITER.join(
TRACE_ID_VERSION [
+ TRACE_ID_DELIMITER TRACE_ID_VERSION,
+ otel_trace_id[:TRACE_ID_FIRST_PART_LENGTH] otel_trace_id[:TRACE_ID_FIRST_PART_LENGTH],
+ TRACE_ID_DELIMITER otel_trace_id[TRACE_ID_FIRST_PART_LENGTH:],
+ otel_trace_id[TRACE_ID_FIRST_PART_LENGTH:] ]
) )
parent_id = "{:016x}".format(span_context.span_id) parent_id = "{:016x}".format(span_context.span_id)
@ -260,18 +260,15 @@ class AwsXRayFormat(TextMapPropagator):
# TODO: Add OT trace state to the X-Ray trace header # TODO: Add OT trace state to the X-Ray trace header
trace_header = ( trace_header = KV_PAIR_DELIMITER.join(
TRACE_ID_KEY [
+ KEY_AND_VALUE_DELIMITER KEY_AND_VALUE_DELIMITER.join([key, value])
+ xray_trace_id for key, value in [
+ KV_PAIR_DELIMITER (TRACE_ID_KEY, xray_trace_id),
+ PARENT_ID_KEY (PARENT_ID_KEY, parent_id),
+ KEY_AND_VALUE_DELIMITER (SAMPLED_FLAG_KEY, sampling_flag),
+ parent_id ]
+ KV_PAIR_DELIMITER ]
+ SAMPLED_FLAG_KEY
+ KEY_AND_VALUE_DELIMITER
+ sampling_flag
) )
set_in_carrier( set_in_carrier(