Visit Azul.com Support

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

Updated OpenTelemetry Java Base

The underlying OpenTelemetry Java library has been updated from version 1.29.0 (used in Telemetry 1.1) to version 1.63.0, bringing in all fixes and API improvements released between those versions.

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)

http.method

http.request.method

http.status_code

http.response.status_code

http.url

url.full

http.target

url.path

net.peer.name

server.address

net.peer.port

server.port

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.