package edu.brown.profilers;
import java.util.LinkedHashMap;
import java.util.Map;
import edu.brown.hstore.PartitionLockQueue.QueueState;
import edu.brown.statistics.FastIntHistogram;
public class PartitionLockQueueProfiler extends AbstractProfiler {
/**
* The amount of time that a txn has to spend waiting in milliseconds
*/
public final FastIntHistogram waitTimes = new FastIntHistogram();
/**
* The number of times that we spent in the different
* states in our queue
*/
public final Map<QueueState, ProfileMeasurement> queueStates = new LinkedHashMap<QueueState, ProfileMeasurement>();
{
for (QueueState s : QueueState.values()) {
this.queueStates.put(s, new ProfileMeasurement(s.name().toUpperCase()));
} // FOR
}
@Override
public void reset() {
super.reset();
this.waitTimes.clear();
for (ProfileMeasurement pm : this.queueStates.values()) {
pm.reset();
} // FOR
}
}