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

Unified Diff: ui/file_manager/file_manager/common/js/metrics_events.js

Issue 918713003: Files.app: Add analytics code to instrument cloud import flows. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address feedback. Created 5 years, 10 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: ui/file_manager/file_manager/common/js/metrics_events.js
diff --git a/ui/file_manager/file_manager/common/js/metrics_events.js b/ui/file_manager/file_manager/common/js/metrics_events.js
new file mode 100644
index 0000000000000000000000000000000000000000..67d11f9de9170f02b1c82f9cc5476c3279d08267
--- /dev/null
+++ b/ui/file_manager/file_manager/common/js/metrics_events.js
@@ -0,0 +1,97 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// namespace
+var metrics = metrics || metricsBase;
+
+/** @enum {string} */
+metrics.Categories = {
Steve McKay 2015/02/17 23:47:51 No need for string constants. Just inline the valu
Ben Kwa 2015/02/17 23:54:24 I'd agree if this value was only used in the metri
+ IMPORT: 'Import'
+};
+
+/**
+ * The values of these enums come from the analytics console.
+ * @private @enum {number}
+ */
+metrics.Dimension_ = {
+ USER_TYPE: 1,
+ SESSION_TYPE: 2,
+ DEDUPE_TYPE: 3,
Steve McKay 2015/02/17 23:47:50 Remove DEDUPE_TYPE and IMPORT_RESULT
Ben Kwa 2015/02/18 22:23:02 Done.
+ IMPORT_RESULT: 4
+};
+
+/**
+ * @enum {!analytics.EventBuilder.Dimension}
+ */
+metrics.Dimensions = {
+ USER_TYPE_NON_IMPORT: {
+ index: metrics.Dimension_.USER_TYPE,
+ value: 'Non-import'
+ },
+ USER_TYPE_IMPORT: {
+ index: metrics.Dimension_.USER_TYPE,
+ value: 'Import'
+ },
+ SESSION_TYPE_NON_IMPORT: {
+ index: metrics.Dimension_.SESSION_TYPE,
+ value: 'Non-import'
+ },
+ SESSION_TYPE_IMPORT: {
+ index: metrics.Dimension_.SESSION_TYPE,
+ value: 'Import'
+ }
+};
+
+// namespace
+metrics.event = metrics.event || {};
+
+/**
+ * Base event builder for all import-related events.
+ * @private {analytics.EventBuilder}
+ */
+metrics.event.Import_ = analytics.EventBuilder.builder()
Steve McKay 2015/02/17 23:47:50 Make this an enum: @private @enum {analytics.Eve
Ben Kwa 2015/02/18 22:23:02 Done.
+ .category(metrics.Categories.IMPORT);
Steve McKay 2015/02/17 23:47:50 IMPORT > Acquisition, because we may want to track
Ben Kwa 2015/02/18 22:23:02 Done.
+
+/**
+ * @enum {!analytics.EventBuilder}
+ */
+metrics.Events = {
Steve McKay 2015/02/17 23:47:50 metrics.ImportEvents, then you can remove the IMPO
Ben Kwa 2015/02/18 22:23:02 Done.
+ IMPORT_STARTED: metrics.event.Import_
+ .action('ImportStart')
Steve McKay 2015/02/17 23:47:50 Prefer regular phrases in your strings... "Import
Ben Kwa 2015/02/18 22:23:02 Done.
+ .dimension(metrics.Dimensions.SESSION_TYPE_IMPORT)
+ .dimension(metrics.Dimensions.USER_TYPE_IMPORT),
+
+ IMPORT_ENDED: metrics.event.Import_
+ .action('ImportSuccess'),
Steve McKay 2015/02/17 23:47:50 Import Completed you get the idea
Ben Kwa 2015/02/18 22:23:01 Done.
+
+ IMPORT_CANCELLED: metrics.event.Import_
+ .action('importCancelled'),
+
+ IMPORT_ERROR: metrics.event.Import_
+ .action('importError'),
+
+ IMPORT_FILE_COUNT: metrics.event.Import_
+ .action('importFileCount'),
Steve McKay 2015/02/17 23:47:50 Files Imported
Ben Kwa 2015/02/18 22:23:01 Done.
+
+ IMPORT_BYTE_COUNT: metrics.event.Import_
+ .action('importByteCount'),
Steve McKay 2015/02/17 23:47:50 Total Bytes Imported
Ben Kwa 2015/02/18 22:23:01 Done.
+
+ DEVICE_YANKED: metrics.event.Import_
+ .action('deviceYanked'),
+
+ HISTORY_DEDUPE_COUNT: metrics.event.Import_
+ .action('historyDedupeCount'),
Steve McKay 2015/02/17 23:47:50 Num. Files History Deduped Num. Files Content Dedu
Ben Kwa 2015/02/18 22:23:01 Done.
+
+ CONTENT_DEDUPE_COUNT: metrics.event.Import_
+ .action('contentDedupeCount')
+};
+
+// namespace
+metrics.timing = metrics.timing || {};
+
+/** @enum {string} */
+metrics.timing.Variables = {
+ COMPUTE_HASH: 'ComputeHash',
Steve McKay 2015/02/17 23:47:50 Any reason we need to qualify this? We're computin
Ben Kwa 2015/02/18 22:23:01 I'll use a label.
+ SEARCH_BY_HASH: 'SearchByHash'
+};

Powered by Google App Engine
This is Rietveld 408576698