public class AggregatingMessageHandlerMetrics extends DefaultMessageHandlerMetrics
MessageHandlerMetrics
that aggregates the total response
time over a sample, to avoid fetching the system time twice for every message.Modifier and Type | Class and Description |
---|---|
protected static class |
AggregatingMessageHandlerMetrics.AggregatingHandlerMetricsContext |
DefaultMessageHandlerMetrics.DefaultHandlerMetricsContext
activeCount, duration, errorCount, handleCount
logger, name
Constructor and Description |
---|
AggregatingMessageHandlerMetrics() |
AggregatingMessageHandlerMetrics(java.lang.String name,
ExponentialMovingAverage duration,
int sampleSize)
Construct an instance with the supplied
ExponentialMovingAverage calculating
the duration of processing by the message handler (and any downstream synchronous
endpoints). |
AggregatingMessageHandlerMetrics(java.lang.String name,
int sampleSize)
Construct an instance with the default moving average window (10).
|
Modifier and Type | Method and Description |
---|---|
void |
afterHandle(MetricsContext context,
boolean success)
End a handle event
|
MetricsContext |
beforeHandle()
Begin a handle event.
|
getActiveCount, getActiveCountLong, getDuration, getErrorCount, getErrorCountLong, getHandleCount, getHandleCountLong, getMaxDuration, getMeanDuration, getMinDuration, getStandardDeviationDuration, reset
isFullStatsEnabled, setFullStatsEnabled
public AggregatingMessageHandlerMetrics()
public AggregatingMessageHandlerMetrics(java.lang.String name, int sampleSize)
name
- the name.sampleSize
- the sample size over which to aggregate the duration.public AggregatingMessageHandlerMetrics(java.lang.String name, ExponentialMovingAverage duration, int sampleSize)
ExponentialMovingAverage
calculating
the duration of processing by the message handler (and any downstream synchronous
endpoints).name
- the name.duration
- an ExponentialMovingAverage
for calculating the duration.sampleSize
- the sample size over which to aggregate the duration.public MetricsContext beforeHandle()
AbstractMessageHandlerMetrics
beforeHandle
in class DefaultMessageHandlerMetrics
AbstractMessageHandlerMetrics.afterHandle(MetricsContext, boolean)
.public void afterHandle(MetricsContext context, boolean success)
AbstractMessageHandlerMetrics
afterHandle
in class DefaultMessageHandlerMetrics
context
- the context from the previous AbstractMessageHandlerMetrics.beforeHandle()
.success
- true for success, false otherwise.