Commit 5e1363dc authored by Sheng-Hao Tsao's avatar Sheng-Hao Tsao Committed by Commit Bot

Add histograms for MediaRecorder

This CL adds 2 new MediaRecorder histograms, one for the errors
HW encode encounters and one for whether HW encode is used.

ChromeOS autotest (crrev.com/c/813974 and crrev.com/c/831318) will
use them to determine if tests pass.

BUG=616659
TEST=Verified with autotests that the histograms appear.

Change-Id: Id7533e1df7d2105490085eadda061a117b466d59
Reviewed-on: https://chromium-review.googlesource.com/831773
Commit-Queue: Sheng-hao Tsao <shenghao@google.com>
Reviewed-by: default avatarGayane Petrosyan <gayane@chromium.org>
Reviewed-by: default avatarMiguel Casas <mcasas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525992}
parent a70a6daf
......@@ -7,6 +7,7 @@
#include <string>
#include "base/containers/queue.h"
#include "base/metrics/histogram_macros.h"
#include "content/renderer/media/gpu/gpu_video_accelerator_factories_impl.h"
#include "content/renderer/render_thread_impl.h"
#include "media/base/bind_to_current_loop.h"
......@@ -119,6 +120,8 @@ void VEAEncoder::BitstreamBufferReady(int32_t bitstream_buffer_id,
void VEAEncoder::NotifyError(media::VideoEncodeAccelerator::Error error) {
DVLOG(3) << __func__;
DCHECK(encoding_task_runner_->BelongsToCurrentThread());
UMA_HISTOGRAM_ENUMERATION("Media.MediaRecorder.VEAError", error,
media::VideoEncodeAccelerator::kErrorMax + 1);
on_error_callback_.Run();
error_notified_ = true;
}
......
......@@ -10,6 +10,7 @@
#include "base/logging.h"
#include "base/macros.h"
#include "base/memory/ptr_util.h"
#include "base/metrics/histogram_macros.h"
#include "base/task_runner_util.h"
#include "base/threading/thread.h"
#include "base/threading/thread_task_runner_handle.h"
......@@ -455,6 +456,7 @@ void VideoTrackRecorder::InitializeEncoder(
const gfx::Size& input_size = frame->visible_rect().size();
if (allow_vea_encoder && CanUseAcceleratedEncoder(codec, input_size.width(),
input_size.height())) {
UMA_HISTOGRAM_BOOLEAN("Media.MediaRecorder.VEAUsed", true);
const auto vea_profile = GetCodecEnumerator()->CodecIdToVEAProfile(codec);
encoder_ = new VEAEncoder(
on_encoded_video_callback,
......@@ -462,6 +464,7 @@ void VideoTrackRecorder::InitializeEncoder(
weak_ptr_factory_.GetWeakPtr())),
bits_per_second, vea_profile, input_size);
} else {
UMA_HISTOGRAM_BOOLEAN("Media.MediaRecorder.VEAUsed", false);
switch (codec) {
#if BUILDFLAG(RTC_USE_H264)
case CodecId::H264:
......
......@@ -27568,6 +27568,11 @@ Called by update_use_counter_css.py.-->
<int value="1" label="Has errors"/>
</enum>
<enum name="MediaRecorderVEAUsed">
<int value="0" label="Not used"/>
<int value="1" label="Used"/>
</enum>
<enum name="MediaRouteProviderResult">
<int value="0" label="UnknownError"/>
<int value="1" label="Ok"/>
......@@ -34520,6 +34520,19 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries.
</summary>
</histogram>
<histogram name="Media.MediaRecorder.VEAError"
enum="VideoDecodeAcceleratorError">
<owner>shenghao@chromium.org</owner>
<owner>mcasas@chromium.org</owner>
<summary>The errors HW video encode encounters in MediaRecorder.</summary>
</histogram>
<histogram name="Media.MediaRecorder.VEAUsed" enum="MediaRecorderVEAUsed">
<owner>shenghao@chromium.org</owner>
<owner>mcasas@chromium.org</owner>
<summary>Whether HW video encode is used in MediaRecorder.</summary>
</histogram>
<histogram name="Media.MicrophoneMuted" enum="MicrophoneMuteResult">
<owner>henrika@chromium.org</owner>
<summary>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment