Kirk Lund created GEODE-7010:
--------------------------------

             Summary: Replace static globals in CachePerfStats with 
StatisticsClock
                 Key: GEODE-7010
                 URL: https://issues.apache.org/jira/browse/GEODE-7010
             Project: Geode
          Issue Type: Wish
          Components: statistics
            Reporter: Kirk Lund


Introduce new StatisticsClock interface. An instance will be created during 
Cache creation. The method isEnabled will be configured by 
system.getConfig().getEnableTimeStatistics() and getTime() will return 
System.nanoTime() if enabled or zero if disabled. This instance will be passed 
around and injected as a dependency via the constructor of each class that uses 
it.
{noformat}
@FunctionalInterface
public interface StatisticsClock {

  /**
   * Returns the current value of the running Java Virtual Machine's 
high-resolution time source,
   * in nanoseconds.
   *
   * <p>
   * See {@code java.lang.System#nanoTime()}.
   */
  long getTime();

  /**
   * Returns true if this clock is enabled. If disabled then {@code getTime()} 
will return zero.
   *
   * <p>
   * Default returns {@code true}.
   */
  default boolean isEnabled() {
    return true;
  }
}
{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to