Commit 2f033e64 authored by andresp@chromium.org's avatar andresp@chromium.org

Add histogram WebRTC.UserMediaRequest.Result to track getUserMedia success and failure reasons.

BUG=399835

Review URL: https://codereview.chromium.org/427713004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@287614 0039d316-1c4b-4281-b951-d872f2087c98
parent 0d7dc86c
...@@ -601,12 +601,14 @@ void MediaStreamImpl::GetUserMediaRequestSucceeded( ...@@ -601,12 +601,14 @@ void MediaStreamImpl::GetUserMediaRequestSucceeded(
const blink::WebMediaStream& stream, const blink::WebMediaStream& stream,
blink::WebUserMediaRequest* request_info) { blink::WebUserMediaRequest* request_info) {
DVLOG(1) << "MediaStreamImpl::GetUserMediaRequestSucceeded"; DVLOG(1) << "MediaStreamImpl::GetUserMediaRequestSucceeded";
LogUserMediaRequestResult(MEDIA_DEVICE_OK);
request_info->requestSucceeded(stream); request_info->requestSucceeded(stream);
} }
void MediaStreamImpl::GetUserMediaRequestFailed( void MediaStreamImpl::GetUserMediaRequestFailed(
blink::WebUserMediaRequest* request_info, blink::WebUserMediaRequest* request_info,
content::MediaStreamRequestResult result) { content::MediaStreamRequestResult result) {
LogUserMediaRequestResult(result);
switch (result) { switch (result) {
case MEDIA_DEVICE_OK: case MEDIA_DEVICE_OK:
NOTREACHED(); NOTREACHED();
......
...@@ -8,6 +8,11 @@ ...@@ -8,6 +8,11 @@
namespace content { namespace content {
void LogUserMediaRequestResult(MediaStreamRequestResult result) {
UMA_HISTOGRAM_ENUMERATION(
"WebRTC.UserMediaRequest.Result", result, NUM_MEDIA_REQUEST_RESULTS);
}
void UpdateWebRTCMethodCount(JavaScriptAPIName api_name) { void UpdateWebRTCMethodCount(JavaScriptAPIName api_name) {
DVLOG(3) << "Incrementing WebRTC.webkitApiCount for " << api_name; DVLOG(3) << "Incrementing WebRTC.webkitApiCount for " << api_name;
UMA_HISTOGRAM_ENUMERATION("WebRTC.webkitApiCount", api_name, INVALID_NAME); UMA_HISTOGRAM_ENUMERATION("WebRTC.webkitApiCount", api_name, INVALID_NAME);
......
...@@ -8,9 +8,12 @@ ...@@ -8,9 +8,12 @@
#include "base/memory/singleton.h" #include "base/memory/singleton.h"
#include "base/threading/non_thread_safe.h" #include "base/threading/non_thread_safe.h"
#include "content/common/content_export.h" #include "content/common/content_export.h"
#include "content/public/common/media_stream_request.h"
namespace content { namespace content {
void LogUserMediaRequestResult(MediaStreamRequestResult result);
// Helper enum used for histogramming calls to WebRTC APIs from JavaScript. // Helper enum used for histogramming calls to WebRTC APIs from JavaScript.
enum JavaScriptAPIName { enum JavaScriptAPIName {
WEBKIT_GET_USER_MEDIA, WEBKIT_GET_USER_MEDIA,
......
...@@ -35733,6 +35733,14 @@ Therefore, the affected-histogram name has to have at least one dot in it. ...@@ -35733,6 +35733,14 @@ Therefore, the affected-histogram name has to have at least one dot in it.
</summary> </summary>
</histogram> </histogram>
<histogram name="WebRTC.UserMediaRequest.Result"
enum="MediaStreamRequestResult">
<owner>andresp@chromium.org</owner>
<summary>
Counters for UserMediaRequests results such as failure reasons.
</summary>
</histogram>
<histogram name="WebRTC.webkitApiCount" enum="JavaScriptAPIName"> <histogram name="WebRTC.webkitApiCount" enum="JavaScriptAPIName">
<owner>perkj@chromium.org</owner> <owner>perkj@chromium.org</owner>
<summary>Counts number of calls to WebRTC APIs from JavaScript.</summary> <summary>Counts number of calls to WebRTC APIs from JavaScript.</summary>
...@@ -43188,6 +43196,18 @@ Therefore, the affected-histogram name has to have at least one dot in it. ...@@ -43188,6 +43196,18 @@ Therefore, the affected-histogram name has to have at least one dot in it.
<int value="2" label="All external links protected"/> <int value="2" label="All external links protected"/>
</enum> </enum>
<enum name="MediaStreamRequestResult" type="int">
<int value="0" label="Ok"/>
<int value="1" label="Permission Denied"/>
<int value="2" label="Permission Dismissed"/>
<int value="3" label="Invalid State"/>
<int value="4" label="No Hardware"/>
<int value="5" label="Invalid Security Origin"/>
<int value="6" label="Tab Capture Failure"/>
<int value="7" label="Capture Failure"/>
<int value="8" label="Track Start Failure"/>
</enum>
<enum name="MetaTagTypeEnum" type="int"> <enum name="MetaTagTypeEnum" type="int">
<int value="0" label="No viewport tag"/> <int value="0" label="No viewport tag"/>
<int value="1" label="Viewport meta with device width"/> <int value="1" label="Viewport meta with device width"/>
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