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

Unified Diff: webrtc/video/send_statistics_proxy_unittest.cc

Issue 1915523002: Add a default implementation in metrics_default.cc of histograms methods in system_wrappers/interfac (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 7 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 | « webrtc/video/send_delay_stats_unittest.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « webrtc/video/send_delay_stats_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698