Eclipse Microprofile Telemetry
Azul Payara 7.2026.8 provides MicroProfile Telemetry 2.1.
The aim of the spec is to adopt OpenTelemetry into MicroProfile applications, so they can benefit from distributed tracing and observability.
OpenTelemetry thus becomes the primary observability API in Azul Payara.
MicroProfile Telemetry 2.1 covers Tracing, Metrics, and Logs. As of version 7.2026.8, Azul Payara provides support for the MicroProfile Telemetry API with full coverage of these three signal types. Additionally, Azul Payara emits server-wide telemetry signals via OpenTelemetry, including JVM runtime metrics and HTTP server metrics.
For more details about configuration of OpenTelemetry refer to OpenTelemetry documentation for application development.
For information about server-emitted telemetry signals, see Server-Emitted OpenTelemetry Signals.
What’s New in MicroProfile Telemetry 2.1
MicroProfile Telemetry 2.1 (included in MicroProfile 7.1) represents a significant advancement over version 1.1 (included in MicroProfile 6.1). The major capabilities described in this section — metrics support, logging integration, and the shared SDK model — were first introduced in Telemetry 2.0 as part of MicroProfile 7.0. Telemetry 2.1 (MicroProfile 7.1) is a minor refinement on top of 2.0.
|
Note
|
Users upgrading from versions prior to Azul Payara Community 7.2026.8 (which provided MicroProfile 6.1 support) are jumping across both 7.0 and 7.1, and all changes below apply to them. |
OpenTelemetry Metrics Support
Full OpenTelemetry Metrics API support is now available. Applications can inject io.opentelemetry.api.metrics.Meter via CDI to create and record metrics:
@ApplicationScoped
public class OrderService {
@Inject
Meter meter;
private LongCounter orderCounter;
@PostConstruct
void init() {
orderCounter = meter.counterBuilder("orders.processed")
.setDescription("Total number of processed orders")
.setUnit("orders")
.build();
}
public void processOrder(Order order) {
orderCounter.add(1);
// process order...
}
}
The runtime automatically provides the following platform metrics:
-
HTTP server request duration (
http.server.request.duration) -
JVM memory usage
-
JVM garbage collection metrics
-
JVM thread counts
-
JVM class loading statistics
-
JVM CPU usage
Logging Support
MicroProfile Telemetry 2.1 bridges application logging frameworks (SLF4J, Log4j) into OpenTelemetry signals. Log records are routed through the OpenTelemetry Logs API and exported alongside traces and metrics, enabling correlated observability across all three signal types.
Shared SDK Initialization Model
In MicroProfile Telemetry 1.1, a separate OpenTelemetry SDK instance was created per deployed application. In 2.1, a single shared SDK instance is created at runtime startup when otel.sdk.disabled=false is configured. This shared instance is used by all deployed applications.
To enable the OpenTelemetry SDK, set the following MicroProfile Config property at the runtime level (not per-application):
otel.sdk.disabled=false
Upgrading from MicroProfile Telemetry 1.1 to 2.1
HTTP Semantic Convention Changes
MicroProfile Telemetry 2.0 adopted the stabilized OpenTelemetry HTTP semantic conventions. Span attribute names for HTTP operations have changed. Any dashboards, alerts, or queries that reference old attribute names must be updated.
Key renamed attributes:
| Old attribute (Telemetry 1.1) | New attribute (Telemetry 2.1) |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
For the full list refer to the OpenTelemetry HTTP semantic convention stability migration guide.
SDK Initialization Change
In Telemetry 1.1, the SDK was initialized per application automatically. In Telemetry 2.1, the SDK must be explicitly enabled at the runtime level via otel.sdk.disabled=false. Applications that relied on per-application SDK initialization will need to move this configuration to the runtime level.
If otel.sdk.disabled is not set (or is set to true), the SDK remains disabled and no telemetry signals are exported — matching the previous default behavior.
Note on MicroProfile Metrics Removal
MicroProfile Metrics has been removed from the MicroProfile platform starting from version 7.0 and is therefore also absent in 7.1. MicroProfile Telemetry 2.1 is now the primary observability API for metrics, traces, and logs on the Azul Payara Platform. Refer to the MicroProfile Metrics pages for context on what was previously available.