| 
         For the latest stable version, please use Micrometer Tracing 1.5.5!  | 
    
Tracing support
Purpose
The problem of tracing is not new. Application developers have been creating ways to track the state of their applications for a long time. For much of that time, developers had to create the necessary tracing framework themselves.
In 2016, the Spring Cloud team created a tracing library that could help a lot of developers. It was called Spring Cloud Sleuth. The Spring team realized that tracing could be separated from Spring Cloud and created the Micrometer Tracing project, which is, essentially, a Spring-agnostic copy of Spring Cloud Sleuth. Micrometer Tracing had its 1.0.0 GA release in November 2022 and has been getting steadily better ever since.
Micrometer Tracing provides a simple facade for the most popular tracer libraries, letting you instrument your JVM-based application code without vendor lock-in. It is designed to add little to no overhead to your tracing collection activity while maximizing the portability of your tracing effort.
It also provides a tracing extension to Micrometer’s ObservationHandler (from Micrometer 1.10.0).
Whenever an Observation is used, a corresponding span is created, started, stopped and reported.
Installing
Micrometer Tracing comes with a Bill of Materials (BOM), which is a project that contains all the project versions for you.
The following example shows the required dependency in Gradle:
implementation platform('io.micrometer:micrometer-tracing-bom:latest.release')
implementation 'io.micrometer:micrometer-tracing'
The following example shows the required dependency in Maven:
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-tracing-bom</artifactId>
            <version>${micrometer-tracing.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
<dependencies>
    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-tracing</artifactId>
    </dependency>
</dependencies>
You should add a tracing bridge, such as micrometer-tracing-bridge-brave or micrometer-tracing-bridge-otel and span exporters / reporters.
When you add a bridge, the micrometer-tracing library is added transitively.