Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

MetricUnit class should be introduced. The following units It should be specified in the enumpossible to acquire the following instances:

  • NUMBER - number of times something happened or number of elements. No specific units are assigned to this value.
    Example: io.dataregion.PagesReplaced 
  • NANOSECONDS, MILLISECONDS, SECONDS – for time periods.
    Example: tx.totalNodeSystemTime 
  • TIMESTAMP – for specific moment in time.
    Example: cache.RebalanceStartTime 
  • BYTES, KILOBYTES, MEGABYTES – for amount of data.
    Example: cache.TotalRebalancedBytes 
  • PERCENT – fraction.
    Example: sys.CpuLoad 

It should also be possible to represent units like "bytes per second" and "number of times per second". A method MetricUnit.per(...)  should be implemented that will create an instance of a new MetricUnit corresponding to the ratio.

Example metrics: io.dataregion.PagesReplaceRate, cache.RebalancingBytesRate.


Risks and Assumptions

// Describe project risks, such as API or binary compatibility issues, major protocol changes, etc.

...