Chromium Code Reviews| Index: chrome/browser/resources/file_manager/js/metrics.js |
| diff --git a/chrome/browser/resources/file_manager/js/metrics.js b/chrome/browser/resources/file_manager/js/metrics.js |
| index 5daff8a520a494655e0557f748dd8d3296fd5624..db5096f0f34026faa09acf2a946b34e5000a6a4f 100644 |
| --- a/chrome/browser/resources/file_manager/js/metrics.js |
| +++ b/chrome/browser/resources/file_manager/js/metrics.js |
| @@ -23,36 +23,54 @@ metrics.convertName_ = function(name) { |
| return 'FileBrowser.' + name; |
| }; |
| -metrics.recordTime = function(name) { |
| - if (name in metrics.intervals) { |
| - var elapsed = Date.now() - metrics.intervals[name]; |
| - console.log(name + ': ' + elapsed + 'ms'); |
| - chrome.metricsPrivate.recordTime(metrics.convertName_(name), elapsed); |
| - } else { |
| - console.error('Unknown interval: ' + name); |
| +metrics.decorate = function(name) { |
| + this[name] = function() { |
| + var args = Array.apply(null, arguments); |
| + args[0] = metrics.convertName_(args[0]); |
| + chrome.metricsPrivate[name].apply(chrome.metricsPrivate, args); |
| + if (localStorage.logMetrics) { |
| + console.log('chrome.metricsPrivate.' + name, args); |
| + } |
| } |
| }; |
| -metrics.recordAction = function(name) { |
| - chrome.metricsPrivate.recordUserAction(metrics.convertName_(name)); |
| -}; |
| +metrics.decorate('recordMediumCount'); |
| +metrics.decorate('recordSmallCount'); |
| +metrics.decorate('recordTime'); |
| +metrics.decorate('recordUserAction'); |
| -metrics.reportCount = function(name, value) { |
| - chrome.metricsPrivate.recordMediumCount(metrics.convertName_(name), value); |
| +metrics.recordInterval = function(name) { |
| + if (name in metrics.intervals) { |
| + metrics.recordTime(name, Date.now() - metrics.intervals[name]); |
| + } else { |
| + console.error('Unknown interval: ' + name); |
| + } |
| }; |
| metrics.recordEnum = function(name, value, validValues) { |
| - var index = validValues.indexOf(value); |
| - |
| + var maxValue; |
| + var index; |
| + if (validValues.constructor.name == 'Array') { |
| + index = validValues.indexOf(value); |
| + maxValue = validValues.length; |
|
dgozman
2011/12/06 15:45:56
I think, it should be
validValues.length - 1
Vladislav Kaznacheev
2011/12/06 16:07:44
Done.
|
| + } else { |
| + index = value; |
| + maxValue = validValues - 1; |
| + } |
| // Collect invalid values in the extra bucket at the end. |
| - if (index < 0) index = validValues.length; |
| - |
| - chrome.metricsPrivate.recordValue({ |
| - 'metricName': metrics.convertName_(name), |
| - 'type': 'histogram-linear', |
| - 'min': 0, |
| - 'max': validValues.length, |
| - 'buckets': validValues.length + 1 |
| - }, |
| - index); |
| + if (index < 0 || index > maxValue) |
| + index = maxValue; |
| + |
| + var metricDescr = { |
| + 'metricName': metrics.convertName_(name), |
| + 'type': 'histogram-linear', |
| + 'min': 0, |
| + 'max': maxValue, |
| + 'buckets': maxValue + 1 |
| + }; |
| + chrome.metricsPrivate.recordValue(metricDescr, index); |
| + if (localStorage.logMetrics) { |
| + console.log('chrome.metricsPrivate.recordValue', |
| + [metricDescr.metricName, index, value]); |
| + } |
| }; |