| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 /** | 5 /** |
| 6 * @fileoverview Utility methods for accessing chrome.experimental.metrics API. | 6 * @fileoverview Utility methods for accessing chrome.metricsPrivate API. |
| 7 * | 7 * |
| 8 * To be included as a first script in main.html | 8 * To be included as a first script in main.html |
| 9 */ | 9 */ |
| 10 | 10 |
| 11 var metrics = {}; | 11 var metrics = {}; |
| 12 | 12 |
| 13 metrics.intervals = {}; | 13 metrics.intervals = {}; |
| 14 | 14 |
| 15 metrics.startInterval = function(name) { | 15 metrics.startInterval = function(name) { |
| 16 metrics.intervals[name] = Date.now(); | 16 metrics.intervals[name] = Date.now(); |
| 17 }; | 17 }; |
| 18 | 18 |
| 19 metrics.startInterval('TotalLoad'); | 19 metrics.startInterval('TotalLoad'); |
| 20 metrics.startInterval('ScriptParse'); | 20 metrics.startInterval('ScriptParse'); |
| 21 | 21 |
| 22 metrics.convertName_ = function(name) { | 22 metrics.convertName_ = function(name) { |
| 23 // chrome.experimental.metrics will append extension ID after the last dot. | 23 return 'FileBrowser.' + name; |
| 24 return 'FileBrowser.' + name + '.'; | |
| 25 }; | 24 }; |
| 26 | 25 |
| 27 metrics.recordTime = function(name) { | 26 metrics.recordTime = function(name) { |
| 28 if (name in metrics.intervals) { | 27 if (name in metrics.intervals) { |
| 29 var elapsed = Date.now() - metrics.intervals[name]; | 28 var elapsed = Date.now() - metrics.intervals[name]; |
| 30 console.log(name + ': ' + elapsed + 'ms'); | 29 console.log(name + ': ' + elapsed + 'ms'); |
| 31 chrome.experimental.metrics.recordTime(metrics.convertName_(name), elapsed); | 30 chrome.metricsPrivate.recordTime(metrics.convertName_(name), elapsed); |
| 32 } else { | 31 } else { |
| 33 console.error('Unknown interval: ' + name); | 32 console.error('Unknown interval: ' + name); |
| 34 } | 33 } |
| 35 }; | 34 }; |
| 36 | 35 |
| 37 metrics.recordAction = function(name) { | 36 metrics.recordAction = function(name) { |
| 38 chrome.experimental.metrics.recordUserAction(metrics.convertName_(name)); | 37 chrome.metricsPrivate.recordUserAction(metrics.convertName_(name)); |
| 39 }; | 38 }; |
| 40 | 39 |
| 41 metrics.reportCount = function(name, value) { | 40 metrics.reportCount = function(name, value) { |
| 42 chrome.experimental.metrics. | 41 chrome.metricsPrivate.recordMediumCount(metrics.convertName_(name), value); |
| 43 recordMediumCount(metrics.convertName_(name), value); | |
| 44 }; | 42 }; |
| 45 | 43 |
| 46 metrics.recordEnum = function(name, value, validValues) { | 44 metrics.recordEnum = function(name, value, validValues) { |
| 47 var index = validValues.indexOf(value); | 45 var index = validValues.indexOf(value); |
| 48 | 46 |
| 49 // Collect invalid values in the extra bucket at the end. | 47 // Collect invalid values in the extra bucket at the end. |
| 50 if (index < 0) index = validValues.length; | 48 if (index < 0) index = validValues.length; |
| 51 | 49 |
| 52 chrome.experimental.metrics.recordValue({ | 50 chrome.metricsPrivate.recordValue({ |
| 53 'metricName': metrics.convertName_(name), | 51 'metricName': metrics.convertName_(name), |
| 54 'type': 'histogram-linear', | 52 'type': 'histogram-linear', |
| 55 'min': 0, | 53 'min': 0, |
| 56 'max': validValues.length, | 54 'max': validValues.length, |
| 57 'buckets': validValues.length + 1 | 55 'buckets': validValues.length + 1 |
| 58 }, | 56 }, |
| 59 index); | 57 index); |
| 60 }; | 58 }; |
| OLD | NEW |