Spring Boot starter
Java agent versus Spring Boot starter
You can use two options to instrument Spring Boot applications with OpenTelemetry.
- The default choice for instrumenting Spring Boot applications is the
OpenTelemetry Java agent with bytecode instrumentation:
- More out of the box instrumentation than the OpenTelemetry starter
- The OpenTelemetry Spring Boot starter can help you with:
- Spring Boot Native image applications for which the OpenTelemetry Java agent does not work
- Startup overhead of the OpenTelemetry Java agent exceeding your requirements
- A Java monitoring agent already used because the OpenTelemetry Java agent might not work with the other agent
- Spring Boot configuration files (
application.properties
,application.yml
) to configure the OpenTelemetry Spring Boot starter which doesn’t work with the OpenTelemetry Java agent
Comparison to Micrometer
A question asked frequently is how Micrometer and the OpenTelemetry Spring Boot Starter differentiate. At a high level, the differences are as follows:
OpenTelemetry Spring Boot starter:
- Natively uses the OpenTelemetry API, OpenTelemetry SDK, and the OpenTelemetry semantic conventions.
- Supported by the OpenTelemetry community (governed by the CNCF / Linux Foundation).
- An independent standalone observability system.
- Offers optional bridges into parts of the OpenTelemetry ecosystem.
- Supported by the Micrometer community (governed by Broadcom Inc).
As the authors of the OpenTelemetry Spring Boot starter, we recommend using the OpenTelemetry Spring Boot starter. We have a great community behind it, and are continuously making improvements. If you try it out and have any problems or suggestions, open an issue in our repository.