public class EventProcessorLatencyMonitor extends Object implements MessageMonitor<EventMessage<?>>, com.codahale.metrics.MetricSet
MessageMonitor
implementation dedicated to EventMessages
.
This monitor defines the latency between the EventMessage.getTimestamp()
and the Clock.instant()
.
Doing so, it depicts the latency from when an event was published compared to when an
EventProcessor
processes the event to clarify how far behind an
EventProcessor
is.
Do note that a replay (as triggered through StreamingEventProcessor.resetTokens()
, for example) will cause
this metric to bump up due to the processor handling old events.
MessageMonitor.MonitorCallback
Constructor and Description |
---|
EventProcessorLatencyMonitor()
Construct an
EventProcessorLatencyMonitor using a Clock.systemUTC() . |
EventProcessorLatencyMonitor(Clock clock)
Construct an
EventProcessorLatencyMonitor using the given clock . |
Modifier and Type | Method and Description |
---|---|
Map<String,com.codahale.metrics.Metric> |
getMetrics() |
MessageMonitor.MonitorCallback |
onMessageIngested(EventMessage<?> message)
Takes a message and returns a callback that should be used to inform the message monitor about the result of
processing the message
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
onMessagesIngested
public EventProcessorLatencyMonitor()
EventProcessorLatencyMonitor
using a Clock.systemUTC()
.public EventProcessorLatencyMonitor(Clock clock)
EventProcessorLatencyMonitor
using the given clock
.clock
- defines the Clock
used by this MessageMonitor
implementationpublic MessageMonitor.MonitorCallback onMessageIngested(@Nonnull EventMessage<?> message)
MessageMonitor
onMessageIngested
in interface MessageMonitor<EventMessage<?>>
message
- the message to monitorCopyright © 2010–2023. All rights reserved.