Class ValueStatistics

java.lang.Object
org.terracotta.statistics.ValueStatistics

public class ValueStatistics extends Object
  • Constructor Details

    • ValueStatistics

      public ValueStatistics()
  • Method Details

    • nullValue

      public static <T extends Serializable> ConstantValueStatistic<T> nullValue(StatisticType type)
    • constant

      public static <T extends Serializable> ConstantValueStatistic<T> constant(StatisticType type, T value)
    • supply

      public static <T extends Serializable> ValueStatistic<T> supply(StatisticType type, Supplier<T> supplier)
    • gauge

      public static <T extends Number> ValueStatistic<T> gauge(Supplier<T> supplier)
    • counter

      public static <T extends Number> ValueStatistic<T> counter(Supplier<T> supplier)
    • rate

      public static <T extends Number> ValueStatistic<T> rate(Supplier<T> supplier)
    • ratio

      public static <T extends Number> ValueStatistic<T> ratio(Supplier<T> supplier)
    • table

      public static <T extends Table> ValueStatistic<T> table(Supplier<T> supplier)
    • memoize

      public static <T extends Serializable> ValueStatistic<T> memoize(long delay, TimeUnit unit, ValueStatistic<T> valueStatistic)
      Returns a ValueStatistic that caches the value of a statistic for at least a specific amount of time.

      This method does not block.

      When the delay expires, if several threads are coming at the same time to read the expired value, then only one will do the update and set a new expiring delay and read the new value. The other threads can continue to read the current expired value for their next call until it gets updated.

      If the caching delay is smaller than the time it takes for a statistic value to be computed, then it is possible that a new thread starts asking for a new value before the previous update is completed. In this case, there is no guarantee that the cached value will be updated in order because it depends on the time took to get the new value.

      Type Parameters:
      T - The statistic type
      Parameters:
      delay - The delay
      unit - The unit of time
      valueStatistic - The delegate statistic that will provide the value
      Returns:
      the memoizing statistic