Top Description Inners Fields Constructors Methods
io.undertow.server.handlers

public Class MetricsHandler

extends Object
implements HttpHandler
Class Inheritance
All Implemented Interfaces
io.undertow.server.HttpHandler
Imports
io.undertow.server.ExchangeCompletionListener, .HandlerWrapper, .HttpHandler, .HttpServerExchange, java.util.Date, java.util.concurrent.atomic.AtomicIntegerFieldUpdater, .AtomicLongFieldUpdater

Handler that records some metrics
Author
Stuart Douglas

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Field Summary

Modifier and TypeField and Description
private final HttpHandler
private volatile MetricsHandler.MetricResult
public static final HandlerWrapper

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public MetricsHandler.MetricResult
public void
handleRequest(HttpServerExchange
the HTTP request/response exchange
exchange
)

Implements io.undertow.server.HttpHandler.handleRequest.

Handle the request.

public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

nextback to summary
private final HttpHandler next
totalResultback to summary
private volatile MetricsHandler.MetricResult totalResult
WRAPPERback to summary
public static final HandlerWrapper WRAPPER

Constructor Detail

MetricsHandlerback to summary
public MetricsHandler(HttpHandler next)

Method Detail

getMetricsback to summary
public MetricsHandler.MetricResult getMetrics()
handleRequestback to summary
public void handleRequest(HttpServerExchange exchange) throws Exception

Implements io.undertow.server.HttpHandler.handleRequest.

Doc from io.undertow.server.HttpHandler.handleRequest.

Handle the request.

Parameters
exchange:HttpServerExchange

the HTTP request/response exchange

Annotations
@Override
resetback to summary
public void reset()
io.undertow.server.handlers back to summary

public Class MetricsHandler.MetricResult

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
private static final AtomicLongFieldUpdater<MetricsHandler.MetricResult>
private static final AtomicLongFieldUpdater<MetricsHandler.MetricResult>
private volatile int
private static final AtomicIntegerFieldUpdater<MetricsHandler.MetricResult>
private final Date
private volatile int
private static final AtomicIntegerFieldUpdater<MetricsHandler.MetricResult>
private volatile long
private volatile long
private volatile long
private static final AtomicLongFieldUpdater<MetricsHandler.MetricResult>

Constructor Summary

AccessConstructor and Description
public
MetricResult(Date metricsStartDate)

public

Method Summary

Modifier and TypeMethod and Description
public int
public Date
public int
public long
public long
public long
pack-priv void
update(final int requestTime, int statusCode)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

errorsUpdaterback to summary
private static final AtomicLongFieldUpdater<MetricsHandler.MetricResult> errorsUpdater
invocationsUpdaterback to summary
private static final AtomicLongFieldUpdater<MetricsHandler.MetricResult> invocationsUpdater
maxRequestTimeback to summary
private volatile int maxRequestTime
maxRequestTimeUpdaterback to summary
private static final AtomicIntegerFieldUpdater<MetricsHandler.MetricResult> maxRequestTimeUpdater
metricsStartDateback to summary
private final Date metricsStartDate
minRequestTimeback to summary
private volatile int minRequestTime
minRequestTimeUpdaterback to summary
private static final AtomicIntegerFieldUpdater<MetricsHandler.MetricResult> minRequestTimeUpdater
totalErrorsback to summary
private volatile long totalErrors
totalRequestsback to summary
private volatile long totalRequests
totalRequestTimeback to summary
private volatile long totalRequestTime
totalRequestTimeUpdaterback to summary
private static final AtomicLongFieldUpdater<MetricsHandler.MetricResult> totalRequestTimeUpdater

Constructor Detail

MetricResultback to summary
public MetricResult(Date metricsStartDate)
MetricResultback to summary
public MetricResult(MetricsHandler.MetricResult copy)

Method Detail

getMaxRequestTimeback to summary
public int getMaxRequestTime()
getMetricsStartDateback to summary
public Date getMetricsStartDate()
getMinRequestTimeback to summary
public int getMinRequestTime()
getTotalErrorsback to summary
public long getTotalErrors()
getTotalRequestsback to summary
public long getTotalRequests()
getTotalRequestTimeback to summary
public long getTotalRequestTime()
updateback to summary
pack-priv void update(final int requestTime, int statusCode)