Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(121)

Side by Side Diff: chrome/test/base/uma_histogram_helper.cc

Issue 10829466: SampleSet -> HistogramSamples (will be reused by SparseHistogram) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/test/base/uma_histogram_helper.h ('k') | chrome_frame/metrics_service.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/test/base/uma_histogram_helper.h" 5 #include "chrome/test/base/uma_histogram_helper.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/metrics/statistics_recorder.h" 8 #include "base/metrics/statistics_recorder.h"
9 #include "base/test/test_timeouts.h" 9 #include "base/test/test_timeouts.h"
10 #include "chrome/test/base/ui_test_utils.h" 10 #include "chrome/test/base/ui_test_utils.h"
(...skipping 12 matching lines...) Expand all
23 // If this call times out, it means that a child process is not 23 // If this call times out, it means that a child process is not
24 // responding, which is something we should not ignore. The timeout is 24 // responding, which is something we should not ignore. The timeout is
25 // set to be longer than the normal browser test timeout so that it will 25 // set to be longer than the normal browser test timeout so that it will
26 // be prempted by the normal timeout. 26 // be prempted by the normal timeout.
27 TestTimeouts::action_max_timeout()*2); 27 TestTimeouts::action_max_timeout()*2);
28 content::RunMessageLoop(); 28 content::RunMessageLoop();
29 } 29 }
30 30
31 void UMAHistogramHelper::ExpectUniqueSample( 31 void UMAHistogramHelper::ExpectUniqueSample(
32 const std::string& name, 32 const std::string& name,
33 size_t bucket_id, 33 base::HistogramBase::Sample sample,
34 base::Histogram::Count expected_count) { 34 base::HistogramBase::Count expected_count) {
35 base::Histogram* histogram = base::StatisticsRecorder::FindHistogram(name); 35 base::Histogram* histogram = base::StatisticsRecorder::FindHistogram(name);
36 EXPECT_NE(static_cast<base::Histogram*>(NULL), histogram) << 36 EXPECT_NE(static_cast<base::Histogram*>(NULL), histogram)
37 "Histogram \"" << name << "\" does not exist."; 37 << "Histogram \"" << name << "\" does not exist.";
38 38
39 if (histogram) { 39 if (histogram) {
40 base::Histogram::SampleSet samples; 40 scoped_ptr<base::HistogramSamples> samples(histogram->SnapshotSamples());
41 histogram->SnapshotSample(&samples); 41 CheckBucketCount(name, sample, expected_count, *samples);
42 CheckBucketCount(name, bucket_id, expected_count, samples); 42 CheckTotalCount(name, expected_count, *samples);
43 CheckTotalCount(name, expected_count, samples);
44 } 43 }
45 } 44 }
46 45
47 void UMAHistogramHelper::ExpectTotalCount(const std::string& name, 46 void UMAHistogramHelper::ExpectTotalCount(
48 base::Histogram::Count count) { 47 const std::string& name,
48 base::HistogramBase::Count count) {
49 base::Histogram* histogram = base::StatisticsRecorder::FindHistogram(name); 49 base::Histogram* histogram = base::StatisticsRecorder::FindHistogram(name);
50 EXPECT_NE((base::Histogram*)NULL, histogram) << "Histogram \"" << name << 50 EXPECT_NE(static_cast<base::Histogram*>(NULL), histogram)
51 "\" does not exist."; 51 << "Histogram \"" << name << "\" does not exist.";
52 52
53 if (histogram) { 53 if (histogram) {
54 base::Histogram::SampleSet samples; 54 scoped_ptr<base::HistogramSamples> samples(histogram->SnapshotSamples());
55 histogram->SnapshotSample(&samples); 55 CheckTotalCount(name, count, *samples);
56 CheckTotalCount(name, count, samples);
57 } 56 }
58 } 57 }
59 58
60 void UMAHistogramHelper::FetchCallback() { 59 void UMAHistogramHelper::FetchCallback() {
61 MessageLoopForUI::current()->Quit(); 60 MessageLoopForUI::current()->Quit();
62 } 61 }
63 62
64 void UMAHistogramHelper::CheckBucketCount(const std::string& name, 63 void UMAHistogramHelper::CheckBucketCount(
65 size_t bucket_id, 64 const std::string& name,
66 base::Histogram::Count expected_count, 65 base::HistogramBase::Sample sample,
67 base::Histogram::SampleSet& samples) { 66 base::HistogramBase::Count expected_count,
68 EXPECT_EQ(expected_count, samples.counts(bucket_id)) << "Histogram \"" << 67 base::HistogramSamples& samples) {
69 name << "\" does not have the right number of samples (" << 68 EXPECT_EQ(expected_count, samples.GetCount(sample))
70 expected_count << ") in the expected bucket (" << bucket_id << ")."; 69 << "Histogram \"" << name
70 << "\" does not have the right number of samples (" << expected_count
71 << ") in the expected bucket (" << sample << ").";
71 } 72 }
72 73
73 void UMAHistogramHelper::CheckTotalCount(const std::string& name, 74 void UMAHistogramHelper::CheckTotalCount(
74 base::Histogram::Count expected_count, 75 const std::string& name,
75 base::Histogram::SampleSet& samples) { 76 base::HistogramBase::Count expected_count,
76 EXPECT_EQ(expected_count, samples.TotalCount()) << "Histogram \"" << name << 77 base::HistogramSamples& samples) {
77 "\" does not have the right total number of samples (" << 78 EXPECT_EQ(expected_count, samples.TotalCount())
78 expected_count << ")."; 79 << "Histogram \"" << name
80 << "\" does not have the right total number of samples ("
81 << expected_count << ").";
79 } 82 }
OLDNEW
« no previous file with comments | « chrome/test/base/uma_histogram_helper.h ('k') | chrome_frame/metrics_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698