Cast: Stop logging kVideoFrameSentToEncoder and rename a couple events.
[chromium-blink-merge.git] / chrome / test / base / uma_histogram_helper.h
blobb04178ce21b57b2f088e4b32843aee0e4e549170
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_TEST_BASE_UMA_HISTOGRAM_HELPER_H_
6 #define CHROME_TEST_BASE_UMA_HISTOGRAM_HELPER_H_
8 #include "base/metrics/histogram.h"
9 #include "base/metrics/histogram_base.h"
10 #include "base/metrics/histogram_samples.h"
12 // UMAHistogramHelper provides a simple interface for examining UMA histograms.
13 // Tests can use this interface to verify that UMA data is getting logged as
14 // intended.
15 class UMAHistogramHelper {
16 public:
17 UMAHistogramHelper();
19 // Each child process may have its own histogram data, make sure this data
20 // gets accumulated into the browser process before we examine the histograms.
21 void Fetch();
23 // We know the exact number of samples in a bucket, and that no other bucket
24 // should have samples.
25 void ExpectUniqueSample(const std::string& name,
26 base::HistogramBase::Sample sample,
27 base::HistogramBase::Count expected_count);
29 // We don't know the values of the samples, but we know how many there are.
30 void ExpectTotalCount(const std::string& name,
31 base::HistogramBase::Count count);
33 private:
34 void FetchCallback();
36 void CheckBucketCount(const std::string& name,
37 base::HistogramBase::Sample sample,
38 base::Histogram::Count expected_count,
39 base::HistogramSamples& samples);
41 void CheckTotalCount(const std::string& name,
42 base::Histogram::Count expected_count,
43 base::HistogramSamples& samples);
45 DISALLOW_COPY_AND_ASSIGN(UMAHistogramHelper);
48 #endif // CHROME_TEST_BASE_UMA_HISTOGRAM_HELPER_H_