Class StatisticRegistry


  • public class StatisticRegistry
    extends java.lang.Object
    This class replaces the previous StatisticRegistry in 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.Object contextObject  
      private java.util.Map<java.lang.String,​ValueStatistic<? extends java.io.Serializable>> statistics  
      private java.util.function.LongSupplier timeSource  
    • 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)  
      void registerCounter​(java.lang.String fullStatName, java.util.function.Supplier<java.lang.Number> accessor)
      Directly register a COUNTER stat with its accessor
      void registerGauge​(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>>
      boolean
      registerStatistic​(java.lang.String statNameSuffix, OperationStatisticDescriptor<T> descriptor, java.util.EnumSet<T> outcomes)  
      <T extends java.io.Serializable>
      boolean
      registerStatistic​(java.lang.String statNameSuffix, ValueStatisticDescriptor descriptor)  
      <T extends java.io.Serializable>
      void
      registerStatistic​(java.lang.String fullStatName, StatisticType type, java.util.function.Supplier<T> accessor)  
      <T extends java.io.Serializable>
      void
      registerStatistic​(java.lang.String fullStatName, ValueStatistic<T> accessor)  
      void registerTable​(java.lang.String fullStatName, java.util.function.Supplier<Table> accessor)
      Directly register a TABLE stat with its accessors
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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
    • Constructor Detail

      • StatisticRegistry

        public StatisticRegistry​(java.lang.Object contextObject,
                                 java.util.function.LongSupplier timeSource)
    • 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)