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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchUma.java

Issue 1131653005: [Contextual Search] Add metrics to track Taps before Open. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 7 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchUma.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchUma.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchUma.java
index c0b5e1bb095bcb636d6c12bda36d8adedba085ec..26924b24ed0e6cffda42e53f70ec190c236e626a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchUma.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchUma.java
@@ -21,7 +21,7 @@ import java.util.concurrent.TimeUnit;
*/
public class ContextualSearchUma {
// An invalid value for the number of taps remaining for the promo. Must be negative.
- public static final int PROMO_TAPS_REMAINING_INVALID = -1;
+ private static final int PROMO_TAPS_REMAINING_INVALID = -1;
// Constants to use for the original selection gesture
private static final boolean LONG_PRESS = false;
@@ -163,6 +163,16 @@ public class ContextualSearchUma {
private static final int NOT_PREFETCHED = 2;
private static final int PREFETCH_BOUNDARY = 3;
+ // Constants used to log UMA "enum" histograms for HTTP / HTTPS.
+ private static final int PROTOCOL_IS_HTTP = 0;
+ private static final int PROTOCOL_NOT_HTTP = 1;
+ private static final int PROTOCOL_BOUNDARY = 2;
+
+ // Constants used to log UMA "enum" histograms for single / multi-word.
+ private static final int RESOLVED_SINGLE_WORD = 0;
+ private static final int RESOLVED_MULTI_WORD = 1;
+ private static final int RESOLVED_BOUNDARY = 2;
+
/**
* Key used in maps from {state, reason} to state entry (exit) logging code.
@@ -410,21 +420,21 @@ public class ContextualSearchUma {
/**
* Logs the state of the Contextual Search preference. This function should be called if the
- * Contextual Search feature is enabled, and will track the different preference settings
+ * Contextual Search feature is active, and will track the different preference settings
* (disabled, enabled or uninitialized). Calling more than once is fine.
- * This is deprecated; pass the number of taps remaining to logPreferenceState.
*/
- @Deprecated
public static void logPreferenceState() {
- logPreferenceState(PROMO_TAPS_REMAINING_INVALID);
+ RecordHistogram.recordEnumeratedHistogram("Search.ContextualSearchPreferenceState",
+ getPreferenceValue(), PREFERENCE_HISTOGRAM_BOUNDARY);
}
/**
* Logs the state of the Contextual Search preference. This function should be called if the
- * Contextual Search feature is enabled, and will track the different preference settings
+ * Contextual Search feature is active, and will track the different preference settings
* (disabled, enabled or uninitialized). Calling more than once is fine.
* @param promoTapsRemaining The number of taps remaining, or -1 if not applicable.
*/
+ @Deprecated
public static void logPreferenceState(int promoTapsRemaining) {
RecordHistogram.recordEnumeratedHistogram("Search.ContextualSearchPreferenceState",
getPreferenceValue(), PREFERENCE_HISTOGRAM_BOUNDARY);
@@ -435,6 +445,90 @@ public class ContextualSearchUma {
}
/**
+ * Logs the given number of promo taps remaining. Should be called only for users that
+ * are still undecided.
+ * @param promoTapsRemaining The number of taps remaining (should not be negative).
+ */
+ public static void logPromoTapsRemaining(int promoTapsRemaining) {
+ if (promoTapsRemaining >= 0) {
+ RecordHistogram.recordCountHistogram("Search.ContextualSearchPromoTapsRemaining",
+ promoTapsRemaining);
+ }
+ }
+
+ /**
+ * Logs the historic number of times that a Tap gesture triggered the peeking promo
+ * for users that have never opened the panel. This should be called periodically for
+ * undecided users only.
+ * @param promoTaps The historic number of taps that have caused the peeking bar for the promo,
+ * for users that have never opened the panel.
+ */
+ public static void logPromoTapsForNeverOpened(int promoTaps) {
+ RecordHistogram.recordCountHistogram("Search.ContextualSearchPromoTapsForNeverOpened",
+ promoTaps);
+ }
+
+ /**
+ * Logs the historic number of times that a Tap gesture triggered the peeking promo before
+ * the user ever opened the panel. This should be called periodically for all users.
+ * @param promoTaps The historic number of taps that have caused the peeking bar for the promo
+ * before the first open of the panel, for all users that have ever opened the panel.
+ */
+ public static void logPromoTapsBeforeFirstOpen(int promoTaps) {
+ RecordHistogram.recordCountHistogram("Search.ContextualSearchPromosTapsBeforeFirstOpen",
+ promoTaps);
+ }
+
+ /**
+ * Records the total count of times the promo panel has *ever* been opened. This should only
+ * be called when the user is still undecided.
+ * @param count The total historic count of times the panel has ever been opened for the
+ * current user.
+ */
+ public static void logPromoOpenCount(int count) {
+ RecordHistogram.recordCountHistogram("Search.ContextualSearchPromoOpenCount", count);
+ }
+
+ /**
+ * Logs the number of taps that have been counted since the user last opened the panel, for
+ * undecided users.
+ * @param tapsSinceOpen The number of taps to log.
+ */
+ public static void logTapsSinceOpenForUndecided(int tapsSinceOpen) {
+ RecordHistogram.recordCountHistogram("Search.ContextualSearchTapsSinceOpenUndecided",
+ tapsSinceOpen);
+ }
+
+ /**
+ * Logs the number of taps that have been counted since the user last opened the panel, for
+ * decided users.
+ * @param tapsSinceOpen The number of taps to log.
+ */
+ public static void logTapsSinceOpenForDecided(int tapsSinceOpen) {
+ RecordHistogram.recordCountHistogram("Search.ContextualSearchTapsSinceOpenDecided",
+ tapsSinceOpen);
+ }
+
+ /**
+ * Logs whether the Search Term was single or multiword.
+ * @param isSingleWord Whether the resolved search term is a single word or not.
+ */
+ public static void logSearchTermResolvedWords(boolean isSingleWord) {
+ RecordHistogram.recordEnumeratedHistogram("Search.ContextualSearchResolvedTermWords",
+ isSingleWord ? RESOLVED_SINGLE_WORD : RESOLVED_MULTI_WORD, RESOLVED_BOUNDARY);
+ }
+
+ /**
+ * Logs whether the base page was using the HTTP protocol or not.
+ * @param isHttpBasePage Whether the base page was using the HTTP protocol or not (should
+ * be false for HTTPS or other URIs).
+ */
+ public static void logBasePageProtocol(boolean isHttpBasePage) {
+ RecordHistogram.recordEnumeratedHistogram("Search.ContextualSearchBasePageProtocol",
+ isHttpBasePage ? PROTOCOL_IS_HTTP : PROTOCOL_NOT_HTTP, PROTOCOL_BOUNDARY);
+ }
+
+ /**
* Logs changes to the Contextual Search preference, aside from those resulting from the first
* run flow.
* @param enabled Whether the preference is being enabled or disabled.
@@ -445,16 +539,6 @@ public class ContextualSearchUma {
}
/**
- * Logs the outcome of a first run flow.
- * This is deprecated; call logPromoOutcome instead.
- */
- @Deprecated
- public static void logFirstRunFlowOutcome() {
- RecordHistogram.recordEnumeratedHistogram("Search.ContextualSearchFirstRunFlowOutcome",
- getPreferenceValue(), PREFERENCE_HISTOGRAM_BOUNDARY);
- }
-
- /**
* Logs the outcome of the promo (first run flow).
* Logs multiple histograms; with and without the originating gesture.
* @param wasTap Whether the gesture that originally caused the panel to show was a Tap.
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698