Lines Matching refs:Histogram
5 // Histogram is an object that aggregates statistics, and can summarize them in
12 // For Histogram(exponential histogram), LinearHistogram and CustomHistogram,
20 // Each use of a histogram with the same name will reference the same underlying
21 // data, so it is safe to record to the same histogram from multiple locations
22 // in the code. It is a runtime error if all uses of the same histogram do not
25 // For Histogram and LinearHistogram, the maximum for a declared range should
32 // (Histogram::kBucketCount_MAX - 1).
34 // The buckets layout of class Histogram is exponential. For example, buckets
37 // That bucket allocation would actually result from construction of a histogram
39 // Histogram count("some name", 1, 64, 8);
44 // in each consecutive bucket. The Histogram class automatically calculates
50 // at the low end of the histogram scale, but allows the histogram to cover a
53 // Usually we use macros to define and use a histogram. These macros use a
55 // histogram. This static is explicitly initialized on any thread
92 // the macros declare a static pointer to the histogram in question, and only
93 // take a "slow path" to construct (or find) the histogram on the first run
99 // initialization looks like for a histogram (after a macro is expanded). This
110 // in the histogram.
111 base::Histogram* histogram_pointer(reinterpret_cast<base::Histogram*>(
116 // histogram. FactoryGet includes locks on a global histogram name map
118 histogram_pointer = base::Histogram::FactoryGet(
121 // Use Release_Store to ensure that the histogram data is made available
124 // stored in all cases (for a given named/spec'ed histogram).
143 // callers don't try to vary the name of the histogram (which would tend to be
165 // Provide easy general purpose histogram in a macro, just like stats counters.
176 base::Histogram::FactoryTimeGet(name, min, max, bucket_count, \
190 base::Histogram::FactoryGet(name, min, max, bucket_count, \
204 base::BooleanHistogram::FactoryGet(name, base::Histogram::kNoFlags))
208 // problems down the line if you add additional buckets to the histogram. Note
232 // to record histogram data, and have the data submitted/uploaded via UMA.
257 base::Histogram::FactoryTimeGet(name, min, max, bucket_count, \
271 base::Histogram::FactoryGet(name, min, max, bucket_count, \
295 // histograms. Use this if recording a histogram that should be part of the
313 class Histogram;
316 class BASE_EXPORT Histogram : public HistogramBase {
324 // For a valid histogram, input should follow these restrictions:
358 // consistent with the bucket ranges and checksums in our histogram. This can
373 // This function validates histogram construction arguments. It returns false
400 Histogram(const std::string& name,
405 virtual ~Histogram();
449 // Write a common header message describing this histogram.
477 DISALLOW_COPY_AND_ASSIGN(Histogram);
482 // LinearHistogram is a more traditional histogram, with evenly spaced
484 class BASE_EXPORT LinearHistogram : public Histogram {
507 // writing the histogram graph.
523 // Overridden from Histogram:
558 // BooleanHistogram is a histogram for booleans.
577 // CustomHistogram is a histogram for a set of custom integers.
578 class BASE_EXPORT CustomHistogram : public Histogram {
588 // Overridden from Histogram: