public static class MessageTimerMonitor.Builder extends Object
MessageTimerMonitor.
The Clock is defaulted to a Clock.SYSTEM, the tagsBuilder to a Function returning
Tags.empty() and the timerCustomization to a no-op. The meterNamePrefix and MeterRegistry are hard requirements and as such should be provided.
| Constructor and Description |
|---|
Builder() |
| Modifier and Type | Method and Description |
|---|---|
MessageTimerMonitor |
build()
Initializes a
MessageTimerMonitor as specified through this Builder. |
MessageTimerMonitor.Builder |
clock(io.micrometer.core.instrument.Clock clock)
Sets the
Clock used to define the processing duration of a given message being pushed through this
MessageMonitor. |
MessageTimerMonitor.Builder |
meterNamePrefix(String meterNamePrefix)
Sets the name used to prefix the names of the
Timer instances created by this MessageMonitor. |
MessageTimerMonitor.Builder |
meterRegistry(io.micrometer.core.instrument.MeterRegistry meterRegistry)
Specifies the
MeterRegistry used to registered the Timer instances to. |
MessageTimerMonitor.Builder |
tagsBuilder(Function<Message<?>,Iterable<io.micrometer.core.instrument.Tag>> tagsBuilder)
Configures the
Function used to deduce what the Tags should be for a message being monitored. |
MessageTimerMonitor.Builder |
timerCustomization(UnaryOperator<io.micrometer.core.instrument.Timer.Builder> timerCustomization)
Allows for specifying a customization which will be added during the creation of the
Timer. |
protected void |
validate()
Validate whether the fields contained in this Builder as set accordingly.
|
public MessageTimerMonitor.Builder meterNamePrefix(String meterNamePrefix)
Timer instances created by this MessageMonitor.meterNamePrefix - a String used to prefix the names of the Timer instances created by
this MessageMonitorpublic MessageTimerMonitor.Builder meterRegistry(io.micrometer.core.instrument.MeterRegistry meterRegistry)
MeterRegistry used to registered the Timer instances to.meterRegistry - the MeterRegistry used to registered the Timer instances topublic MessageTimerMonitor.Builder clock(io.micrometer.core.instrument.Clock clock)
Clock used to define the processing duration of a given message being pushed through this
MessageMonitor. Defaults to the Clock.SYSTEM.clock - the Clock used to define the processing duration of a given messagepublic MessageTimerMonitor.Builder tagsBuilder(Function<Message<?>,Iterable<io.micrometer.core.instrument.Tag>> tagsBuilder)
Function used to deduce what the Tags should be for a message being monitored.
Defaults to a Function returning Tags.empty().tagsBuilder - a Function used to deduce what the Tags should be for a message being
monitoredpublic MessageTimerMonitor.Builder timerCustomization(UnaryOperator<io.micrometer.core.instrument.Timer.Builder> timerCustomization)
Timer. Defaults
to a no-op. This for example allows more fine grained control over the published percentiles used by the
Timer.
Without any customization, a Timer define the Timer.Builder#distributionStatisticExpiry(Duration)
with a Duration of 10 minutes and Timer.Builder#publishPercentiles(double...) with the
percentiles 0.5, 0.75, 0.95, 0.98, 0.99 and 0.999.
timerCustomization - a UnaryOperator taking in and returning a Timer.Builder forming a
customization on the Timer being createdpublic MessageTimerMonitor build()
MessageTimerMonitor as specified through this Builder.MessageTimerMonitor as specified through this Builderprotected void validate()
AxonConfigurationException - if one field is asserted to be incorrect according to the Builder's
specificationsCopyright © 2010–2023. All rights reserved.