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

Unified Diff: chrome/browser/net/http_pipelining_compatibility_client_unittest.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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/net/http_pipelining_compatibility_client_unittest.cc
===================================================================
--- chrome/browser/net/http_pipelining_compatibility_client_unittest.cc (revision 155400)
+++ chrome/browser/net/http_pipelining_compatibility_client_unittest.cc (working copy)
@@ -9,8 +9,10 @@
#include <vector>
#include "base/basictypes.h"
+#include "base/memory/scoped_ptr.h"
#include "base/message_loop.h"
#include "base/metrics/histogram.h"
+#include "base/metrics/histogram_samples.h"
#include "base/metrics/statistics_recorder.h"
#include "base/stl_util.h"
#include "base/stringprintf.h"
@@ -23,6 +25,9 @@
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
+using base::Histogram;
+using base::HistogramSamples;
+
namespace chrome_browser_net {
namespace {
@@ -95,9 +100,9 @@
for (size_t i = 0; i < arraysize(kHistogramNames); ++i) {
const char* name = kHistogramNames[i];
- base::Histogram::SampleSet sample = GetHistogram(name);
- if (sample.TotalCount() > 0) {
- original_samples_[name] = sample;
+ scoped_ptr<HistogramSamples> samples = GetHistogram(name);
+ if (samples.get() && samples->TotalCount() > 0) {
+ original_samples_[name] = samples.release();
}
}
}
@@ -105,6 +110,7 @@
virtual void TearDown() OVERRIDE {
BrowserThread::ReleaseSoon(BrowserThread::IO, FROM_HERE, context_);
message_loop_.RunAllPending();
+ STLDeleteValues(&original_samples_);
}
void RunTest(
@@ -118,7 +124,8 @@
callback.WaitForResult();
}
- void ExpectHistogramCount(int expected_count, int expected_value,
+ void ExpectHistogramCount(int expected_count,
+ int expected_value,
HistogramField field) {
const char* name;
@@ -143,19 +150,24 @@
FAIL() << "Unexpected field: " << field;
}
- base::Histogram::SampleSet sample = GetHistogram(name);
+ scoped_ptr<HistogramSamples> samples = GetHistogram(name);
+ if (!samples.get())
+ return;
+
if (ContainsKey(original_samples_, name)) {
- sample.Subtract(original_samples_[name]);
+ samples->Subtract((*original_samples_[name]));
}
- EXPECT_EQ(expected_count, sample.TotalCount()) << name;
+ EXPECT_EQ(expected_count, samples->TotalCount()) << name;
if (expected_count > 0) {
- EXPECT_EQ(expected_count, sample.counts(expected_value)) << name;
+ EXPECT_EQ(expected_count, samples->GetCount(expected_value)) << name;
}
}
- void ExpectRequestHistogramCount(int expected_count, int expected_value,
- int request_id, HistogramField field) {
+ void ExpectRequestHistogramCount(int expected_count,
+ int expected_value,
+ int request_id,
+ HistogramField field) {
const char* field_str = "";
switch (field) {
case FIELD_STATUS:
@@ -176,14 +188,17 @@
std::string name = base::StringPrintf("NetConnectivity.Pipeline.%d.%s",
request_id, field_str);
- base::Histogram::SampleSet sample = GetHistogram(name.c_str());
+ scoped_ptr<HistogramSamples> samples = GetHistogram(name.c_str());
+ if (!samples.get())
+ return;
+
if (ContainsKey(original_samples_, name)) {
- sample.Subtract(original_samples_[name]);
+ samples->Subtract(*(original_samples_[name]));
}
- EXPECT_EQ(expected_count, sample.TotalCount()) << name;
+ EXPECT_EQ(expected_count, samples->TotalCount()) << name;
if (expected_count > 0) {
- EXPECT_EQ(expected_count, sample.counts(expected_value)) << name;
+ EXPECT_EQ(expected_count, samples->GetCount(expected_value)) << name;
}
}
@@ -193,10 +208,10 @@
content::TestBrowserThread io_thread_;
private:
- base::Histogram::SampleSet GetHistogram(const char* name) {
- base::Histogram::SampleSet sample;
- base::Histogram* cached_histogram = NULL;
- base::Histogram* current_histogram =
+ scoped_ptr<HistogramSamples> GetHistogram(const char* name) {
+ scoped_ptr<HistogramSamples> samples;
+ Histogram* cached_histogram = NULL;
+ Histogram* current_histogram =
base::StatisticsRecorder::FindHistogram(name);
if (ContainsKey(histograms_, name)) {
cached_histogram = histograms_[name];
@@ -209,29 +224,26 @@
// last used Histogram and then update the cache if it's different than the
// current Histogram.
if (cached_histogram && current_histogram) {
- cached_histogram->SnapshotSample(&sample);
+ samples = cached_histogram->SnapshotSamples();
if (cached_histogram != current_histogram) {
- base::Histogram::SampleSet current_sample;
- current_histogram->SnapshotSample(&current_sample);
- sample.Add(current_sample);
+ samples->Add(*(current_histogram->SnapshotSamples()));
histograms_[name] = current_histogram;
}
} else if (current_histogram) {
- current_histogram->SnapshotSample(&sample);
+ samples = current_histogram->SnapshotSamples();
histograms_[name] = current_histogram;
} else if (cached_histogram) {
- cached_histogram->SnapshotSample(&sample);
+ samples = cached_histogram->SnapshotSamples();
}
- return sample;
+ return samples.Pass();
}
- static std::map<std::string, base::Histogram*> histograms_;
- std::map<std::string, base::Histogram::SampleSet> samples_;
- std::map<std::string, base::Histogram::SampleSet> original_samples_;
+ static std::map<std::string, Histogram*> histograms_;
+ std::map<std::string, HistogramSamples*> original_samples_;
};
// static
-std::map<std::string, base::Histogram*>
+std::map<std::string, Histogram*>
HttpPipeliningCompatibilityClientTest::histograms_;
TEST_F(HttpPipeliningCompatibilityClientTest, Success) {

Powered by Google App Engine
This is Rietveld 408576698