geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kirk Lund (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (GEODE-7010) Replace static globals in CachePerfStats with StatisticsClock
Date Wed, 24 Jul 2019 21:54:00 GMT

     [ https://issues.apache.org/jira/browse/GEODE-7010?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Kirk Lund updated GEODE-7010:
-----------------------------
    Description: 
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}

  was:
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}


> 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
>            Priority: Major
>
> 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)

Mime
View raw message