Class MeterRegistryHolder
- java.lang.Object
-
- org.forgerock.monitoring.api.instrument.MeterRegistryHolder
-
- All Implemented Interfaces:
MeterRegistry
public final class MeterRegistryHolder extends Object implements MeterRegistry
Decorator for a meter registry. It can:- prefix the dimensional metric names
- prefix the hierarchical metric names
- forward the metric creation to the decorated
MeterRegistry
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.forgerock.monitoring.api.instrument.MeterRegistry
MeterRegistry.Config, MeterRegistry.More
-
-
Constructor Summary
Constructors Constructor Description MeterRegistryHolder(String dimensionalNamePrefix, MeterRegistry registry)Constructor for this class.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MeterRegistry.Configconfig()Countercounter(Meter.Id id)Only used byCounter.builder(String).voidderegisterAll()Deregister all meters held by this object.voidderegisterMatching(MeterFilter filter)Deregister meters matching the provided filter.<T> Gaugegauge(Meter.Id id, T obj, ToDoubleFunction<T> valueFunction)Only used byGauge.builder(String, Object, ToDoubleFunction).List<Meter>getMeters()MeterRegistryHolderhierarchicalNamePrefix(String value)Add a hierarchical name prefix for thisMeterRegistryHolder.MeterRegistry.Moremore()Access to less frequently used meter types and patterns.Meterregister(Meter.Id id, Meter.Type type, Iterable<Measurement> measurements)Register a custom meter type.DistributionSummarysummary(Meter.Id id, HistogramConfig histogramConfig)Only used byDistributionSummary.builder(String).MeterRegistryHoldertag(String key, String value)Adds a tag that will be automatically added to all meters registered against this meter registry.Timertimer(Meter.Id id, HistogramConfig histogramConfig, PauseDetector pauseDetectorOverride)Only used byTimer.builder(String).-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.forgerock.monitoring.api.instrument.MeterRegistry
find, forEachMeter, get
-
-
-
-
Constructor Detail
-
MeterRegistryHolder
public MeterRegistryHolder(String dimensionalNamePrefix, MeterRegistry registry)
Constructor for this class.- Parameters:
dimensionalNamePrefix- prefix for the dimensional metric names. It will be used as a prefix for the hierarchical metric names unless a specific hierarchical name prefix is specified throughhierarchicalNamePrefix(String).registry- the decorated registry
-
-
Method Detail
-
tag
public MeterRegistryHolder tag(String key, String value)
Adds a tag that will be automatically added to all meters registered against this meter registry.- Parameters:
key- the tag's keyvalue- the tag's value- Returns:
- this meter registry
-
hierarchicalNamePrefix
public MeterRegistryHolder hierarchicalNamePrefix(String value)
Add a hierarchical name prefix for thisMeterRegistryHolder.- Parameters:
value- the value for the hierarchical name- Returns:
- this meter registry
-
counter
public Counter counter(Meter.Id id)
Description copied from interface:MeterRegistryOnly used byCounter.builder(String).- Specified by:
counterin interfaceMeterRegistry- Parameters:
id- The identifier for this counter.- Returns:
- A new or existing counter.
-
gauge
public <T> Gauge gauge(Meter.Id id, T obj, ToDoubleFunction<T> valueFunction)
Description copied from interface:MeterRegistryOnly used byGauge.builder(String, Object, ToDoubleFunction).- Specified by:
gaugein interfaceMeterRegistry- Type Parameters:
T- The type of the state object from which the gauge value is extracted.- Parameters:
id- The identifier for this gauge.obj- State object used to compute a value.valueFunction- Function that is applied on the value for the number.- Returns:
- A new or existing long task timer.
-
timer
public Timer timer(Meter.Id id, HistogramConfig histogramConfig, PauseDetector pauseDetectorOverride)
Description copied from interface:MeterRegistryOnly used byTimer.builder(String).- Specified by:
timerin interfaceMeterRegistry- Parameters:
id- The identifier for this timer.histogramConfig- Configuration that governs how distribution statistics are computed.- Returns:
- A new or existing timer.
-
summary
public DistributionSummary summary(Meter.Id id, HistogramConfig histogramConfig)
Description copied from interface:MeterRegistryOnly used byDistributionSummary.builder(String).- Specified by:
summaryin interfaceMeterRegistry- Parameters:
id- The identifier for this distribution summary.histogramConfig- Configuration that governs how distribution statistics are computed.- Returns:
- A new or existing distribution summary.
-
register
public Meter register(Meter.Id id, Meter.Type type, Iterable<Measurement> measurements)
Description copied from interface:MeterRegistryRegister a custom meter type.- Specified by:
registerin interfaceMeterRegistry- Parameters:
id- Id of the meter being registered.type- Meter type, which may be used by naming conventions to normalize the name.measurements- A sequence of measurements describing how to sample the meter.- Returns:
- The registry.
-
deregisterMatching
public void deregisterMatching(MeterFilter filter)
Description copied from interface:MeterRegistryDeregister meters matching the provided filter.- Specified by:
deregisterMatchingin interfaceMeterRegistry- Parameters:
filter- a non-null meter filter
-
deregisterAll
public void deregisterAll()
Deregister all meters held by this object.
-
config
public MeterRegistry.Config config()
- Specified by:
configin interfaceMeterRegistry- Returns:
- A configuration object used to change the behavior of this registry.
-
more
public MeterRegistry.More more()
Description copied from interface:MeterRegistryAccess to less frequently used meter types and patterns.- Specified by:
morein interfaceMeterRegistry- Returns:
- Access to additional meter types and patterns.
-
getMeters
public List<Meter> getMeters()
- Specified by:
getMetersin interfaceMeterRegistry- Returns:
- The set of registered meters.
-
-