Commit 20cd2afe authored by Xiaohan Wang's avatar Xiaohan Wang Committed by Commit Bot

media: Add UMA for CDM creation result

This UMA will report whether CDM instance creation succeeded or not. As
usually, we report it for Clear Key, Widevine and other (unknown) key
systems.

BUG=700147
TEST=Manually checked about://histograms

Change-Id: I0925d07c7a61da68ba43d2d170931617a4452f07
Reviewed-on: https://chromium-review.googlesource.com/727180Reviewed-by: default avatarIlya Sherman <isherman@chromium.org>
Reviewed-by: default avatarDan Sanders <sandersd@chromium.org>
Commit-Queue: Xiaohan Wang <xhwang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510258}
parent 54eca3bd
...@@ -27,6 +27,7 @@ namespace media { ...@@ -27,6 +27,7 @@ namespace media {
namespace { namespace {
const char kMediaEME[] = "Media.EME."; const char kMediaEME[] = "Media.EME.";
const char kDot[] = "."; const char kDot[] = ".";
const char kCreateCdmUMAName[] = "CreateCdm";
const char kTimeToCreateCdmUMAName[] = "CreateCdmTime"; const char kTimeToCreateCdmUMAName[] = "CreateCdmTime";
} // namespace } // namespace
...@@ -162,6 +163,11 @@ void CdmSessionAdapter::OnCdmCreated( ...@@ -162,6 +163,11 @@ void CdmSessionAdapter::OnCdmCreated(
"success", (cdm ? "true" : "false"), "error_message", "success", (cdm ? "true" : "false"), "error_message",
error_message); error_message);
auto key_system_uma_prefix =
kMediaEME + GetKeySystemNameForUMA(key_system) + kDot;
base::UmaHistogramBoolean(key_system_uma_prefix + kCreateCdmUMAName,
cdm ? true : false);
if (!cdm) { if (!cdm) {
cdm_created_result_->CompleteWithError( cdm_created_result_->CompleteWithError(
blink::kWebContentDecryptionModuleExceptionNotSupportedError, 0, blink::kWebContentDecryptionModuleExceptionNotSupportedError, 0,
...@@ -171,8 +177,7 @@ void CdmSessionAdapter::OnCdmCreated( ...@@ -171,8 +177,7 @@ void CdmSessionAdapter::OnCdmCreated(
} }
key_system_ = key_system; key_system_ = key_system;
key_system_uma_prefix_ = key_system_uma_prefix_ = std::move(key_system_uma_prefix);
kMediaEME + GetKeySystemNameForUMA(key_system) + kDot;
// Only report time for successful CDM creation. // Only report time for successful CDM creation.
base::UmaHistogramTimes(key_system_uma_prefix_ + kTimeToCreateCdmUMAName, base::UmaHistogramTimes(key_system_uma_prefix_ + kTimeToCreateCdmUMAName,
......
...@@ -32305,6 +32305,15 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries. ...@@ -32305,6 +32305,15 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries.
<summary>cancelKeyRequest result using the Clear Key key system.</summary> <summary>cancelKeyRequest result using the Clear Key key system.</summary>
</histogram> </histogram>
<histogram name="Media.EME.ClearKey.CreateCdm" enum="BooleanSuccess">
<owner>xhwang@chromium.org</owner>
<summary>
Whether the CDM instance for Clear Key key system is created successfully.
Reported each time a CDM instance creation is attempted, usually as a result
of Javascript call of createMediaKeys().
</summary>
</histogram>
<histogram name="Media.EME.ClearKey.CreateCdmTime" units="ms"> <histogram name="Media.EME.ClearKey.CreateCdmTime" units="ms">
<owner>xhwang@chromium.org</owner> <owner>xhwang@chromium.org</owner>
<summary> <summary>
...@@ -32422,6 +32431,15 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries. ...@@ -32422,6 +32431,15 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries.
<summary>cancelKeyRequest result using an unknown key system.</summary> <summary>cancelKeyRequest result using an unknown key system.</summary>
</histogram> </histogram>
<histogram name="Media.EME.Unknown.CreateCdm" enum="BooleanSuccess">
<owner>xhwang@chromium.org</owner>
<summary>
Whether the CDM instance for an unknown key system is created successfully.
Reported each time a CDM instance creation is attempted, usually as a result
of Javascript call of createMediaKeys().
</summary>
</histogram>
<histogram name="Media.EME.Unknown.CreateCdmTime" units="ms"> <histogram name="Media.EME.Unknown.CreateCdmTime" units="ms">
<owner>xhwang@chromium.org</owner> <owner>xhwang@chromium.org</owner>
<summary> <summary>
...@@ -32489,6 +32507,15 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries. ...@@ -32489,6 +32507,15 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries.
<summary>cancelKeyRequest result using the Widevine key system.</summary> <summary>cancelKeyRequest result using the Widevine key system.</summary>
</histogram> </histogram>
<histogram name="Media.EME.Widevine.CreateCdm" enum="BooleanSuccess">
<owner>xhwang@chromium.org</owner>
<summary>
Whether the CDM instance for Widevine key system is created successfully.
Reported each time a CDM instance creation is attempted, usually as a result
of Javascript call of createMediaKeys().
</summary>
</histogram>
<histogram name="Media.EME.Widevine.CreateCdmTime" units="ms"> <histogram name="Media.EME.Widevine.CreateCdmTime" units="ms">
<owner>xhwang@chromium.org</owner> <owner>xhwang@chromium.org</owner>
<summary> <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