Skip to main content

MicroProfile Telemetry 2.0

Telemetry spec defines the behaviors that allow MicroProfile applications to easily participate in an environment where distributed tracing is enabled via OpenTelemetry. The OpenTelemetry specification describes the cross-language requirements and expectations for all OpenTelemetry implementations. This specification is based on the Java implementation v1.39.0 of OpenTelemetry. An implementation of this MicroProfile Telemetry MAY consume a later patch release of the Java implementation as long as the required TCKs pass successfully.

Functional changes

A full list of changes delivered in the 2.0 release can be found at MicroProfile Telemetry 2.0 Milestone.

Incompatible Changes

  • The Semantic Conventions for HTTP Spans differ from the conventions used with MicroProfile Telemetry 1.1 due to stabilization of HTTP semantic conventions in OpenTelemetry. Changes to attributes are described in HTTP semantic convention stability migration guide.
  • For runtimes that can simultaneously run multiple applications, in MicroProfile Telemetry 1.1 the OTEL_SDK_DISABLED environment variable could be set to false to enable all applications to use separate OpenTelemetry SDK instances. Setting OTEL_SDK_DISABLED to false in MicroProfile Telemetry 2.0 results in a single OpenTelemetry SDK instance being created for shared use between the runtime and applications. To enable all applications to use separate OpenTelemetry SDK instances in MicroProfile Telemetry 2.0, do not set the OTEL_SDK_DISABLED environment variable and set otel.sdk.disabled to false in a microprofile-config.properties file packaged with each application or using any other MicroProfile Config source that is only visible to applications.

API/SPI Changes

  • Consume the OpenTelemetry Java release v1.39.0. The full comparison with the v1.29.0 supported by MicroProfile Telemetry 1.1 can be found here.
  • Adopt OpenTelemetry Metrics API (141, 149)
  • Add an API maven artifact which depends on the relevant Open Telemetry API artifacts (210)

Other Changes

  • Consume the latest OpenTelemetry API (150)
  • Adopt OpenTelemetry Logging (146)
  • Provide a way to specify runtime configuration for OpenTelemetry (169)
  • Specify metrics provided by platform (151)
  • TCK: Test required metrics present (143)
  • TCK: support Meter injection (145)
  • TCK: remove the dependency on Jakarta Concurrency (137)

Maven coordinates

<dependency>

                <groupId>org.eclipse.microprofile.telemetry</groupId>

                <artifactId>microprofile-telemetry-api</artifactId>

                <type>pom</type>

                <version>2.0</version>

 </dependency>

Scope

Finalized

Released

Details

Javadocs : None

Compatible Implementations

Open Liberty

Product
Java version
Open Liberty - 24.0.0.9-beta-cl240920240801-0303
Java 11, 17 and 21

Ballots

Plan Review

The Specification Committee Ballot concluded successfully on 2023-04-20 with the following results.

Representative Representative for: Vote
Vincent Mayers Atlanta JUG +1
Emily Jiang, Nathan Rauh IBM +1
John Clingan, Roberto Cortez Red Hat +1
David Blevins, Amelia Eiras Tomitribe +1
Ed Bratt, Dmitry Kornilov Oracle +1
Jan Westerkamp, Heiko Rupp iJUG +1
Kenji Kazumura, Takahiro Nagao Fujitsu +1
Reza Rahman, Ed Burns Microsoft +1
Mingyue Huang Primeton +1
Emerson Castaneda Committer +1
Alfonso Altamirano, Luis Neto Payara +1
Total 11
Non-binding votes Role Vote
Michael Redlich Garden State Java User Group +1
Total 1

Release Review

The Specification Committee Ballot concluded successfully on 2023-10-09 with the following results.

Representative Representative for: Vote
Vincent Mayers Atlanta JUG +1
Emily Jiang, Nathan Rauh IBM +1
John Clingan, Roberto Cortez Red Hat -1
David Blevins, Amelia Eiras Tomitribe +1
Chandra Guntur, Michael Redlich Garden State Java User Group +1
Ed Bratt, Dmitry Kornilov Oracle +1
Jan Westerkamp, Heiko Rupp iJUG +1
Kenji Kazumura, Takahiro Nagao Fujitsu +1
Reza Rahman, Ed Burns Microsoft +1
Mingyue Huang Primeton +1
Alfonso Altamirano, Luis Neto Payara +1
Feng Wang Asiainfo Anhui +1
Total 11
Non-binding Votes
Garden State JUG
0
Binding + non-binding total 10

Help optimize Enterprise Java for a microservices architecture.

Join the MicroProfile Google Group, peruse recent topics or create your own, and join in on the conversation. It's that easy!

JOIN THE DISCUSSION