Log average decoded and rendered framerate for a VideoReceiveStream.
Bug: webrtc:10655
Change-Id: I018b7c254a8e7db6b624c469df8289ed0f110f71
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137516
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28019}
diff --git a/video/receive_statistics_proxy.cc b/video/receive_statistics_proxy.cc
index ba327cc..9be6933 100644
--- a/video/receive_statistics_proxy.cc
+++ b/video/receive_statistics_proxy.cc
@@ -179,10 +179,12 @@
(clock_->TimeInMilliseconds() - *first_decoded_frame_time_ms_);
if (elapsed_ms >=
metrics::kMinRunTimeInSeconds * rtc::kNumMillisecsPerSec) {
- RTC_HISTOGRAM_COUNTS_100(
- "WebRTC.Video.DecodedFramesPerSecond",
- static_cast<int>((stats_.frames_decoded * 1000.0f / elapsed_ms) +
- 0.5f));
+ int decoded_fps = static_cast<int>(
+ (stats_.frames_decoded * 1000.0f / elapsed_ms) + 0.5f);
+ RTC_HISTOGRAM_COUNTS_100("WebRTC.Video.DecodedFramesPerSecond",
+ decoded_fps);
+ log_stream << "WebRTC.Video.DecodedFramesPerSecond " << decoded_fps
+ << '\n';
const uint32_t frames_rendered = stats_.frames_rendered;
if (frames_rendered > 0) {
@@ -202,8 +204,10 @@
const int kMinRequiredSamples = 200;
int samples = static_cast<int>(render_fps_tracker_.TotalSampleCount());
if (samples >= kMinRequiredSamples) {
+ int rendered_fps = round(render_fps_tracker_.ComputeTotalRate());
RTC_HISTOGRAM_COUNTS_100("WebRTC.Video.RenderFramesPerSecond",
- round(render_fps_tracker_.ComputeTotalRate()));
+ rendered_fps);
+ log_stream << "WebRTC.Video.RenderFramesPerSecond " << rendered_fps << '\n';
RTC_HISTOGRAM_COUNTS_100000(
"WebRTC.Video.RenderSqrtPixelsPerSecond",
round(render_pixel_tracker_.ComputeTotalRate()));