Class AbstractMetricsHandler<M extends MessageParameters>
- 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,MetricCollectionResponseBody,M>
-
- org.apache.flink.runtime.rest.handler.job.metrics.AbstractMetricsHandler<M>
-
- Type Parameters:
M- Type of the concreteMessageParameters
- All Implemented Interfaces:
AutoCloseable,org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandler,org.apache.flink.shaded.netty4.io.netty.channel.ChannelInboundHandler,org.apache.flink.util.AutoCloseableAsync
- Direct Known Subclasses:
JobManagerMetricsHandler,JobManagerOperatorMetricsHandler,JobMetricsHandler,JobVertexMetricsHandler,SubtaskMetricsHandler,TaskManagerMetricsHandler
public abstract class AbstractMetricsHandler<M extends MessageParameters> extends AbstractRestHandler<RestfulGateway,EmptyRequestBody,MetricCollectionResponseBody,M>
Request handler that returns for a given task a list of all available metrics or the values for a set of metrics.If the query parameters do not contain a "get" parameter the list of all metrics is returned.
{"available": [ { "name" : "X", "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,YThe handler will then return a list containing the values of the requested metrics.[ { "id" : "X", "value" : "S" }, { "id" : "Y", "value" : "T" } ]
-
-
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 Constructor Description AbstractMetricsHandler(GatewayRetriever<? extends RestfulGateway> leaderRetriever, Duration timeout, Map<String,String> headers, MessageHeaders<EmptyRequestBody,MetricCollectionResponseBody,M> messageHeaders, MetricFetcher metricFetcher)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract MetricStore.ComponentMetricStoregetComponentMetricStore(HandlerRequest<EmptyRequestBody> request, MetricStore metricStore)Returns theMetricStore.ComponentMetricStorethat should be queried for metrics.protected CompletableFuture<MetricCollectionResponseBody>handleRequest(HandlerRequest<EmptyRequestBody> request, RestfulGateway gateway)This method is called for every incoming request and returns aCompletableFuturecontaining 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
-
-
-
-
Constructor Detail
-
AbstractMetricsHandler
public AbstractMetricsHandler(GatewayRetriever<? extends RestfulGateway> leaderRetriever, Duration timeout, Map<String,String> headers, MessageHeaders<EmptyRequestBody,MetricCollectionResponseBody,M> messageHeaders, MetricFetcher metricFetcher)
-
-
Method Detail
-
handleRequest
protected final CompletableFuture<MetricCollectionResponseBody> handleRequest(@Nonnull HandlerRequest<EmptyRequestBody> request, @Nonnull RestfulGateway gateway) throws RestHandlerException
Description copied from class:AbstractRestHandlerThis method is called for every incoming request and returns aCompletableFuturecontaining a the response.Implementations may decide whether to throw
RestHandlerExceptions or fail the returnedCompletableFuturewith 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_ERRORwill be returned.- Specified by:
handleRequestin classAbstractRestHandler<RestfulGateway,EmptyRequestBody,MetricCollectionResponseBody,M extends MessageParameters>- Parameters:
request- request that should be handledgateway- leader gateway- Returns:
- future containing a handler response
- Throws:
RestHandlerException- if the handling failed
-
getComponentMetricStore
@Nullable protected abstract MetricStore.ComponentMetricStore getComponentMetricStore(HandlerRequest<EmptyRequestBody> request, MetricStore metricStore)
Returns theMetricStore.ComponentMetricStorethat should be queried for metrics.
-
-