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()
           
StoreStats(StoreStats parent)
           
 
Method Summary
 double getAvgSizeinBytes(Tracked op)
           
 double getAvgTimeInMs(Tracked op)
           
 long getCount(Tracked op)
           
 java.util.Map<Tracked,RequestCounter> getCounters()
           
 long getGetAllAggregatedCount()
           
 double getGetAllAverageCount()
           
 long getGetAllMaxCount()
           
 long getMaxLatencyInMs(Tracked op)
           
 long getMaxSizeInBytes(Tracked op)
           
 long getNumEmptyResponses(Tracked op)
           
 long getQ95LatencyInMs(Tracked op)
           
 long getQ99LatencyInMs(Tracked op)
           
 float getThroughput(Tracked op)
           
 float getThroughputInBytes(Tracked op)
           
 void recordGetAllTime(long timeNS, int requested, int returned, long totalBytes)
          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)
          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 recordPutTimeAndSize(long timeNS, long size)
          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()

StoreStats

public StoreStats(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.


recordPutTimeAndSize

public void recordPutTimeAndSize(long timeNS,
                                 long size)
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)
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.


recordGetAllTime

public void recordGetAllTime(long timeNS,
                             int requested,
                             int returned,
                             long totalBytes)
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 long getQ95LatencyInMs(Tracked op)

getQ99LatencyInMs

public long getQ99LatencyInMs(Tracked op)

getCounters

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

getMaxSizeInBytes

public long getMaxSizeInBytes(Tracked op)

getAvgSizeinBytes

public double getAvgSizeinBytes(Tracked op)

getGetAllAverageCount

public double getGetAllAverageCount()

getGetAllAggregatedCount

public long getGetAllAggregatedCount()

getGetAllMaxCount

public long getGetAllMaxCount()


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