Migrating from OpenTelemetry Spring Boot Starter to Arconia OpenTelemetry
Arconia provides unified observability for Spring Boot applications, combining full support for OpenTelemetry API, SDK, and Instrumentation while also providing a seamless integration with Micrometer API and Instrumentation. The goal is to provide a single, unified observability solution for Spring Boot applications that can give you the best of both worlds: the standardization and ubiquity of OpenTelemetry and the robustness and stability of Micrometer.
If you’re currently using the OpenTelemetry Spring Boot Starter, you can easily migrate to Arconia OpenTelemetry and benefit from the full OpenTelemetry API, SDK, and Instrumentation support while also gaining full support for Micrometer API and Instrumentation, and developer experience improvements.
Dependencies
For starters, include the Arconia OpenTelemetry Spring Boot Starter dependency to your project.
dependencies {
implementation 'io.arconia:arconia-opentelemetry-spring-boot-starter'
}
dependencyManagement {
imports {
mavenBom "io.arconia:arconia-bom:0.5.2"
}
}
Next, you can remove the dependencies you previously used for the OpenTelemetry Spring Boot Starter, including the following.
Dependency | Why Remove |
---|---|
|
Replaced by Arconia OpenTelemetry Spring Boot Starter. |
Configuration Properties
The OpenTelemetry Spring Boot Starter provides a set of configuration properties to customize the OpenTelemetry SDK and Instrumentation. Arconia OpenTelemetry provides a similar set of configuration properties, but with some differences.
To ease the migration, Arconia accepts most of the configuration properties used by the OpenTelemetry Spring Boot Starter. This means that you can continue using the same configuration properties without any changes. However, whenever possible, it’s recommended to adopt the Arconia OpenTelemetry configuration properties to benefit from the full feature set.
This compatibility layer is enabled by default since it supports both the OpenTelemetry Environment Variable Specification and OpenTelemetry Java System Properties
Should you want to disable the compatibility layer, you can set the following configuration property.
arconia:
otel:
compatibility:
opentelemetry: false
Check xref:_appendix_property_mappings for more information.
Beans
If you customized the OpenTelemetry SDK in your Spring Boot application, the same code will work with Arconia Opentelemetry. Therefore, no changes are required in this area.
If you customized the OpenTelemetry SDK Autoconfigure module via code, that same code will not work with Arconia OpenTelemetry because that module is not supported since Spring Boot comes already with an autoconfiguration strategy and we didn’t see the benefits in adding an extra layer. You can apply equivalent changes directly against the OpenTelemetry SDK. |
Dev Service
The OpenTelemetry Spring Boot Starter doesn’t support dev services. Learn more about the Arconia OpenTelemetry Dev Services for OpenTelemetry in the Dev Services section.
Appendix: Property Mappings
This section shows the mapping between the OpenTelemetry Spring Boot Starter configuration properties and the Arconia OpenTelemetry configuration properties that is used by the compatibility layer.
General Configuration
OpenTelemetry Property | Arconia Property |
---|---|
|
|
|
|
|
|
|
|
Resource Configuration
OpenTelemetry Property | Arconia Property |
---|---|
|
|
|
|
|
|
Logs Configuration
OpenTelemetry Property | Arconia Property |
---|---|
|
|
|
|
|
|
|
|
Metrics Configuration
OpenTelemetry Property | Arconia Property |
---|---|
|
|
|
|
Traces Configuration
OpenTelemetry Property | Arconia Property |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Exporters Configuration
OpenTelemetry Property | Arconia Property |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Instrumentation Configuration
OpenTelemetry Property | Arconia Property |
---|---|
|
|
|
|
Property Value Conversions
Some properties have specific value mappings:
OpenTelemetry Value | Arconia Value |
---|---|
|
|
|
|
|
|
OpenTelemetry Value | Arconia Value |
---|---|
|
|
|
|
OpenTelemetry Value | Arconia Value |
---|---|
|
|
|
|
OpenTelemetry Value | Arconia Value |
---|---|
|
|
|
|
OpenTelemetry Value | Arconia Value |
---|---|
|
|
|
|
|
|
OpenTelemetry Value | Arconia Value |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
OpenTelemetry Value | Arconia Value |
---|---|
|
|
|
|
|
|
OpenTelemetry Value | Arconia Value |
---|---|
|
|
|
PropagationType.W3C` |
|
|
|
|