Class AbstractAggregatingMetricsHandler<P extends AbstractAggregatedMetricsParameters<?>>
- java.lang.Object
-
- org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandlerAdapter
-
- org.apache.flink.shaded.netty4.io.netty.channel.ChannelInboundHandlerAdapter
-
- org.apache.flink.shaded.netty4.io.netty.channel.SimpleChannelInboundHandler<RoutedRequest>
-
- org.apache.flink.runtime.rest.handler.LeaderRetrievalHandler<T>
-
- org.apache.flink.runtime.rest.handler.AbstractHandler<T,R,M>
-
- org.apache.flink.runtime.rest.handler.AbstractRestHandler<RestfulGateway,EmptyRequestBody,AggregatedMetricsResponseBody,P>
-
- org.apache.flink.runtime.rest.handler.job.metrics.AbstractAggregatingMetricsHandler<P>
-
- All Implemented Interfaces:
AutoCloseable
,org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandler
,org.apache.flink.shaded.netty4.io.netty.channel.ChannelInboundHandler
,AutoCloseableAsync
- Direct Known Subclasses:
AggregatingJobsMetricsHandler
,AggregatingSubtasksMetricsHandler
,AggregatingTaskManagersMetricsHandler
public abstract class AbstractAggregatingMetricsHandler<P extends AbstractAggregatedMetricsParameters<?>> extends AbstractRestHandler<RestfulGateway,EmptyRequestBody,AggregatedMetricsResponseBody,P>
Abstract request handler for querying aggregated metrics. Subclasses return either a list of all available metrics or the aggregated values of them across all/selected entities.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"}]
-
-
Field Summary
-
Fields inherited from class org.apache.flink.runtime.rest.handler.AbstractHandler
log, MAPPER
-
Fields inherited from class org.apache.flink.runtime.rest.handler.LeaderRetrievalHandler
leaderRetriever, logger, responseHeaders, timeout
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractAggregatingMetricsHandler(GatewayRetriever<? extends RestfulGateway> leaderRetriever, Duration timeout, Map<String,String> responseHeaders, AbstractAggregatedMetricsHeaders<P> messageHeaders, Executor executor, MetricFetcher fetcher)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected CompletableFuture<AggregatedMetricsResponseBody>
handleRequest(HandlerRequest<EmptyRequestBody> request, RestfulGateway gateway)
This method is called for every incoming request and returns aCompletableFuture
containing a the response.-
Methods inherited from class org.apache.flink.runtime.rest.handler.AbstractRestHandler
getMessageHeaders, respondToRequest
-
Methods inherited from class org.apache.flink.runtime.rest.handler.AbstractHandler
closeAsync, closeHandlerAsync, respondAsLeader
-
Methods inherited from class org.apache.flink.runtime.rest.handler.LeaderRetrievalHandler
channelRead0, getTimeout
-
Methods inherited from class org.apache.flink.shaded.netty4.io.netty.channel.SimpleChannelInboundHandler
acceptInboundMessage, channelRead
-
Methods inherited from class org.apache.flink.shaded.netty4.io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
-
Methods inherited from class org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, handlerRemoved, isSharable
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.util.AutoCloseableAsync
close
-
-
-
-
Constructor Detail
-
AbstractAggregatingMetricsHandler
protected AbstractAggregatingMetricsHandler(GatewayRetriever<? extends RestfulGateway> leaderRetriever, Duration timeout, Map<String,String> responseHeaders, AbstractAggregatedMetricsHeaders<P> messageHeaders, Executor executor, MetricFetcher fetcher)
-
-
Method Detail
-
handleRequest
protected CompletableFuture<AggregatedMetricsResponseBody> handleRequest(@Nonnull HandlerRequest<EmptyRequestBody> request, @Nonnull RestfulGateway gateway) throws RestHandlerException
Description copied from class:AbstractRestHandler
This method is called for every incoming request and returns aCompletableFuture
containing a the response.Implementations may decide whether to throw
RestHandlerException
s or fail the returnedCompletableFuture
with aRestHandlerException
.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.- Specified by:
handleRequest
in classAbstractRestHandler<RestfulGateway,EmptyRequestBody,AggregatedMetricsResponseBody,P extends AbstractAggregatedMetricsParameters<?>>
- Parameters:
request
- request that should be handledgateway
- leader gateway- Returns:
- future containing a handler response
- Throws:
RestHandlerException
- if the handling failed
-
-