voldemort.store.stats
Class StoreStats

java.lang.Object
  extended by voldemort.store.stats.StoreStats

public class StoreStats
extends java.lang.Object

Some convenient statistics to track about the store


Constructor Summary
StoreStats(java.lang.String storeName)
           
StoreStats(java.lang.String storeName, StoreStats parent)
           
 
Method Summary
 double getAvgKeySizeinBytes(Tracked op)
           
 double getAvgTimeInMs(Tracked op)
           
 double getAvgValueSizeinBytes(Tracked op)
           
 long getCount(Tracked op)
           
 java.util.Map<Tracked,RequestCounter> getCounters()
           
 long getGetAllAggregatedCount()
           
 double getGetAllAverageCount()
           
 float getGetAllKeysThroughput()
           
 long getGetAllMaxCount()
           
 long getMaxKeySizeInBytes(Tracked op)
           
 long getMaxLatencyInMs(Tracked op)
           
 long getMaxValueSizeInBytes(Tracked op)
           
 long getNumEmptyResponses(Tracked op)
           
 double getQ95LatencyInMs(Tracked op)
           
 double getQ99LatencyInMs(Tracked op)
           
 float getThroughput(Tracked op)
           
 float getThroughputInBytes(Tracked op)
           
 void recordDeleteTime(long timeNS, long keySize)
          Record the duration of specified op.
 void recordGetAllTime(long timeNS, int requested, int returned, long totalValueBytes, long totalKeyBytes)
          Record the duration of a get_all operation, along with how many values were requested, how may were actually returned and the size of the values returned.
 void recordGetTime(long timeNS, boolean emptyResponse, long totalBytes, long keyBytes)
          Record the duration of a get operation, along with whether or not an empty response (ie no values matched) and the size of the values returned.
 void recordGetVersionsTime(long timeNS, boolean emptyResponse)
          Record the duration of a get versions operation, along with whether or not an empty response (ie no values matched) was returned.
 void recordPutTimeAndSize(long timeNS, long valueSize, long keySize)
          Record the duration of a put operation, along with the size of the values returned.
 void recordTime(Tracked op, long timeNS)
          Record the duration of specified op.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StoreStats

public StoreStats(java.lang.String storeName)

StoreStats

public StoreStats(java.lang.String storeName,
                  StoreStats parent)
Parameters:
parent - An optional parent stats object that will maintain aggregate data across many stores
Method Detail

recordTime

public void recordTime(Tracked op,
                       long timeNS)
Record the duration of specified op. For PUT, GET and GET_ALL use specific methods for those ops.


recordDeleteTime

public void recordDeleteTime(long timeNS,
                             long keySize)
Record the duration of specified op. For PUT, GET and GET_ALL use specific methods for those ops.


recordPutTimeAndSize

public void recordPutTimeAndSize(long timeNS,
                                 long valueSize,
                                 long keySize)
Record the duration of a put operation, along with the size of the values returned.


recordGetTime

public void recordGetTime(long timeNS,
                          boolean emptyResponse,
                          long totalBytes,
                          long keyBytes)
Record the duration of a get operation, along with whether or not an empty response (ie no values matched) and the size of the values returned.


recordGetVersionsTime

public void recordGetVersionsTime(long timeNS,
                                  boolean emptyResponse)
Record the duration of a get versions operation, along with whether or not an empty response (ie no values matched) was returned.


recordGetAllTime

public void recordGetAllTime(long timeNS,
                             int requested,
                             int returned,
                             long totalValueBytes,
                             long totalKeyBytes)
Record the duration of a get_all operation, along with how many values were requested, how may were actually returned and the size of the values returned.


getCount

public long getCount(Tracked op)

getThroughput

public float getThroughput(Tracked op)

getThroughputInBytes

public float getThroughputInBytes(Tracked op)

getAvgTimeInMs

public double getAvgTimeInMs(Tracked op)

getNumEmptyResponses

public long getNumEmptyResponses(Tracked op)

getMaxLatencyInMs

public long getMaxLatencyInMs(Tracked op)

getQ95LatencyInMs

public double getQ95LatencyInMs(Tracked op)

getQ99LatencyInMs

public double getQ99LatencyInMs(Tracked op)

getCounters

public java.util.Map<Tracked,RequestCounter> getCounters()

getMaxValueSizeInBytes

public long getMaxValueSizeInBytes(Tracked op)

getMaxKeySizeInBytes

public long getMaxKeySizeInBytes(Tracked op)

getAvgValueSizeinBytes

public double getAvgValueSizeinBytes(Tracked op)

getAvgKeySizeinBytes

public double getAvgKeySizeinBytes(Tracked op)

getGetAllAverageCount

public double getGetAllAverageCount()

getGetAllAggregatedCount

public long getGetAllAggregatedCount()

getGetAllMaxCount

public long getGetAllMaxCount()

getGetAllKeysThroughput

public float getGetAllKeysThroughput()
Returns:
The rate of keys per seconds that were queried through GetAll requests.


Jay Kreps, Roshan Sumbaly, Alex Feinberg, Bhupesh Bansal, Lei Gao, Chinmay Soman, Vinoth Chandar, Zhongjie Wu