25 #ifndef PAGESPEED_KERNEL_BASE_SPLIT_STATISTICS_H_
26 #define PAGESPEED_KERNEL_BASE_SPLIT_STATISTICS_H_
36 namespace net_instaweb {
39 class StatisticsLogger;
51 virtual void Set(int64 new_value);
53 virtual int64 Get()
const;
54 virtual StringPiece
GetName()
const;
70 virtual int64 Get()
const;
71 virtual StringPiece
GetName()
const;
93 virtual void Add(
double value);
107 virtual double PercentileInternal(
const double perc);
108 virtual double StandardDeviationInternal();
109 virtual double CountInternal();
110 virtual double MaximumInternal();
111 virtual double MinimumInternal();
133 virtual void IncBy(int64 delta);
134 virtual int64
Get(
int level);
135 virtual void Clear();
146 SplitHistogram, SplitTimedVariable> {
166 return local_->console_logger();
virtual StringPiece GetName() const
virtual SplitUpDownCounter * NewGlobalUpDownCounter(StringPiece name)
Default implementation just calls NewUpDownCounter.
virtual int64 Get(int level)
Definition: statistics.h:43
SplitHistogram(ThreadSystem *thread_system, Histogram *rw, Histogram *w)
virtual SplitUpDownCounter * NewUpDownCounter(StringPiece name)
Interface to subclass.
Definition: split_statistics.h:125
virtual void EnableNegativeBuckets()
Allow histogram have negative values.
Base class for implementations of monitoring statistics.
Definition: statistics.h:342
virtual StatisticsLogger * console_logger()
Definition: split_statistics.h:163
Abstract interface for implementing a mutex.
Definition: abstract_mutex.h:28
SplitTimedVariable(TimedVariable *rw, TimedVariable *w)
virtual void Add(double value)
Definition: split_statistics.h:83
Definition: split_statistics.h:44
Definition: split_statistics.h:144
SplitStatistics(ThreadSystem *thread_system, Statistics *local, Statistics *global)
virtual StringPiece GetName() const
virtual void SetSuggestedNumBuckets(int i)
virtual void SetMinValue(double value)
Set the minimum value allowed in histogram.
Definition: scoped_ptr.h:30
virtual double BucketLimit(int index)
Upper bound of a bucket.
virtual int64 AddHelper(int64 delta)
This is virtual so that subclasses can add platform-specific atomicity.
virtual void Clear()
Throw away all data.
virtual int NumBuckets()
Returns number of buckets the histogram actually has.
Definition: split_statistics.h:63
Interface for writing bytes to an output stream.
Definition: writer.h:29
Definition: statistics_template.h:41
Definition: statistics.h:138
virtual SplitVariable * NewVariable(StringPiece name)
Interface to subclass.
SplitVariable(Variable *rw, Variable *w)
virtual void IncBy(int64 delta)
Update the stat value. delta is in milliseconds.
Definition: thread_system.h:40
Definition: statistics.h:73
Definition: message_handler.h:39
SplitUpDownCounter(UpDownCounter *rw, UpDownCounter *w)
virtual double AverageInternal()
Note that these *Internal interfaces require the mutex to be held.
Definition: statistics.h:298
virtual double BucketStart(int index)
virtual double BucketCount(int index)
Value of a bucket.
virtual void SetMaxValue(double value)
virtual int64 AddHelper(int64 delta)
This is virtual so that subclasses can add platform-specific atomicity.
virtual void Clear()
Throw away all data.
virtual int64 SetReturningPreviousValue(int64 new_value)
virtual void Render(int index, Writer *writer, MessageHandler *handler)
Definition: statistics_logger.h:42