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

Unified Diff: net/url_request/url_request_throttler_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: net/url_request/url_request_throttler_unittest.cc
===================================================================
--- net/url_request/url_request_throttler_unittest.cc (revision 155400)
+++ net/url_request/url_request_throttler_unittest.cc (working copy)
@@ -6,8 +6,10 @@
#include "base/memory/scoped_ptr.h"
#include "base/metrics/histogram.h"
+#include "base/metrics/histogram_samples.h"
#include "base/metrics/statistics_recorder.h"
#include "base/pickle.h"
+#include "base/stl_util.h"
#include "base/stringprintf.h"
#include "base/string_number_conversions.h"
#include "base/time.h"
@@ -27,6 +29,7 @@
namespace {
using base::Histogram;
+using base::HistogramSamples;
using base::StatisticsRecorder;
class MockURLRequestThrottlerEntry : public URLRequestThrottlerEntry {
@@ -172,6 +175,7 @@
}
virtual void SetUp();
+ virtual void TearDown();
// After calling this function, histogram snapshots in |samples_| contain
// only the delta caused by the test case currently running.
@@ -181,8 +185,8 @@
MockURLRequestThrottlerManager manager_; // Dummy object, not used.
scoped_refptr<MockURLRequestThrottlerEntry> entry_;
- std::map<std::string, Histogram::SampleSet> original_samples_;
- std::map<std::string, Histogram::SampleSet> samples_;
+ std::map<std::string, HistogramSamples*> original_samples_;
+ std::map<std::string, HistogramSamples*> samples_;
TestURLRequestContext context_;
TestURLRequest request_;
@@ -207,33 +211,38 @@
// Must retrieve original samples for each histogram for comparison
// as other tests may affect them.
const char* name = kHistogramNames[i];
- Histogram::SampleSet& original = original_samples_[name];
Histogram* histogram = StatisticsRecorder::FindHistogram(name);
if (histogram) {
- histogram->SnapshotSample(&original);
+ original_samples_[name] = histogram->SnapshotSamples().release();
+ } else {
+ original_samples_[name] = NULL;
}
}
}
+void URLRequestThrottlerEntryTest::TearDown() {
+ STLDeleteValues(&original_samples_);
+ STLDeleteValues(&samples_);
+}
+
void URLRequestThrottlerEntryTest::CalculateHistogramDeltas() {
for (size_t i = 0; i < arraysize(kHistogramNames); ++i) {
const char* name = kHistogramNames[i];
- Histogram::SampleSet& original = original_samples_[name];
- Histogram::SampleSet& sample = samples_[name];
+ HistogramSamples* original = original_samples_[name];
Histogram* histogram = StatisticsRecorder::FindHistogram(name);
if (histogram) {
ASSERT_EQ(Histogram::kUmaTargetedHistogramFlag, histogram->flags());
- histogram->SnapshotSample(&sample);
- // Ensure |original| size is same as |sample|, then subtract original
- // values.
- original.Resize(histogram->bucket_count());
- sample.Subtract(original);
+ scoped_ptr<HistogramSamples> samples(histogram->SnapshotSamples());
+ if (original != NULL)
Ilya Sherman 2012/09/12 03:20:58 nit: You can just write this as "if (original)"
kaiwang 2012/09/20 22:54:59 Done.
+ samples->Subtract(*original);
+ samples_[name] = samples.release();
Ilya Sherman 2012/09/12 03:20:58 Is |samples_[name]| guaranteed to be empty prior t
kaiwang 2012/09/20 22:54:59 it's guranteed to be empty
}
}
// Ensure we don't accidentally use the originals in our tests.
+ STLDeleteValues(&original_samples_);
original_samples_.clear();
}
@@ -251,8 +260,8 @@
EXPECT_FALSE(entry_->ShouldRejectRequest(request_));
CalculateHistogramDeltas();
- ASSERT_EQ(1, samples_["Throttling.RequestThrottled"].counts(0));
- ASSERT_EQ(1, samples_["Throttling.RequestThrottled"].counts(1));
+ ASSERT_EQ(1, samples_["Throttling.RequestThrottled"]->GetCount(0));
+ ASSERT_EQ(1, samples_["Throttling.RequestThrottled"]->GetCount(1));
}
TEST_F(URLRequestThrottlerEntryTest, InterfaceNotDuringExponentialBackoff) {
@@ -263,8 +272,8 @@
EXPECT_FALSE(entry_->ShouldRejectRequest(request_));
CalculateHistogramDeltas();
- ASSERT_EQ(2, samples_["Throttling.RequestThrottled"].counts(0));
- ASSERT_EQ(0, samples_["Throttling.RequestThrottled"].counts(1));
+ ASSERT_EQ(2, samples_["Throttling.RequestThrottled"]->GetCount(0));
+ ASSERT_EQ(0, samples_["Throttling.RequestThrottled"]->GetCount(1));
}
TEST_F(URLRequestThrottlerEntryTest, InterfaceUpdateFailure) {

Powered by Google App Engine
This is Rietveld 408576698