Lines Matching refs:Histogram
5 // Histogram is an object that aggregates statistics, and can summarize them in
15 // That bucket allocation would actually result from construction of a histogram
17 // Histogram count(L"some name", 1, 64, 8);
22 // in each consecutive bucket. The Histogram class automatically calculates
28 // at the low end of the histogram scale, but allows the histogram to cover a
32 // pointer to a histogram. This static is explicitly initialized on any thread
60 // Provide easy general purpose histogram in a macro, just like stats counters.
77 static base::Histogram* counter(NULL); \
79 counter = base::Histogram::FactoryGet(name, min, max, bucket_count, \
80 base::Histogram::kNoFlags); \
91 static base::Histogram* counter(NULL); \
93 counter = base::Histogram::FactoryTimeGet(name, min, max, bucket_count, \
94 base::Histogram::kNoFlags); \
101 static base::Histogram* counter(NULL); \
103 counter = base::Histogram::FactoryTimeGet(name, min, max, bucket_count, \
104 base::Histogram::kNoFlags); \
113 static base::Histogram* counter(NULL); \
116 boundary_value + 1, base::Histogram::kNoFlags); \
122 static base::Histogram* counter(NULL); \
125 base::Histogram::kNoFlags); \
169 // to record histogram data, and have the data submitted/uploaded via UMA.
187 static base::Histogram* counter(NULL); \
189 counter = base::Histogram::FactoryTimeGet(name, min, max, bucket_count, \
190 base::Histogram::kUmaTargetedHistogramFlag); \
197 static base::Histogram* counter(NULL); \
199 counter = base::Histogram::FactoryTimeGet(name, min, max, bucket_count, \
200 base::Histogram::kUmaTargetedHistogramFlag); \
215 static base::Histogram* counter(NULL); \
217 counter = base::Histogram::FactoryGet(name, min, max, bucket_count, \
218 base::Histogram::kUmaTargetedHistogramFlag); \
233 static base::Histogram* counter(NULL); \
236 base::Histogram::kUmaTargetedHistogramFlag); \
242 static base::Histogram* counter(NULL); \
245 boundary_value + 1, base::Histogram::kUmaTargetedHistogramFlag); \
251 static base::Histogram* counter(NULL); \
254 base::Histogram::kUmaTargetedHistogramFlag); \
263 class Histogram;
266 class BASE_API Histogram {
280 HISTOGRAM,
295 kUmaTargetedHistogramFlag = 0x1, // Histogram should be UMA uploaded.
297 // Indicate that the histogram was pickled to be sent across an IPC Channel.
298 // If we observe this flag on a histogram being aggregated into after IPC,
301 // histogram!).
323 // Statistic values, developed over the life of the histogram.
330 // Adjust size of counts_ for use with given histogram.
331 void Resize(const Histogram& histogram);
332 void CheckSize(const Histogram& histogram) const;
334 // Accessor for histogram to make routine additions.
351 // Actual histogram data is stored in buckets, showing the count of values
366 // that due to races in histogram accumulation (if a histogram is indeed
376 static Histogram* FactoryGet(const std::string& name,
381 static Histogram* FactoryTimeGet(const std::string& name,
402 histogram displays.
408 // 0x1 Currently used to mark this histogram to be recorded by UMA..
416 // Browser process reconstructs the histogram from the pickled version
420 // Serialize the given snapshot of a Histogram into a String. Uses
422 static std::string SerializeHistogramInfo(const Histogram& histogram,
425 // builds a histogram and updates shadow copy of histogram data in the
430 // consistent with the bucket ranges and checksums in our histogram. This can
460 Histogram(const std::string& name, Sample minimum,
462 Histogram(const std::string& name, TimeDelta minimum,
465 virtual ~Histogram();
474 // Methods to override to create histogram with different bucket widths.
490 // Methods to override to create thread safe histogram.
492 // Update all our internal data, including histogram
527 // Write a common header message describing this histogram.
537 // Write textual description of the bucket contents (relative to histogram).
559 // Flag the histogram for recording by UMA via metric_services.h.
569 // are generated. If ever there is ever a difference, then the histogram must
577 DISALLOW_COPY_AND_ASSIGN(Histogram);
582 // LinearHistogram is a more traditional histogram, with evenly spaced
584 class BASE_API LinearHistogram : public Histogram {
590 static Histogram* FactoryGet(const std::string& name,
595 static Histogram* FactoryTimeGet(const std::string& name,
601 // Overridden from Histogram:
604 // Store a list of number/text values for use in rendering the histogram.
639 // BooleanHistogram is a histogram for booleans.
642 static Histogram* FactoryGet(const std::string& name, Flags flags);
656 // CustomHistogram is a histogram for a set of custom integers.
657 class BASE_API CustomHistogram : public Histogram {
660 static Histogram* FactoryGet(const std::string& name,
664 // Overridden from Histogram:
685 typedef std::vector<Histogram*> Histograms;
694 // Register, or add a new histogram to the collection of statistics. If an
695 // identically named histogram is already registered, then the argument
696 // |histogram| will deleted. The returned value is always the registered
697 // histogram (either the argument, or the pre-existing registered histogram).
698 static Histogram* RegisterOrDeleteDuplicate(Histogram* histogram);
709 // Find a histogram by name. It matches the exact name. This method is thread
710 // safe. If a matching histogram is not found, then the |histogram| is
712 static bool FindHistogram(const std::string& query, Histogram** histogram);
720 // query are returned. The query must be a substring of histogram name for its
726 // We keep all registered histograms in a map, from name to histogram.
727 typedef std::map<std::string, Histogram*> HistogramMap;