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

Unified Diff: chrome/browser/resources/hotword/nacl_manager.js

Issue 667873002: Add UMA to hotword trigger extension. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add to histograms.xml Created 6 years, 2 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
Index: chrome/browser/resources/hotword/nacl_manager.js
diff --git a/chrome/browser/resources/hotword/nacl_manager.js b/chrome/browser/resources/hotword/nacl_manager.js
index 79c1f3f1104a92f1c755ed883fb7140f1c36403f..60377f646a92cc75b51388c1cc502fd2d3c592f2 100644
--- a/chrome/browser/resources/hotword/nacl_manager.js
+++ b/chrome/browser/resources/hotword/nacl_manager.js
@@ -77,6 +77,8 @@ NaClManager.ManagerState_ = {
};
var ManagerState_ = NaClManager.ManagerState_;
var Error_ = hotword.constants.Error;
+var UmaNaClMessageTimeout_ = hotword.constants.UmaNaClMessageTimeout;
+var UmaNaClPluginError_ = hotword.constants.UmaNaClPluginError;
NaClManager.prototype.__proto__ = cr.EventTarget.prototype;
@@ -92,6 +94,18 @@ NaClManager.prototype.handleError_ = function(error) {
};
/**
+ * Record a plugin error to UMA.
+ * @param {!hotword.constants.UmaNaClPluginError} error
+ * @private
+ */
+NaClManager.prototype.logPluginError_ = function(error) {
+ hotword.metrics.recordEnum(
+ hotword.constants.UmaMetrics.NACL_PLUGIN_ERROR,
+ error,
+ UmaNaClPluginError_.MAX);
+};
+
+/**
* @return {boolean} True if the recognizer is in a running state.
*/
NaClManager.prototype.isRunning = function() {
@@ -250,11 +264,15 @@ NaClManager.prototype.initialize = function(naclArch, stream) {
false);
plugin.addEventListener('crash',
- this.handleError_.bind(this, Error_.NACL_CRASH),
+ function() {
+ this.handleError_(Error_.NACL_CRASH);
+ this.logPluginError_(UmaNaClPluginError_.CRASH);
+ }.bind(this),
false);
return true;
}
this.recognizerState_ = ManagerState_.ERROR;
+ this.logPluginError_(UmaNaClPluginError_.NO_MODULE_FOUND);
return false;
};
@@ -297,6 +315,31 @@ NaClManager.prototype.waitForMessage_ = function(timeout, message) {
function() {
this.recognizerState_ = ManagerState_.ERROR;
this.handleError_(Error_.TIMEOUT);
+ this.logPluginError_(UmaNaClPluginError_.MESSAGE_TIMEOUT);
+ switch (this.expectingMessage_) {
+ case hotword.constants.NaClPlugin.REQUEST_MODEL:
+ var metricValue = UmaNaClMessageTimeout_.REQUEST_MODEL;
+ break;
+ case hotword.constants.NaClPlugin.MODEL_LOADED:
+ var metricValue = UmaNaClMessageTimeout_.MODEL_LOADED;
+ break;
+ case hotword.constants.NaClPlugin.READY_FOR_AUDIO:
+ var metricValue = UmaNaClMessageTimeout_.READY_FOR_AUDIO;
+ break;
+ case hotword.constants.NaClPlugin.STOPPED:
+ var metricValue = UmaNaClMessageTimeout_.STOPPED;
+ break;
+ case hotword.constants.NaClPlugin.HOTWORD_DETECTED:
+ var metricValue = UmaNaClMessageTimeout_.HOTWORD_DETECTED;
+ break;
+ case hotword.constants.NaClPlugin.MS_CONFIGURED:
+ var metricValue = UmaNaClMessageTimeout_.MS_CONFIGURED;
+ break;
+ }
+ hotword.metrics.recordEnum(
+ hotword.constants.UmaMetrics.NACL_MESSAGE_TIMEOUT,
+ metricValue,
+ UmaNaClMessageTimeout_.MAX);
}.bind(this), timeout);
this.expectingMessage_ = message;
};

Powered by Google App Engine
This is Rietveld 408576698