public final class PrometheusHandler extends Object implements Handler
Handler
from which Prometheus can scrap monitoring information.Modifier and Type | Field and Description |
---|---|
static List<String> |
SUPPORTED_HTTP_METHODS
List of HTTP methods supported by a Prometheus Handler.
|
Modifier and Type | Method and Description |
---|---|
Promise<Response,NeverThrowsException> |
handle(Context context,
Request request)
|
static PrometheusHandler |
prometheusHandler(String metricPrefix,
Supplier<MeterRegistry> meterRegistrySupplier)
Returns a new Prometheus Handler.
|
public static PrometheusHandler prometheusHandler(String metricPrefix, Supplier<MeterRegistry> meterRegistrySupplier)
metricPrefix
- The prefix that will be prepended before each metrics.
Ideally this will be the product specific prefix.meterRegistrySupplier
- A Supplier
of the MetricRegistry
which will be used to collect metrics to include in
HTTP response sent by this PrometheusHandler
.PrometheusHandler
public Promise<Response,NeverThrowsException> handle(Context context, Request request)
Handler
Promise
representing the asynchronous Response
of the given request
.
If any (asynchronous) processing goes wrong, the promise still contains a Response
(probably from the
4xx or 5xx status code family).
A handler that doesn't hand-off the processing to another downstream handler is responsible for creating the response.
The returned Promise
contains the response returned from the server as-is.
This is responsibility of the handler to produce the appropriate error response (404,
500, ...) in case of processing error.
Note: As of Promise 2.0 implementation, it is not permitted to throw any runtime exception here. Doing so produce unexpected behaviour (most likely a server-side hang of the processing thread).
Copyright 2011-2017 ForgeRock AS.