-
Notifications
You must be signed in to change notification settings - Fork 81
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[WFLY-18582] Add prometheus endpoint to micrometer extension
Add analysis document
- Loading branch information
Showing
1 changed file
with
103 additions
and
0 deletions.
There are no files selected for viewing
103 changes: 103 additions & 0 deletions
103
observability/WFLY-18582_add-prometheus-endpoint-to-micrometer-extension.adoc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
--- | ||
categories: | ||
- observability | ||
--- | ||
= WFLY-18582 - Add prometheus endpoint to micrometer extension | ||
:author: Jason Lee | ||
:email: [email protected] | ||
:toc: left | ||
:icons: font | ||
:idprefix: | ||
:idseparator: - | ||
|
||
== Overview | ||
|
||
Micrometer replaced Micrometer Metrics as the user-facing metrics library provided by WildFly. As part of that | ||
transition, the export behavior moved from a pull-based Prometheus-like format to push-based mechanism using the | ||
OpenTelemetry Protocol. Based on feedback from users who still desire to use the pull-based approach, this change will | ||
add support for the Prometheus Registry in addition to or in place of the OTLP Registry. | ||
|
||
== Issue Metadata | ||
|
||
=== Issue | ||
|
||
* https://issues.redhat.com/browse/WFLY-18582[WFLY-18582] | ||
|
||
=== Dev Contacts | ||
|
||
* mailto:{email}[{author}] | ||
|
||
=== QE Contacts | ||
|
||
=== Testing By | ||
* [x] Engineering | ||
|
||
* [ ] QE | ||
|
||
=== Affected Projects or Components | ||
|
||
Only the Micrometer subsystem and related tests will be affected | ||
|
||
=== Other Interested Projects | ||
|
||
=== Relevant Installation Types | ||
* [x] Traditional standalone server (unzipped or provisioned by Galleon) | ||
|
||
* [ ] Managed domain | ||
|
||
* [x] OpenShift s2i | ||
|
||
* [x] Bootable jar | ||
|
||
== Requirements | ||
|
||
=== Hard Requirements | ||
|
||
* Existing servers, if configured to use Micrometer (e.g., the `endpoint` property has been set), will be migrated to be | ||
and OTLP-based configuration. Since OTLP is the only current option, there is no ambiguity in this migration. | ||
* Existing servers with the extension enabled but with no endpoint set will not be changed. That is to say, Micrometer | ||
will continue to use a no-op registry. | ||
* Support for a new registry, `PrometheusRegistry` will be added. | ||
** It can be added as the only registry, or it can be added _in addition to_ the OTLP Registry | ||
** The only configuration option exposed for this registry is the web context (e.g., `/prometheus`) on which the metrics | ||
will be exposed | ||
** If the user would like to use `/metrics`, the WildFly metrics extension must be disabled first to avoid a naming conflict. | ||
|
||
=== Non-Requirements | ||
|
||
* Adding other arbitrary MeterRegistry types | ||
|
||
== Backwards Compatibility | ||
|
||
* Existing servers should continue to operate as is, using any existing OTLP configuration without manual intervention. | ||
|
||
=== Default Configuration | ||
|
||
* The default context for the Prometheus scrape will be undefined and must be specified by the user when enabling support (`context`) | ||
* The context will be secured (`secutiry-enabled`) by default | ||
|
||
=== Importing Existing Configuration | ||
|
||
* See above. | ||
|
||
=== Deployments | ||
|
||
=== Interoperability | ||
|
||
|
||
== Security Considerations | ||
|
||
The implementation of securing this endpoint will mirror how base metrics are secured. | ||
|
||
== Test Plan | ||
|
||
* Tests will be added to `testsuite/integration/microprofile/` | ||
|
||
== Community Documentation | ||
|
||
The WildFly Administration Guide will be updated to include this new support. | ||
|
||
== Release Note Content | ||
|
||
The Micrometer extension has been modified to add support for the Prometheus Registry, allowing for pull-based/scraping | ||
of metrics information for deployments where that is preferred. |