Rationale

In order to provide the users with the basic tracing observability story we need the following, additional features

  • W3C propagation type as the default propagation option (there would be 2 options, W3C and B3)

Conditionals

  • If Micrometer Tracing IS NOT on the classpath
  • For Brave
    • [Context-Propagation] We will setup Brave B3 Propagation as default (there's no W3C support out of the box in Brave)
  • For OTel
    • [Context-Propagation] We will setup W3C Propagation without Baggage
    • [Context-Propagation] We will setup B3 Propagation without Baggage when B3 propagation property turned on
  • If Micrometer Tracing IS on the classpath
  • For Brave
    • [Context-Propagation] By default we setup W3C context propagation without Baggage (that will be possible with Tracing snapshots - https://github.com/micrometer-metrics/tracing/pull/72)
    • [Context-Propagation] We can switch to B3 context propagation (via a property)
  • For OTel:
    • [Context-Propagation] We will setup W3C Propagation without Baggage
    • [Context-Propagation] We will setup B3 Propagation without Baggage when B3 propagation property turned on

superseeds https://github.com/spring-projects/spring-boot/pull/32214 split from https://github.com/spring-projects/spring-boot/pull/32480

Comment From: wilkinsona

I got confused by the separation of the 3 PRs and processed this all in https://github.com/spring-projects/spring-boot/pull/32480 in the end. Sorry.