|
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