public abstract class AbstractAggregatingMetricsHandler<P extends AbstractAggregatedMetricsParameters<?>> extends AbstractRestHandler<RestfulGateway,EmptyRequestBody,AggregatedMetricsResponseBody,P>
If the query parameters do not contain a "get" parameter the list of all metrics is returned.
[ { "id" : "X" } ]
If the query parameters do contain a "get" parameter, a comma-separated list of metric names is expected as a value.
/metrics?get=X,Y
The handler will then return a list containing the values of the requested metrics.
[ { "id" : "X", "value" : "S" }, { "id" : "Y", "value" : "T" } ]
The "agg" query parameter is used to define which aggregates should be calculated. Available aggregations are
"sum", "max", "min" and "avg". If the parameter is not specified, all aggregations will be returned.
/metrics?get=X,Y&agg=min,max
The handler will then return a list of objects containing the aggregations for the requested metrics.
[ { "id" : "X", "min", "1", "max", "2" }, { "id" : "Y", "min", "4", "max", "10"}]
log, MAPPERleaderRetriever, logger, responseHeaders, timeout| Modifier | Constructor and Description |
|---|---|
protected |
AbstractAggregatingMetricsHandler(GatewayRetriever<? extends RestfulGateway> leaderRetriever,
org.apache.flink.api.common.time.Time timeout,
Map<String,String> responseHeaders,
AbstractAggregatedMetricsHeaders<P> messageHeaders,
Executor executor,
MetricFetcher fetcher) |
| Modifier and Type | Method and Description |
|---|---|
protected CompletableFuture<AggregatedMetricsResponseBody> |
handleRequest(HandlerRequest<EmptyRequestBody,P> request,
RestfulGateway gateway)
This method is called for every incoming request and returns a
CompletableFuture containing a the response. |
getMessageHeaders, respondToRequestcloseAsync, closeHandlerAsync, respondAsLeaderchannelRead0acceptInboundMessage, channelReadchannelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggeredensureNotSharable, handlerAdded, handlerRemoved, isSharableprotected AbstractAggregatingMetricsHandler(GatewayRetriever<? extends RestfulGateway> leaderRetriever, org.apache.flink.api.common.time.Time timeout, Map<String,String> responseHeaders, AbstractAggregatedMetricsHeaders<P> messageHeaders, Executor executor, MetricFetcher fetcher)
protected CompletableFuture<AggregatedMetricsResponseBody> handleRequest(@Nonnull HandlerRequest<EmptyRequestBody,P> request, @Nonnull RestfulGateway gateway) throws RestHandlerException
AbstractRestHandlerCompletableFuture containing a the response.
Implementations may decide whether to throw RestHandlerExceptions or fail the returned
CompletableFuture with a RestHandlerException.
Failing the future with another exception type or throwing unchecked exceptions is regarded as an
implementation error as it does not allow us to provide a meaningful HTTP status code. In this case a
HttpResponseStatus.INTERNAL_SERVER_ERROR will be returned.
handleRequest in class AbstractRestHandler<RestfulGateway,EmptyRequestBody,AggregatedMetricsResponseBody,P extends AbstractAggregatedMetricsParameters<?>>request - request that should be handledgateway - leader gatewayRestHandlerException - if the handling failedCopyright © 2014–2020 The Apache Software Foundation. All rights reserved.