Serialize the entire trace flags not only the sample bit (#1774)
* Serialize the entire trace flags not only the sample bit Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com> * Add test for more than just sampling bit in the context Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com> * Update api/src/test/java/io/opentelemetry/trace/propagation/HttpTraceContextTest.java Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
This commit is contained in:
parent
23444d6e5c
commit
185d10e395
|
|
@ -120,8 +120,7 @@ public abstract class SpanContext {
|
||||||
public abstract byte getTraceFlags();
|
public abstract byte getTraceFlags();
|
||||||
|
|
||||||
public void copyTraceFlagsHexTo(char[] dest, int destOffset) {
|
public void copyTraceFlagsHexTo(char[] dest, int destOffset) {
|
||||||
dest[destOffset] = '0';
|
BigendianEncoding.byteToBase16String(getTraceFlags(), dest, destOffset);
|
||||||
dest[destOffset + 1] = isSampled() ? '1' : '0';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -177,6 +177,17 @@ class HttpTraceContextTest {
|
||||||
TRACE_ID_BASE16, SPAN_ID_BASE16, SAMPLED_TRACE_OPTIONS, TRACE_STATE_DEFAULT));
|
TRACE_ID_BASE16, SPAN_ID_BASE16, SAMPLED_TRACE_OPTIONS, TRACE_STATE_DEFAULT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void extractAndInject_MoreFlags() {
|
||||||
|
String traceParent = "00-" + TRACE_ID_BASE16 + "-" + SPAN_ID_BASE16 + "-03";
|
||||||
|
Map<String, String> extractCarrier = new LinkedHashMap<>();
|
||||||
|
extractCarrier.put(TRACE_PARENT, traceParent);
|
||||||
|
Context context = httpTraceContext.extract(Context.current(), extractCarrier, getter);
|
||||||
|
Map<String, String> injectCarrier = new LinkedHashMap<>();
|
||||||
|
httpTraceContext.inject(context, injectCarrier, setter);
|
||||||
|
assertThat(extractCarrier).isEqualTo(injectCarrier);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void extract_NotSampledContext() {
|
void extract_NotSampledContext() {
|
||||||
Map<String, String> carrier = new LinkedHashMap<>();
|
Map<String, String> carrier = new LinkedHashMap<>();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue