Index: net/socket_stream/socket_stream_metrics_unittest.cc |
=================================================================== |
--- net/socket_stream/socket_stream_metrics_unittest.cc (revision 155400) |
+++ net/socket_stream/socket_stream_metrics_unittest.cc (working copy) |
@@ -5,13 +5,16 @@ |
#include "net/socket_stream/socket_stream_metrics.h" |
#include "base/basictypes.h" |
+#include "base/memory/scoped_ptr.h" |
#include "base/metrics/histogram.h" |
+#include "base/metrics/histogram_samples.h" |
#include "base/metrics/statistics_recorder.h" |
#include "googleurl/src/gurl.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "testing/platform_test.h" |
using base::Histogram; |
+using base::HistogramSamples; |
using base::StatisticsRecorder; |
namespace net { |
@@ -20,11 +23,11 @@ |
// First we'll preserve the original values. We need to do this |
// as histograms can get affected by other tests. In particular, |
// SocketStreamTest and WebSocketTest can affect the histograms. |
- Histogram::SampleSet original; |
+ scoped_ptr<HistogramSamples> original; |
Histogram* histogram = |
StatisticsRecorder::FindHistogram("Net.SocketStream.ProtocolType"); |
if (histogram) { |
- histogram->SnapshotSample(&original); |
+ original = histogram->SnapshotSamples(); |
} |
SocketStreamMetrics unknown(GURL("unknown://www.example.com/")); |
@@ -39,22 +42,23 @@ |
ASSERT_TRUE(histogram != NULL); |
EXPECT_EQ(Histogram::kUmaTargetedHistogramFlag, histogram->flags()); |
- Histogram::SampleSet sample; |
- histogram->SnapshotSample(&sample); |
- original.Resize(histogram->bucket_count()); |
- sample.Subtract(original); // Cancel the original values. |
- EXPECT_EQ(1, sample.counts(SocketStreamMetrics::PROTOCOL_UNKNOWN)); |
- EXPECT_EQ(2, sample.counts(SocketStreamMetrics::PROTOCOL_WEBSOCKET)); |
- EXPECT_EQ(3, sample.counts(SocketStreamMetrics::PROTOCOL_WEBSOCKET_SECURE)); |
+ scoped_ptr<HistogramSamples> samples(histogram->SnapshotSamples()); |
+ if (original.get()) { |
+ samples->Subtract(*original); // Cancel the original values. |
+ } |
+ EXPECT_EQ(1, samples->GetCount(SocketStreamMetrics::PROTOCOL_UNKNOWN)); |
+ EXPECT_EQ(2, samples->GetCount(SocketStreamMetrics::PROTOCOL_WEBSOCKET)); |
+ EXPECT_EQ(3, |
+ samples->GetCount(SocketStreamMetrics::PROTOCOL_WEBSOCKET_SECURE)); |
} |
TEST(SocketStreamMetricsTest, ConnectionType) { |
// First we'll preserve the original values. |
- Histogram::SampleSet original; |
+ scoped_ptr<HistogramSamples> original; |
Histogram* histogram = |
StatisticsRecorder::FindHistogram("Net.SocketStream.ConnectionType"); |
if (histogram) { |
- histogram->SnapshotSample(&original); |
+ original = histogram->SnapshotSamples(); |
} |
SocketStreamMetrics metrics(GURL("ws://www.example.com/")); |
@@ -73,23 +77,23 @@ |
ASSERT_TRUE(histogram != NULL); |
EXPECT_EQ(Histogram::kUmaTargetedHistogramFlag, histogram->flags()); |
- Histogram::SampleSet sample; |
- histogram->SnapshotSample(&sample); |
- original.Resize(histogram->bucket_count()); |
- sample.Subtract(original); |
- EXPECT_EQ(1, sample.counts(SocketStreamMetrics::ALL_CONNECTIONS)); |
- EXPECT_EQ(2, sample.counts(SocketStreamMetrics::TUNNEL_CONNECTION)); |
- EXPECT_EQ(3, sample.counts(SocketStreamMetrics::SOCKS_CONNECTION)); |
- EXPECT_EQ(4, sample.counts(SocketStreamMetrics::SSL_CONNECTION)); |
+ scoped_ptr<HistogramSamples> samples(histogram->SnapshotSamples()); |
+ if (original.get()) { |
+ samples->Subtract(*original); // Cancel the original values. |
+ } |
+ EXPECT_EQ(1, samples->GetCount(SocketStreamMetrics::ALL_CONNECTIONS)); |
+ EXPECT_EQ(2, samples->GetCount(SocketStreamMetrics::TUNNEL_CONNECTION)); |
+ EXPECT_EQ(3, samples->GetCount(SocketStreamMetrics::SOCKS_CONNECTION)); |
+ EXPECT_EQ(4, samples->GetCount(SocketStreamMetrics::SSL_CONNECTION)); |
} |
TEST(SocketStreamMetricsTest, WireProtocolType) { |
// First we'll preserve the original values. |
- Histogram::SampleSet original; |
+ scoped_ptr<HistogramSamples> original; |
Histogram* histogram = |
StatisticsRecorder::FindHistogram("Net.SocketStream.WireProtocolType"); |
if (histogram) { |
- histogram->SnapshotSample(&original); |
+ original = histogram->SnapshotSamples(); |
} |
SocketStreamMetrics metrics(GURL("ws://www.example.com/")); |
@@ -104,12 +108,12 @@ |
ASSERT_TRUE(histogram != NULL); |
EXPECT_EQ(Histogram::kUmaTargetedHistogramFlag, histogram->flags()); |
- Histogram::SampleSet sample; |
- histogram->SnapshotSample(&sample); |
- original.Resize(histogram->bucket_count()); |
- sample.Subtract(original); |
- EXPECT_EQ(3, sample.counts(SocketStreamMetrics::WIRE_PROTOCOL_WEBSOCKET)); |
- EXPECT_EQ(7, sample.counts(SocketStreamMetrics::WIRE_PROTOCOL_SPDY)); |
+ scoped_ptr<HistogramSamples> samples(histogram->SnapshotSamples()); |
+ if (original.get()) { |
+ samples->Subtract(*original); // Cancel the original values. |
+ } |
+ EXPECT_EQ(3, samples->GetCount(SocketStreamMetrics::WIRE_PROTOCOL_WEBSOCKET)); |
+ EXPECT_EQ(7, samples->GetCount(SocketStreamMetrics::WIRE_PROTOCOL_SPDY)); |
} |
TEST(SocketStreamMetricsTest, OtherNumbers) { |
@@ -119,31 +123,31 @@ |
int64 original_sent_bytes = 0; |
int64 original_sent_counts = 0; |
- Histogram::SampleSet original; |
+ scoped_ptr<HistogramSamples> original; |
Histogram* histogram = |
StatisticsRecorder::FindHistogram("Net.SocketStream.ReceivedBytes"); |
if (histogram) { |
- histogram->SnapshotSample(&original); |
- original_received_bytes = original.sum(); |
+ original = histogram->SnapshotSamples(); |
+ original_received_bytes = original->sum(); |
} |
histogram = |
StatisticsRecorder::FindHistogram("Net.SocketStream.ReceivedCounts"); |
if (histogram) { |
- histogram->SnapshotSample(&original); |
- original_received_counts = original.sum(); |
+ original = histogram->SnapshotSamples(); |
+ original_received_counts = original->sum(); |
} |
histogram = |
StatisticsRecorder::FindHistogram("Net.SocketStream.SentBytes"); |
if (histogram) { |
- histogram->SnapshotSample(&original); |
- original_sent_bytes = original.sum(); |
+ original = histogram->SnapshotSamples(); |
+ original_sent_bytes = original->sum(); |
} |
histogram = |
StatisticsRecorder::FindHistogram("Net.SocketStream.SentCounts"); |
if (histogram) { |
- histogram->SnapshotSample(&original); |
- original_sent_counts = original.sum(); |
+ original = histogram->SnapshotSamples(); |
+ original_sent_counts = original->sum(); |
} |
SocketStreamMetrics metrics(GURL("ws://www.example.com/")); |
@@ -157,7 +161,7 @@ |
metrics.OnWrite(200); |
metrics.OnClose(); |
- Histogram::SampleSet sample; |
+ scoped_ptr<HistogramSamples> samples; |
// ConnectionLatency. |
histogram = |
@@ -185,32 +189,32 @@ |
StatisticsRecorder::FindHistogram("Net.SocketStream.ReceivedBytes"); |
ASSERT_TRUE(histogram != NULL); |
EXPECT_EQ(Histogram::kUmaTargetedHistogramFlag, histogram->flags()); |
- histogram->SnapshotSample(&sample); |
- EXPECT_EQ(11, sample.sum() - original_received_bytes); // 11 bytes read. |
+ samples = histogram->SnapshotSamples(); |
+ EXPECT_EQ(11, samples->sum() - original_received_bytes); // 11 bytes read. |
// ReceivedCounts. |
histogram = |
StatisticsRecorder::FindHistogram("Net.SocketStream.ReceivedCounts"); |
ASSERT_TRUE(histogram != NULL); |
EXPECT_EQ(Histogram::kUmaTargetedHistogramFlag, histogram->flags()); |
- histogram->SnapshotSample(&sample); |
- EXPECT_EQ(2, sample.sum() - original_received_counts); // 2 read requests. |
+ samples = histogram->SnapshotSamples(); |
+ EXPECT_EQ(2, samples->sum() - original_received_counts); // 2 read requests. |
// SentBytes. |
histogram = |
StatisticsRecorder::FindHistogram("Net.SocketStream.SentBytes"); |
ASSERT_TRUE(histogram != NULL); |
EXPECT_EQ(Histogram::kUmaTargetedHistogramFlag, histogram->flags()); |
- histogram->SnapshotSample(&sample); |
- EXPECT_EQ(222, sample.sum() - original_sent_bytes); // 222 bytes sent. |
+ samples = histogram->SnapshotSamples(); |
+ EXPECT_EQ(222, samples->sum() - original_sent_bytes); // 222 bytes sent. |
// SentCounts. |
histogram = |
StatisticsRecorder::FindHistogram("Net.SocketStream.SentCounts"); |
ASSERT_TRUE(histogram != NULL); |
EXPECT_EQ(Histogram::kUmaTargetedHistogramFlag, histogram->flags()); |
- histogram->SnapshotSample(&sample); |
- EXPECT_EQ(3, sample.sum() - original_sent_counts); // 3 write requests. |
+ samples = histogram->SnapshotSamples(); |
+ EXPECT_EQ(3, samples->sum() - original_sent_counts); // 3 write requests. |
} |
} // namespace net |