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

Unified Diff: base/test/histogram_tester.cc

Issue 2628843002: Match only prefixes of histogram names. (Closed)
Patch Set: Address comments of isherman@; omit explicit namespace. Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/test/histogram_tester.h ('k') | base/test/histogram_tester_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/test/histogram_tester.cc
diff --git a/base/test/histogram_tester.cc b/base/test/histogram_tester.cc
index 90981e232637f8eb3323c96f9f22dc9538c5b89a..59ea1c630217a3e9cdc3d986b8594bc5201db63b 100644
--- a/base/test/histogram_tester.cc
+++ b/base/test/histogram_tester.cc
@@ -11,6 +11,7 @@
#include "base/metrics/metrics_hashes.h"
#include "base/metrics/sample_map.h"
#include "base/metrics/statistics_recorder.h"
+#include "base/strings/string_util.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace base {
@@ -33,16 +34,14 @@ HistogramTester::~HistogramTester() {
void HistogramTester::ExpectUniqueSample(
const std::string& name,
- base::HistogramBase::Sample sample,
- base::HistogramBase::Count expected_count) const {
- base::HistogramBase* histogram =
- base::StatisticsRecorder::FindHistogram(name);
+ HistogramBase::Sample sample,
+ HistogramBase::Count expected_count) const {
+ HistogramBase* histogram = StatisticsRecorder::FindHistogram(name);
EXPECT_NE(nullptr, histogram) << "Histogram \"" << name
<< "\" does not exist.";
if (histogram) {
- std::unique_ptr<base::HistogramSamples> samples =
- histogram->SnapshotSamples();
+ std::unique_ptr<HistogramSamples> samples = histogram->SnapshotSamples();
CheckBucketCount(name, sample, expected_count, *samples);
CheckTotalCount(name, expected_count, *samples);
}
@@ -50,27 +49,23 @@ void HistogramTester::ExpectUniqueSample(
void HistogramTester::ExpectBucketCount(
const std::string& name,
- base::HistogramBase::Sample sample,
- base::HistogramBase::Count expected_count) const {
- base::HistogramBase* histogram =
- base::StatisticsRecorder::FindHistogram(name);
+ HistogramBase::Sample sample,
+ HistogramBase::Count expected_count) const {
+ HistogramBase* histogram = StatisticsRecorder::FindHistogram(name);
EXPECT_NE(nullptr, histogram) << "Histogram \"" << name
<< "\" does not exist.";
if (histogram) {
- std::unique_ptr<base::HistogramSamples> samples =
- histogram->SnapshotSamples();
+ std::unique_ptr<HistogramSamples> samples = histogram->SnapshotSamples();
CheckBucketCount(name, sample, expected_count, *samples);
}
}
void HistogramTester::ExpectTotalCount(const std::string& name,
- base::HistogramBase::Count count) const {
- base::HistogramBase* histogram =
- base::StatisticsRecorder::FindHistogram(name);
+ HistogramBase::Count count) const {
+ HistogramBase* histogram = StatisticsRecorder::FindHistogram(name);
if (histogram) {
- std::unique_ptr<base::HistogramSamples> samples =
- histogram->SnapshotSamples();
+ std::unique_ptr<HistogramSamples> samples = histogram->SnapshotSamples();
CheckTotalCount(name, count, *samples);
} else {
// No histogram means there were zero samples.
@@ -78,10 +73,9 @@ void HistogramTester::ExpectTotalCount(const std::string& name,
}
}
-void HistogramTester::ExpectTimeBucketCount(
- const std::string& name,
- base::TimeDelta sample,
- base::HistogramBase::Count count) const {
+void HistogramTester::ExpectTimeBucketCount(const std::string& name,
+ TimeDelta sample,
+ HistogramBase::Count count) const {
ExpectBucketCount(name, sample.InMilliseconds(), count);
}
@@ -102,17 +96,21 @@ std::vector<Bucket> HistogramTester::GetAllSamples(
}
HistogramTester::CountsMap HistogramTester::GetTotalCountsForPrefix(
- const std::string& query) const {
- EXPECT_TRUE(query.find('.') != std::string::npos)
- << "|query| ought to contain at least one period, to avoid matching too"
+ const std::string& prefix) const {
+ EXPECT_TRUE(prefix.find('.') != std::string::npos)
+ << "|prefix| ought to contain at least one period, to avoid matching too"
<< " many histograms.";
- // Find matches by using the prefix-matching logic built into GetSnapshot().
- StatisticsRecorder::Histograms query_matches;
- StatisticsRecorder::GetSnapshot(query, &query_matches);
+ // Find candidate matches by using the logic built into GetSnapshot().
+ StatisticsRecorder::Histograms candidate_matches;
+ StatisticsRecorder::GetSnapshot(prefix, &candidate_matches);
CountsMap result;
- for (base::HistogramBase* histogram : query_matches) {
+ for (HistogramBase* histogram : candidate_matches) {
+ if (!StartsWith(histogram->histogram_name(), prefix,
+ CompareCase::SENSITIVE)) {
+ continue;
+ }
std::unique_ptr<HistogramSamples> new_samples =
GetHistogramSamplesSinceCreation(histogram->histogram_name());
// Omit unchanged histograms from the result.
@@ -145,11 +143,10 @@ HistogramTester::GetHistogramSamplesSinceCreation(
return named_samples;
}
-void HistogramTester::CheckBucketCount(
- const std::string& name,
- base::HistogramBase::Sample sample,
- base::HistogramBase::Count expected_count,
- const base::HistogramSamples& samples) const {
+void HistogramTester::CheckBucketCount(const std::string& name,
+ HistogramBase::Sample sample,
+ HistogramBase::Count expected_count,
+ const HistogramSamples& samples) const {
int actual_count = samples.GetCount(sample);
auto histogram_data = histograms_snapshot_.find(name);
if (histogram_data != histograms_snapshot_.end())
@@ -162,10 +159,9 @@ void HistogramTester::CheckBucketCount(
<< ").";
}
-void HistogramTester::CheckTotalCount(
- const std::string& name,
- base::HistogramBase::Count expected_count,
- const base::HistogramSamples& samples) const {
+void HistogramTester::CheckTotalCount(const std::string& name,
+ HistogramBase::Count expected_count,
+ const HistogramSamples& samples) const {
int actual_count = samples.TotalCount();
auto histogram_data = histograms_snapshot_.find(name);
if (histogram_data != histograms_snapshot_.end())
« no previous file with comments | « base/test/histogram_tester.h ('k') | base/test/histogram_tester_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698