|
|
|
@ -18,6 +18,7 @@ package org.springframework.boot.actuate.autoconfigure.tracing; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.function.Supplier; |
|
|
|
import java.util.function.Supplier; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import io.micrometer.tracing.BaggageInScope; |
|
|
|
import io.micrometer.tracing.BaggageManager; |
|
|
|
import io.micrometer.tracing.BaggageManager; |
|
|
|
import io.micrometer.tracing.Span; |
|
|
|
import io.micrometer.tracing.Span; |
|
|
|
import io.micrometer.tracing.Tracer; |
|
|
|
import io.micrometer.tracing.Tracer; |
|
|
|
@ -60,11 +61,13 @@ class BaggagePropagationIntegrationTests { |
|
|
|
assertThatTracingContextIsInitialized(autoConfig); |
|
|
|
assertThatTracingContextIsInitialized(autoConfig); |
|
|
|
try (Tracer.SpanInScope scope = tracer.withSpan(span.start())) { |
|
|
|
try (Tracer.SpanInScope scope = tracer.withSpan(span.start())) { |
|
|
|
BaggageManager baggageManager = context.getBean(BaggageManager.class); |
|
|
|
BaggageManager baggageManager = context.getBean(BaggageManager.class); |
|
|
|
baggageManager.createBaggage(COUNTRY_CODE).set(span.context(), "FO"); |
|
|
|
try (BaggageInScope fo = baggageManager.createBaggageInScope(span.context(), COUNTRY_CODE, "FO"); |
|
|
|
baggageManager.createBaggage(BUSINESS_PROCESS).set(span.context(), "ALM"); |
|
|
|
BaggageInScope alm = baggageManager.createBaggageInScope(span.context(), BUSINESS_PROCESS, |
|
|
|
assertThat(MDC.get("traceId")).isEqualTo(span.context().traceId()); |
|
|
|
"ALM")) { |
|
|
|
assertThat(MDC.get(COUNTRY_CODE)).isEqualTo("FO"); |
|
|
|
assertThat(MDC.get("traceId")).isEqualTo(span.context().traceId()); |
|
|
|
assertThat(MDC.get(BUSINESS_PROCESS)).isEqualTo("ALM"); |
|
|
|
assertThat(MDC.get(COUNTRY_CODE)).isEqualTo("FO"); |
|
|
|
|
|
|
|
assertThat(MDC.get(BUSINESS_PROCESS)).isEqualTo("ALM"); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
finally { |
|
|
|
finally { |
|
|
|
span.end(); |
|
|
|
span.end(); |
|
|
|
@ -84,17 +87,20 @@ class BaggagePropagationIntegrationTests { |
|
|
|
Span span = createSpan(tracer); |
|
|
|
Span span = createSpan(tracer); |
|
|
|
assertThatTracingContextIsInitialized(autoConfig); |
|
|
|
assertThatTracingContextIsInitialized(autoConfig); |
|
|
|
try (Tracer.SpanInScope scope = tracer.withSpan(span.start())) { |
|
|
|
try (Tracer.SpanInScope scope = tracer.withSpan(span.start())) { |
|
|
|
context.getBean(BaggageManager.class).createBaggage(COUNTRY_CODE).set(span.context(), "FO"); |
|
|
|
try (BaggageInScope fo = context.getBean(BaggageManager.class) |
|
|
|
assertThat(MDC.get("traceId")).isEqualTo(span.context().traceId()); |
|
|
|
.createBaggageInScope(span.context(), COUNTRY_CODE, "FO")) { |
|
|
|
assertThat(MDC.get(COUNTRY_CODE)).isEqualTo("FO"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try (Tracer.SpanInScope scope2 = tracer.withSpan(null)) { |
|
|
|
assertThat(MDC.get("traceId")).isEqualTo(span.context().traceId()); |
|
|
|
assertThatMdcContainsUnsetTraceId(); |
|
|
|
assertThat(MDC.get(COUNTRY_CODE)).isEqualTo("FO"); |
|
|
|
assertThat(MDC.get(COUNTRY_CODE)).isNull(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertThat(MDC.get("traceId")).isEqualTo(span.context().traceId()); |
|
|
|
try (Tracer.SpanInScope scope2 = tracer.withSpan(null)) { |
|
|
|
assertThat(MDC.get(COUNTRY_CODE)).isEqualTo("FO"); |
|
|
|
assertThatMdcContainsUnsetTraceId(); |
|
|
|
|
|
|
|
assertThat(MDC.get(COUNTRY_CODE)).isNull(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertThat(MDC.get("traceId")).isEqualTo(span.context().traceId()); |
|
|
|
|
|
|
|
assertThat(MDC.get(COUNTRY_CODE)).isEqualTo("FO"); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
finally { |
|
|
|
finally { |
|
|
|
span.end(); |
|
|
|
span.end(); |
|
|
|
|