|
1 | 1 | ---
|
2 | 2 | working-groups:
|
| 3 | + - title: "Observability.Next" |
| 4 | + board-url: "https://github.com/orgs/quarkusio/projects/42" |
| 5 | + short-description: Observability.Next is a strategic initiative to modernize the observability stack within the Quarkus framework, aiming to streamline and enhance its ability to monitor and manage distributed systems. |
| 6 | + readme: | |
| 7 | + <h2>Overview</h2> |
| 8 | + <p>Observability.Next is a strategic initiative to modernize the observability stack within the Quarkus framework, aiming to streamline and enhance its ability to monitor and manage distributed systems. Currently, Quarkus (3.16.x) leverages the following components for observability: |
| 9 | + Metrics: Managed through <a href="https://micrometer.io/">Micrometer</a>, which supports multiple registries (e.g., Prometheus) to expose application metrics. |
| 10 | + Tracing: Handled via the OpenTelemetry (OTEL) SDK, enabling distributed tracing data to be exported to an OTEL collector. |
| 11 | + Logging: JBoss's LogManager with a handler forwarding logs with OTEL.</p> |
| 12 | + <p>While OpenTelemetry is the industry standard for observability, both in protocol and format, the OTEL SDK has proven challenging to adapt due to its design for agent-based observability. In a framework like Quarkus, more granular and direct control over observability is required to monitor application performance, reliability, and user experience effectively.</p> |
| 13 | + <p>Micrometer, the de-facto Java standard for metrics, has recently proposed an enhanced, global approach to observability with the new Observation API. Expanding Micrometer’s role in Quarkus’ observability stack represents an opportunity to simplify implementation and maintenance while preserving compatibility with leading observability tools.</p> |
| 14 | + <h2>Objectives</h2> |
| 15 | + <p>The Observability.Next initiative seeks to strengthen the integration of Micrometer’s evolving Observability API within Quarkus, aligning it with OpenTelemetry’s protocol standards. Key objectives include:</p> |
| 16 | + <ul> |
| 17 | + <li>Enhanced Observability Control: Implement a framework-native, Micrometer-centric approach to metrics, traces, and logs, ensuring developers have more refined control over observability components without the limitations of the OTEL SDK.</li> |
| 18 | + <li>Broader Metrics and Tracing Compatibility: Continue exposing metrics to various registries, including Prometheus, while maintaining OTEL compatibility for metrics and tracing protocols. |
| 19 | + Improved Performance and Reliability: Define and measure performance baselines of the current observability setup and compare them against the next-to-be Micrometer Observation API and OTEL bridge integration to ensure tangible performance and reliability improvements. |
| 20 | + Continue to support components using Micrometer metrics API or Open * Telemetry SDK (like Pulsar)</li> |
| 21 | + </ul> |
| 22 | + <h2>Scope</h2> |
| 23 | + <p>Observability.Next will unfold across multiple phases, each handled by specialised working groups. The scope of the initial working group will include:</p> |
| 24 | + <ul> |
| 25 | + <li>Micrometer Observation API Integration: Introduce and integrate Micrometer’s observability API as a foundational layer</li> |
| 26 | + <li>Transformation to OTEL Protocols: Develop a mechanism to translate Micrometer-collected observations into OTEL-compatible metrics, traces, and logs, ensuring smooth interoperability with OTEL-based tools and collectors.</li> |
| 27 | + <li>Performance Benchmarking: Establish a performance baseline for Quarkus’ current observability model, comparing it against the new Micrometer-based observability API and OTEL bridge to quantify gains and identify areas for further optimisation.</li> |
| 28 | + </ul> |
| 29 | + <h2>Expected Outcomes</h2> |
| 30 | + <ul> |
| 31 | + <li></li> |
| 32 | + <li>Improved Developer Experience: More intuitive, refined control over observability for Quarkus developers, reducing complexity and overhead associated with setting up and maintaining observability.</li> |
| 33 | + <li>Ecosystem Compatibility: Continued compatibility with existing observability tools such as Prometheus and OTEL collectors, ensuring interoperability with common enterprise monitoring solutions.</li> |
| 34 | + <li>Less breakage due to the OTEL SDK</li> |
| 35 | + <li>More control over the semantic convention in span and metric tags</li> |
| 36 | + <li>Performance Gains: Potentially lower latency and resource consumption in observability operations, contributing to Quarkus’ goal of high-performance, cloud-native applications.</li> |
| 37 | + </ul> |
| 38 | + <p>Some concrete features we would get at the framework level:</p> |
| 39 | + <ul> |
| 40 | + <li>Instrument once, plug different frameworks later</li> |
| 41 | + <li>Better support of scopes than the one we have today. See: |
| 42 | + https://github.com/quarkusio/quarkus/issues/25102 and |
| 43 | + https://github.com/quarkusio/quarkus/issues/37140</li> |
| 44 | + <li>Auto-generate metrics documentation from source code instrumented with it.</li> |
| 45 | + <li>A way to manage semantic conventions</li> |
| 46 | + </ul> |
| 47 | + <p>Users would benefit from:</p> |
| 48 | + <ul> |
| 49 | + <li>A way to manage their metrics schemas.</li> |
| 50 | + <li>Yet a new framework is available if they want to use it.</li> |
| 51 | + </ul> |
| 52 | + <hr /> |
| 53 | + <ul> |
| 54 | + <li> |
| 55 | + <p>Point of contact: @brunobat |
| 56 | + (@<strong>Bruno Baptista</strong> on Zulip)</p> |
| 57 | + </li> |
| 58 | + <li> |
| 59 | + <p>Proposal: https://github.com/quarkusio/quarkus/discussions/44423</p> |
| 60 | + </li> |
| 61 | + <li> |
| 62 | + <p>Related Reading:</p> |
| 63 | + <ul> |
| 64 | + <li>Micrometer, Observation API and OpenTelemetry roadmap: https://groups.google.com/g/quarkus-dev/c/y5-ojIVsa_M/m/4wquJi4bBQAJ</li> |
| 65 | + </ul> |
| 66 | + </li> |
| 67 | + </ul> |
| 68 | + status: on track |
| 69 | + completed: false |
| 70 | + last-activity: 2025-01-30 |
| 71 | + last-update-date: 2025-01-30 |
| 72 | + last-update: | |
| 73 | + The initiative just started. |
| 74 | + point-of-contact: "@brunobat" |
| 75 | + proposal: https://github.com/quarkusio/quarkus/discussions/44423 |
3 | 76 | - title: "Quarkus 3.20 LTS"
|
4 | 77 | board-url: "https://github.com/orgs/quarkusio/projects/41"
|
5 | 78 | short-description: This working group aims to track the effort around the Quarkus 3.20 LTS version.
|
|
0 commit comments