|
35 | 35 | import brave.propagation.Propagation.Factory; |
36 | 36 | import brave.propagation.TraceContext; |
37 | 37 | import brave.sampler.Sampler; |
| 38 | +import io.micrometer.observation.Observation; |
| 39 | +import io.micrometer.observation.Observation.Scope; |
| 40 | +import io.micrometer.observation.ObservationRegistry; |
38 | 41 | import io.micrometer.tracing.brave.bridge.BraveBaggageManager; |
39 | 42 | import io.micrometer.tracing.brave.bridge.BraveSpanCustomizer; |
40 | 43 | import io.micrometer.tracing.brave.bridge.BraveTracer; |
|
47 | 50 | import org.assertj.core.api.InstanceOfAssertFactories; |
48 | 51 | import org.junit.jupiter.api.Test; |
49 | 52 |
|
| 53 | +import org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration; |
50 | 54 | import org.springframework.boot.actuate.autoconfigure.tracing.BraveAutoConfigurationTests.SpanHandlerConfiguration.AdditionalSpanHandler; |
51 | 55 | import org.springframework.boot.autoconfigure.AutoConfigurations; |
52 | 56 | import org.springframework.boot.context.properties.IncompatibleConfigurationException; |
@@ -364,6 +368,29 @@ void shouldConfigureTaggedFields() { |
364 | 368 | }); |
365 | 369 | } |
366 | 370 |
|
| 371 | + @Test |
| 372 | + void keysAreSetInBaggage() { |
| 373 | + this.contextRunner |
| 374 | + .withConfiguration( |
| 375 | + AutoConfigurations.of(ObservationAutoConfiguration.class, MicrometerTracingAutoConfiguration.class)) |
| 376 | + .withPropertyValues("management.tracing.baggage.remote-fields=f1,f2") |
| 377 | + .run((context) -> { |
| 378 | + BraveTracer braveTracer = context.getBean(BraveTracer.class); |
| 379 | + ObservationRegistry observationRegistry = context.getBean(ObservationRegistry.class); |
| 380 | + Observation observation = Observation.start("o1", observationRegistry) |
| 381 | + .lowCardinalityKeyValue("f1", "v1") |
| 382 | + .highCardinalityKeyValue("f2", "v2"); |
| 383 | + Map<String, String> baggage = braveTracer.getAllBaggage(); |
| 384 | + assertThat(baggage).isEmpty(); |
| 385 | + try (Scope ignore = observation.openScope()) { |
| 386 | + baggage = braveTracer.getAllBaggage(); |
| 387 | + assertThat(baggage).containsAllEntriesOf(Map.of("f1", "v1", "f2", "v2")); |
| 388 | + } |
| 389 | + baggage = braveTracer.getAllBaggage(); |
| 390 | + assertThat(baggage).isEmpty(); |
| 391 | + }); |
| 392 | + } |
| 393 | + |
367 | 394 | private void injectToMap(Map<String, String> map, String key, String value) { |
368 | 395 | map.put(key, value); |
369 | 396 | } |
|
0 commit comments