Index: webrtc/video/send_statistics_proxy_unittest.cc |
diff --git a/webrtc/video/send_statistics_proxy_unittest.cc b/webrtc/video/send_statistics_proxy_unittest.cc |
index 636b9dc40cf40644ac24701e8ee05a95d9047712..2bf038d2c437ce11a6d90a427ae274a0a4533f2a 100644 |
--- a/webrtc/video/send_statistics_proxy_unittest.cc |
+++ b/webrtc/video/send_statistics_proxy_unittest.cc |
@@ -17,7 +17,7 @@ |
#include "testing/gtest/include/gtest/gtest.h" |
#include "webrtc/system_wrappers/include/metrics.h" |
-#include "webrtc/test/histogram.h" |
+#include "webrtc/system_wrappers/include/metrics_default.h" |
namespace webrtc { |
namespace { |
@@ -40,6 +40,7 @@ class SendStatisticsProxyTest : public ::testing::Test { |
protected: |
virtual void SetUp() { |
+ metrics::Reset(); |
statistics_proxy_.reset(new SendStatisticsProxy( |
&fake_clock_, GetTestConfig(), |
VideoEncoderConfig::ContentType::kRealtimeVideo)); |
@@ -285,7 +286,6 @@ TEST_F(SendStatisticsProxyTest, OnEncodedFrameTimeMeasured) { |
} |
TEST_F(SendStatisticsProxyTest, SwitchContentTypeUpdatesHistograms) { |
- test::ClearHistograms(); |
const int kWidth = 640; |
const int kHeight = 480; |
@@ -295,15 +295,14 @@ TEST_F(SendStatisticsProxyTest, SwitchContentTypeUpdatesHistograms) { |
// No switch, stats not should be updated. |
statistics_proxy_->SetContentType( |
VideoEncoderConfig::ContentType::kRealtimeVideo); |
- EXPECT_EQ(0, test::NumHistogramSamples("WebRTC.Video.InputWidthInPixels")); |
+ EXPECT_EQ(0, metrics::NumSamples("WebRTC.Video.InputWidthInPixels")); |
// Switch to screenshare, real-time stats should be updated. |
statistics_proxy_->SetContentType(VideoEncoderConfig::ContentType::kScreen); |
- EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.InputWidthInPixels")); |
+ EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.InputWidthInPixels")); |
} |
TEST_F(SendStatisticsProxyTest, VerifyQpHistogramStats_Vp8) { |
- test::ClearHistograms(); |
EncodedImage encoded_image; |
CodecSpecificInfo codec_info; |
codec_info.codecType = kVideoCodecVP8; |
@@ -317,12 +316,10 @@ TEST_F(SendStatisticsProxyTest, VerifyQpHistogramStats_Vp8) { |
statistics_proxy_->OnSendEncodedImage(encoded_image, &codec_info); |
} |
statistics_proxy_.reset(); |
- EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.Encoded.Qp.Vp8.S0")); |
- EXPECT_EQ(kQpIdx0, |
- test::LastHistogramSample("WebRTC.Video.Encoded.Qp.Vp8.S0")); |
- EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.Encoded.Qp.Vp8.S1")); |
- EXPECT_EQ(kQpIdx1, |
- test::LastHistogramSample("WebRTC.Video.Encoded.Qp.Vp8.S1")); |
+ EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.Encoded.Qp.Vp8.S0")); |
+ EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.Encoded.Qp.Vp8.S0", kQpIdx0)); |
+ EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.Encoded.Qp.Vp8.S1")); |
+ EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.Encoded.Qp.Vp8.S1", kQpIdx1)); |
} |
TEST_F(SendStatisticsProxyTest, VerifyQpHistogramStats_Vp8OneSsrc) { |
@@ -331,7 +328,6 @@ TEST_F(SendStatisticsProxyTest, VerifyQpHistogramStats_Vp8OneSsrc) { |
statistics_proxy_.reset(new SendStatisticsProxy( |
&fake_clock_, config, VideoEncoderConfig::ContentType::kRealtimeVideo)); |
- test::ClearHistograms(); |
EncodedImage encoded_image; |
CodecSpecificInfo codec_info; |
codec_info.codecType = kVideoCodecVP8; |
@@ -342,12 +338,11 @@ TEST_F(SendStatisticsProxyTest, VerifyQpHistogramStats_Vp8OneSsrc) { |
statistics_proxy_->OnSendEncodedImage(encoded_image, &codec_info); |
} |
statistics_proxy_.reset(); |
- EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.Encoded.Qp.Vp8")); |
- EXPECT_EQ(kQpIdx0, test::LastHistogramSample("WebRTC.Video.Encoded.Qp.Vp8")); |
+ EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.Encoded.Qp.Vp8")); |
+ EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.Encoded.Qp.Vp8", kQpIdx0)); |
} |
TEST_F(SendStatisticsProxyTest, VerifyQpHistogramStats_Vp9) { |
- test::ClearHistograms(); |
EncodedImage encoded_image; |
CodecSpecificInfo codec_info; |
codec_info.codecType = kVideoCodecVP9; |
@@ -362,12 +357,10 @@ TEST_F(SendStatisticsProxyTest, VerifyQpHistogramStats_Vp9) { |
statistics_proxy_->OnSendEncodedImage(encoded_image, &codec_info); |
} |
statistics_proxy_.reset(); |
- EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.Encoded.Qp.Vp9.S0")); |
- EXPECT_EQ(kQpIdx0, |
- test::LastHistogramSample("WebRTC.Video.Encoded.Qp.Vp9.S0")); |
- EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.Encoded.Qp.Vp9.S1")); |
- EXPECT_EQ(kQpIdx1, |
- test::LastHistogramSample("WebRTC.Video.Encoded.Qp.Vp9.S1")); |
+ EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.Encoded.Qp.Vp9.S0")); |
+ EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.Encoded.Qp.Vp9.S0", kQpIdx0)); |
+ EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.Encoded.Qp.Vp9.S1")); |
+ EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.Encoded.Qp.Vp9.S1", kQpIdx1)); |
} |
TEST_F(SendStatisticsProxyTest, VerifyQpHistogramStats_Vp9OneSpatialLayer) { |
@@ -376,7 +369,6 @@ TEST_F(SendStatisticsProxyTest, VerifyQpHistogramStats_Vp9OneSpatialLayer) { |
statistics_proxy_.reset(new SendStatisticsProxy( |
&fake_clock_, config, VideoEncoderConfig::ContentType::kRealtimeVideo)); |
- test::ClearHistograms(); |
EncodedImage encoded_image; |
CodecSpecificInfo codec_info; |
codec_info.codecType = kVideoCodecVP9; |
@@ -388,8 +380,8 @@ TEST_F(SendStatisticsProxyTest, VerifyQpHistogramStats_Vp9OneSpatialLayer) { |
statistics_proxy_->OnSendEncodedImage(encoded_image, &codec_info); |
} |
statistics_proxy_.reset(); |
- EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.Encoded.Qp.Vp9")); |
- EXPECT_EQ(kQpIdx0, test::LastHistogramSample("WebRTC.Video.Encoded.Qp.Vp9")); |
+ EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.Encoded.Qp.Vp9")); |
+ EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.Encoded.Qp.Vp9", kQpIdx0)); |
} |
TEST_F(SendStatisticsProxyTest, NoSubstreams) { |
@@ -531,26 +523,24 @@ TEST_F(SendStatisticsProxyTest, ResetsRtcpCountersOnContentChange) { |
// Changing content type causes histograms to be reported. |
statistics_proxy_->SetContentType(VideoEncoderConfig::ContentType::kScreen); |
- EXPECT_EQ(1, test::NumHistogramSamples( |
- "WebRTC.Video.NackPacketsReceivedPerMinute")); |
- EXPECT_EQ( |
- 1, test::NumHistogramSamples("WebRTC.Video.FirPacketsReceivedPerMinute")); |
- EXPECT_EQ( |
- 1, test::NumHistogramSamples("WebRTC.Video.PliPacketsReceivedPerMinute")); |
- EXPECT_EQ(1, test::NumHistogramSamples( |
+ EXPECT_EQ(1, |
+ metrics::NumSamples("WebRTC.Video.NackPacketsReceivedPerMinute")); |
+ EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.FirPacketsReceivedPerMinute")); |
+ EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.PliPacketsReceivedPerMinute")); |
+ EXPECT_EQ(1, metrics::NumSamples( |
"WebRTC.Video.UniqueNackRequestsReceivedInPercent")); |
const int kRate = 60 * 2; // Packets per minute with two streams. |
- EXPECT_EQ(1 * kRate, test::LastHistogramSample( |
- "WebRTC.Video.NackPacketsReceivedPerMinute")); |
- EXPECT_EQ(2 * kRate, test::LastHistogramSample( |
- "WebRTC.Video.FirPacketsReceivedPerMinute")); |
- EXPECT_EQ(3 * kRate, test::LastHistogramSample( |
- "WebRTC.Video.PliPacketsReceivedPerMinute")); |
- EXPECT_EQ(4 * 100 / 5, |
- test::LastHistogramSample( |
- "WebRTC.Video.UniqueNackRequestsReceivedInPercent")); |
+ EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.NackPacketsReceivedPerMinute", |
+ 1 * kRate)); |
+ EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.FirPacketsReceivedPerMinute", |
+ 2 * kRate)); |
+ EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.PliPacketsReceivedPerMinute", |
+ 3 * kRate)); |
+ EXPECT_EQ( |
+ 1, metrics::NumEvents("WebRTC.Video.UniqueNackRequestsReceivedInPercent", |
+ 4 * 100 / 5)); |
// New start time but same counter values. |
proxy->RtcpPacketTypesCounterUpdated(kFirstSsrc, counters); |
@@ -569,29 +559,29 @@ TEST_F(SendStatisticsProxyTest, ResetsRtcpCountersOnContentChange) { |
SetUp(); // Reset stats proxy also causes histograms to be reported. |
- EXPECT_EQ(1, test::NumHistogramSamples( |
+ EXPECT_EQ(1, metrics::NumSamples( |
"WebRTC.Video.Screenshare.NackPacketsReceivedPerMinute")); |
- EXPECT_EQ(1, test::NumHistogramSamples( |
+ EXPECT_EQ(1, metrics::NumSamples( |
"WebRTC.Video.Screenshare.FirPacketsReceivedPerMinute")); |
- EXPECT_EQ(1, test::NumHistogramSamples( |
+ EXPECT_EQ(1, metrics::NumSamples( |
"WebRTC.Video.Screenshare.PliPacketsReceivedPerMinute")); |
EXPECT_EQ( |
- 1, test::NumHistogramSamples( |
+ 1, metrics::NumSamples( |
"WebRTC.Video.Screenshare.UniqueNackRequestsReceivedInPercent")); |
- EXPECT_EQ(1 * kRate, |
- test::LastHistogramSample( |
- "WebRTC.Video.Screenshare.NackPacketsReceivedPerMinute")); |
- EXPECT_EQ(2 * kRate, |
- test::LastHistogramSample( |
- "WebRTC.Video.Screenshare.FirPacketsReceivedPerMinute")); |
- EXPECT_EQ(3 * kRate, |
- test::LastHistogramSample( |
- "WebRTC.Video.Screenshare.PliPacketsReceivedPerMinute")); |
- EXPECT_EQ( |
- 4 * 100 / 5, |
- test::LastHistogramSample( |
- "WebRTC.Video.Screenshare.UniqueNackRequestsReceivedInPercent")); |
+ EXPECT_EQ(1, metrics::NumEvents( |
+ "WebRTC.Video.Screenshare.NackPacketsReceivedPerMinute", |
+ 1 * kRate)); |
+ EXPECT_EQ(1, metrics::NumEvents( |
+ "WebRTC.Video.Screenshare.FirPacketsReceivedPerMinute", |
+ 2 * kRate)); |
+ EXPECT_EQ(1, metrics::NumEvents( |
+ "WebRTC.Video.Screenshare.PliPacketsReceivedPerMinute", |
+ 3 * kRate)); |
+ EXPECT_EQ(1, |
+ metrics::NumEvents( |
+ "WebRTC.Video.Screenshare.UniqueNackRequestsReceivedInPercent", |
+ 4 * 100 / 5)); |
} |
TEST_F(SendStatisticsProxyTest, ResetsRtpCountersOnContentChange) { |
@@ -628,39 +618,46 @@ TEST_F(SendStatisticsProxyTest, ResetsRtpCountersOnContentChange) { |
// Changing content type causes histograms to be reported. |
statistics_proxy_->SetContentType(VideoEncoderConfig::ContentType::kScreen); |
- EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.BitrateSentInKbps")); |
- EXPECT_EQ(static_cast<int>((counters.transmitted.TotalBytes() * 4 * 8) / |
- metrics::kMinRunTimeInSeconds / 1000), |
- test::LastHistogramSample("WebRTC.Video.BitrateSentInKbps")); |
- |
+ EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.BitrateSentInKbps")); |
+ EXPECT_EQ(1, |
+ metrics::NumEvents( |
+ "WebRTC.Video.BitrateSentInKbps", |
+ static_cast<int>((counters.transmitted.TotalBytes() * 4 * 8) / |
+ metrics::kMinRunTimeInSeconds / 1000))); |
+ |
+ EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.MediaBitrateSentInKbps")); |
+ EXPECT_EQ(1, metrics::NumEvents( |
+ "WebRTC.Video.MediaBitrateSentInKbps", |
+ static_cast<int>((counters.MediaPayloadBytes() * 2 * 8) / |
+ metrics::kMinRunTimeInSeconds / 1000))); |
+ |
+ EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.PaddingBitrateSentInKbps")); |
EXPECT_EQ(1, |
- test::NumHistogramSamples("WebRTC.Video.MediaBitrateSentInKbps")); |
- EXPECT_EQ(static_cast<int>((counters.MediaPayloadBytes() * 2 * 8) / |
- metrics::kMinRunTimeInSeconds / 1000), |
- test::LastHistogramSample("WebRTC.Video.MediaBitrateSentInKbps")); |
+ metrics::NumEvents( |
+ "WebRTC.Video.PaddingBitrateSentInKbps", |
+ static_cast<int>((counters.transmitted.padding_bytes * 4 * 8) / |
+ metrics::kMinRunTimeInSeconds / 1000))); |
EXPECT_EQ(1, |
- test::NumHistogramSamples("WebRTC.Video.PaddingBitrateSentInKbps")); |
- EXPECT_EQ(static_cast<int>((counters.transmitted.padding_bytes * 4 * 8) / |
- metrics::kMinRunTimeInSeconds / 1000), |
- test::LastHistogramSample("WebRTC.Video.PaddingBitrateSentInKbps")); |
+ metrics::NumSamples("WebRTC.Video.RetransmittedBitrateSentInKbps")); |
+ EXPECT_EQ(1, |
+ metrics::NumEvents( |
+ "WebRTC.Video.RetransmittedBitrateSentInKbps", |
+ static_cast<int>((counters.retransmitted.TotalBytes() * 2 * 8) / |
+ metrics::kMinRunTimeInSeconds / 1000))); |
- EXPECT_EQ(1, test::NumHistogramSamples( |
- "WebRTC.Video.RetransmittedBitrateSentInKbps")); |
+ EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.RtxBitrateSentInKbps")); |
EXPECT_EQ( |
- static_cast<int>((counters.retransmitted.TotalBytes() * 2 * 8) / |
- metrics::kMinRunTimeInSeconds / 1000), |
- test::LastHistogramSample("WebRTC.Video.RetransmittedBitrateSentInKbps")); |
- |
- EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.RtxBitrateSentInKbps")); |
- EXPECT_EQ(static_cast<int>((rtx_counters.transmitted.TotalBytes() * 2 * 8) / |
- metrics::kMinRunTimeInSeconds / 1000), |
- test::LastHistogramSample("WebRTC.Video.RtxBitrateSentInKbps")); |
+ 1, metrics::NumEvents( |
+ "WebRTC.Video.RtxBitrateSentInKbps", |
+ static_cast<int>((rtx_counters.transmitted.TotalBytes() * 2 * 8) / |
+ metrics::kMinRunTimeInSeconds / 1000))); |
- EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.FecBitrateSentInKbps")); |
- EXPECT_EQ(static_cast<int>((rtx_counters.fec.TotalBytes() * 2 * 8) / |
- metrics::kMinRunTimeInSeconds / 1000), |
- test::LastHistogramSample("WebRTC.Video.FecBitrateSentInKbps")); |
+ EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.FecBitrateSentInKbps")); |
+ EXPECT_EQ(1, metrics::NumEvents( |
+ "WebRTC.Video.FecBitrateSentInKbps", |
+ static_cast<int>((rtx_counters.fec.TotalBytes() * 2 * 8) / |
+ metrics::kMinRunTimeInSeconds / 1000))); |
// New start time but same counter values. |
proxy->DataCountersUpdated(counters, kFirstSsrc); |
@@ -683,47 +680,51 @@ TEST_F(SendStatisticsProxyTest, ResetsRtpCountersOnContentChange) { |
SetUp(); // Reset stats proxy also causes histograms to be reported. |
- EXPECT_EQ(1, test::NumHistogramSamples( |
- "WebRTC.Video.Screenshare.BitrateSentInKbps")); |
- EXPECT_EQ( |
- static_cast<int>((counters.transmitted.TotalBytes() * 4 * 8) / |
- metrics::kMinRunTimeInSeconds / 1000), |
- test::LastHistogramSample("WebRTC.Video.Screenshare.BitrateSentInKbps")); |
+ EXPECT_EQ(1, |
+ metrics::NumSamples("WebRTC.Video.Screenshare.BitrateSentInKbps")); |
+ EXPECT_EQ(1, |
+ metrics::NumEvents( |
+ "WebRTC.Video.Screenshare.BitrateSentInKbps", |
+ static_cast<int>((counters.transmitted.TotalBytes() * 4 * 8) / |
+ metrics::kMinRunTimeInSeconds / 1000))); |
- EXPECT_EQ(1, test::NumHistogramSamples( |
+ EXPECT_EQ(1, metrics::NumSamples( |
"WebRTC.Video.Screenshare.MediaBitrateSentInKbps")); |
- EXPECT_EQ(static_cast<int>((counters.MediaPayloadBytes() * 2 * 8) / |
- metrics::kMinRunTimeInSeconds / 1000), |
- test::LastHistogramSample( |
- "WebRTC.Video.Screenshare.MediaBitrateSentInKbps")); |
+ EXPECT_EQ(1, metrics::NumEvents( |
+ "WebRTC.Video.Screenshare.MediaBitrateSentInKbps", |
+ static_cast<int>((counters.MediaPayloadBytes() * 2 * 8) / |
+ metrics::kMinRunTimeInSeconds / 1000))); |
- EXPECT_EQ(1, test::NumHistogramSamples( |
+ EXPECT_EQ(1, metrics::NumSamples( |
"WebRTC.Video.Screenshare.PaddingBitrateSentInKbps")); |
- EXPECT_EQ(static_cast<int>((counters.transmitted.padding_bytes * 4 * 8) / |
- metrics::kMinRunTimeInSeconds / 1000), |
- test::LastHistogramSample( |
- "WebRTC.Video.Screenshare.PaddingBitrateSentInKbps")); |
+ EXPECT_EQ(1, |
+ metrics::NumEvents( |
+ "WebRTC.Video.Screenshare.PaddingBitrateSentInKbps", |
+ static_cast<int>((counters.transmitted.padding_bytes * 4 * 8) / |
+ metrics::kMinRunTimeInSeconds / 1000))); |
- EXPECT_EQ(1, test::NumHistogramSamples( |
+ EXPECT_EQ(1, metrics::NumSamples( |
"WebRTC.Video.Screenshare.RetransmittedBitrateSentInKbps")); |
- EXPECT_EQ(static_cast<int>((counters.retransmitted.TotalBytes() * 2 * 8) / |
- metrics::kMinRunTimeInSeconds / 1000), |
- test::LastHistogramSample( |
- "WebRTC.Video.Screenshare.RetransmittedBitrateSentInKbps")); |
- |
- EXPECT_EQ(1, test::NumHistogramSamples( |
- "WebRTC.Video.Screenshare.RtxBitrateSentInKbps")); |
- EXPECT_EQ(static_cast<int>((rtx_counters.transmitted.TotalBytes() * 2 * 8) / |
- metrics::kMinRunTimeInSeconds / 1000), |
- test::LastHistogramSample( |
- "WebRTC.Video.Screenshare.RtxBitrateSentInKbps")); |
- |
- EXPECT_EQ(1, test::NumHistogramSamples( |
- "WebRTC.Video.Screenshare.FecBitrateSentInKbps")); |
- EXPECT_EQ(static_cast<int>((rtx_counters.fec.TotalBytes() * 2 * 8) / |
- metrics::kMinRunTimeInSeconds / 1000), |
- test::LastHistogramSample( |
- "WebRTC.Video.Screenshare.FecBitrateSentInKbps")); |
+ EXPECT_EQ(1, |
+ metrics::NumEvents( |
+ "WebRTC.Video.Screenshare.RetransmittedBitrateSentInKbps", |
+ static_cast<int>((counters.retransmitted.TotalBytes() * 2 * 8) / |
+ metrics::kMinRunTimeInSeconds / 1000))); |
+ |
+ EXPECT_EQ( |
+ 1, metrics::NumSamples("WebRTC.Video.Screenshare.RtxBitrateSentInKbps")); |
+ EXPECT_EQ( |
+ 1, metrics::NumEvents( |
+ "WebRTC.Video.Screenshare.RtxBitrateSentInKbps", |
+ static_cast<int>((rtx_counters.transmitted.TotalBytes() * 2 * 8) / |
+ metrics::kMinRunTimeInSeconds / 1000))); |
+ |
+ EXPECT_EQ( |
+ 1, metrics::NumSamples("WebRTC.Video.Screenshare.FecBitrateSentInKbps")); |
+ EXPECT_EQ(1, metrics::NumEvents( |
+ "WebRTC.Video.Screenshare.FecBitrateSentInKbps", |
+ static_cast<int>((rtx_counters.fec.TotalBytes() * 2 * 8) / |
+ metrics::kMinRunTimeInSeconds / 1000))); |
} |
} // namespace webrtc |