Class StatisticRegistry
- java.lang.Object
-
- org.terracotta.statistics.registry.StatisticRegistry
-
public class StatisticRegistry extends java.lang.ObjectThis class replaces the previousStatisticRegistryin the cases where you do not need any sampling and history.This class typically does a sort of mapping between the registrations and the discovered operations or passthrough statistics.
This class also support the generation of management metadata from the discovered statistics.
Non thread-safe.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.ObjectcontextObjectprivate java.util.Map<java.lang.String,ValueStatistic<? extends java.io.Serializable>>statisticsprivate java.util.function.LongSuppliertimeSource
-
Constructor Summary
Constructors Constructor Description StatisticRegistry(java.lang.Object contextObject, java.util.function.LongSupplier timeSource)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.Map<java.lang.String,ValueStatistic<? extends java.io.Serializable>>getStatistics()private Matcher<java.util.Map<java.lang.String,java.lang.Object>>hasTags(java.util.Collection<java.lang.String> tags)<T extends java.io.Serializable>
java.util.Optional<Statistic<T>>queryStatistic(java.lang.String fullStatisticName)Query a statistic based on the full statistic name.<T extends java.io.Serializable>
java.util.Optional<Statistic<T>>queryStatistic(java.lang.String fullStatisticName, long sinceMillis)Query a statistic based on the full statistic name.java.util.Map<java.lang.String,Statistic<? extends java.io.Serializable>>queryStatistics()java.util.Map<java.lang.String,Statistic<? extends java.io.Serializable>>queryStatistics(long sinceMillis)voidregisterCounter(java.lang.String fullStatName, java.util.function.Supplier<java.lang.Number> accessor)Directly register a COUNTER stat with its accessorvoidregisterGauge(java.lang.String fullStatName, java.util.function.Supplier<java.lang.Number> accessor)Directly register a GAUGE stat with its accessor<T extends java.lang.Enum<T>>
booleanregisterStatistic(java.lang.String statNameSuffix, OperationStatisticDescriptor<T> descriptor, java.util.EnumSet<T> outcomes)<T extends java.io.Serializable>
booleanregisterStatistic(java.lang.String statNameSuffix, ValueStatisticDescriptor descriptor)<T extends java.io.Serializable>
voidregisterStatistic(java.lang.String fullStatName, StatisticType type, java.util.function.Supplier<T> accessor)<T extends java.io.Serializable>
voidregisterStatistic(java.lang.String fullStatName, ValueStatistic<T> accessor)voidregisterTable(java.lang.String fullStatName, java.util.function.Supplier<Table> accessor)Directly register a TABLE stat with its accessors
-
-
-
Field Detail
-
contextObject
private final java.lang.Object contextObject
-
timeSource
private final java.util.function.LongSupplier timeSource
-
statistics
private final java.util.Map<java.lang.String,ValueStatistic<? extends java.io.Serializable>> statistics
-
-
Method Detail
-
getStatistics
protected java.util.Map<java.lang.String,ValueStatistic<? extends java.io.Serializable>> getStatistics()
-
queryStatistic
public <T extends java.io.Serializable> java.util.Optional<Statistic<T>> queryStatistic(java.lang.String fullStatisticName)
Query a statistic based on the full statistic name. Returns null if not found.
-
queryStatistic
public <T extends java.io.Serializable> java.util.Optional<Statistic<T>> queryStatistic(java.lang.String fullStatisticName, long sinceMillis)
Query a statistic based on the full statistic name. Returns null if not found.
-
queryStatistics
public java.util.Map<java.lang.String,Statistic<? extends java.io.Serializable>> queryStatistics()
-
queryStatistics
public java.util.Map<java.lang.String,Statistic<? extends java.io.Serializable>> queryStatistics(long sinceMillis)
-
registerStatistic
public <T extends java.io.Serializable> void registerStatistic(java.lang.String fullStatName, StatisticType type, java.util.function.Supplier<T> accessor)
-
registerStatistic
public <T extends java.io.Serializable> void registerStatistic(java.lang.String fullStatName, ValueStatistic<T> accessor)
-
registerTable
public void registerTable(java.lang.String fullStatName, java.util.function.Supplier<Table> accessor)Directly register a TABLE stat with its accessors
-
registerGauge
public void registerGauge(java.lang.String fullStatName, java.util.function.Supplier<java.lang.Number> accessor)Directly register a GAUGE stat with its accessor
-
registerCounter
public void registerCounter(java.lang.String fullStatName, java.util.function.Supplier<java.lang.Number> accessor)Directly register a COUNTER stat with its accessor
-
registerStatistic
public <T extends java.io.Serializable> boolean registerStatistic(java.lang.String statNameSuffix, ValueStatisticDescriptor descriptor)
-
registerStatistic
public <T extends java.lang.Enum<T>> boolean registerStatistic(java.lang.String statNameSuffix, OperationStatisticDescriptor<T> descriptor, java.util.EnumSet<T> outcomes)
-
hasTags
private Matcher<java.util.Map<java.lang.String,java.lang.Object>> hasTags(java.util.Collection<java.lang.String> tags)
-
-