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

Unified Diff: content/renderer/manifest/manifest_uma_util.cc

Issue 622813002: [Manifest] Add metrics recording. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@screen_orientation_usage_count
Patch Set: 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
« no previous file with comments | « content/renderer/manifest/manifest_uma_util.h ('k') | tools/metrics/actions/actions.xml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/manifest/manifest_uma_util.cc
diff --git a/content/renderer/manifest/manifest_uma_util.cc b/content/renderer/manifest/manifest_uma_util.cc
new file mode 100644
index 0000000000000000000000000000000000000000..513c4d8648b60d025ab77016fe2cfa1a9cf5f1d9
--- /dev/null
+++ b/content/renderer/manifest/manifest_uma_util.cc
@@ -0,0 +1,78 @@
+// Copyright 2014 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.
+
+#include "content/renderer/manifest/manifest_uma_util.h"
+
+#include "base/metrics/histogram.h"
+#include "content/public/common/manifest.h"
+
+namespace content {
+
+namespace {
+
+static const char kUMANameParseSuccess[] = "Manifest.ParseSuccess";
+static const char kUMANameFetchResult[] = "Manifest.FetchResult";
+
+// Enum for UMA purposes, make sure you update histograms.xml if you add new
+// result types. Never delete or reorder an entry; only add new entries
+// immediately before MANIFEST_FETCH_RESULT_TYPE_COUNT.
+enum ManifestFetchResultType {
+ MANIFEST_FETCH_SUCCESS = 0,
+ MANIFEST_FETCH_ERROR_EMPTY_URL = 1,
+ MANIFEST_FETCH_ERROR_UNSPECIFIED = 2,
+
+ // Must stay at the end.
+ MANIFEST_FETCH_RESULT_TYPE_COUNT
+};
+
+} // anonymous namespace
+
+void ManifestUmaUtil::ParseSucceeded(const Manifest& manifest) {
+ UMA_HISTOGRAM_BOOLEAN(kUMANameParseSuccess, true);
+ UMA_HISTOGRAM_BOOLEAN("Manifest.IsEmpty", manifest.IsEmpty());
+ if (manifest.IsEmpty())
+ return;
+
+ UMA_HISTOGRAM_BOOLEAN("Manifest.HasProperty.name", !manifest.name.is_null());
+ UMA_HISTOGRAM_BOOLEAN("Manifest.HasProperty.short_name",
+ !manifest.short_name.is_null());
+ UMA_HISTOGRAM_BOOLEAN("Manifest.HasProperty.start_url",
+ !manifest.start_url.is_empty());
+ UMA_HISTOGRAM_BOOLEAN("Manifest.HasProperty.display",
+ manifest.display != Manifest::DISPLAY_MODE_UNSPECIFIED);
+ UMA_HISTOGRAM_BOOLEAN("Manifest.HasProperty.orientation",
+ manifest.orientation != blink::WebScreenOrientationLockDefault);
+ UMA_HISTOGRAM_BOOLEAN("Manifest.HasProperty.icons", !manifest.icons.empty());
+ UMA_HISTOGRAM_BOOLEAN("Manifest.HasProperty.gcm_sender_id",
+ !manifest.gcm_sender_id.is_null());
+}
+
+void ManifestUmaUtil::ParseFailed() {
+ UMA_HISTOGRAM_BOOLEAN(kUMANameParseSuccess, false);
+}
+
+void ManifestUmaUtil::FetchSucceeded() {
+ UMA_HISTOGRAM_ENUMERATION(kUMANameFetchResult,
+ MANIFEST_FETCH_SUCCESS,
+ MANIFEST_FETCH_RESULT_TYPE_COUNT);
+}
+
+void ManifestUmaUtil::FetchFailed(FetchFailureReason reason) {
+ ManifestFetchResultType fetch_result_type = MANIFEST_FETCH_RESULT_TYPE_COUNT;
+ switch (reason) {
+ case FETCH_EMPTY_URL:
+ fetch_result_type = MANIFEST_FETCH_ERROR_EMPTY_URL;
+ break;
+ case FETCH_UNSPECIFIED_REASON:
+ fetch_result_type = MANIFEST_FETCH_ERROR_UNSPECIFIED;
+ break;
+ }
+ DCHECK_NE(fetch_result_type, MANIFEST_FETCH_RESULT_TYPE_COUNT);
+
+ UMA_HISTOGRAM_ENUMERATION(kUMANameFetchResult,
+ fetch_result_type,
+ MANIFEST_FETCH_RESULT_TYPE_COUNT);
+}
+
+} // namespace content
« no previous file with comments | « content/renderer/manifest/manifest_uma_util.h ('k') | tools/metrics/actions/actions.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698