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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanelMetrics.java

Issue 2894913003: [TTS] Move Ranker logging to inference time. (Closed)
Patch Set: Rebase only. Created 3 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 | chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/BarOverlapTapSuppression.java » ('j') | 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/compositor/bottombar/contextualsearch/ContextualSearchPanelMetrics.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanelMetrics.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanelMetrics.java
index db79b6fc42aad80f60ee86b1d2112f952d2013dc..b2b975d4fec182e52d8fdfccbc12af70686e8b26 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanelMetrics.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanelMetrics.java
@@ -8,21 +8,15 @@ import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel.PanelState;
import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel.StateChangeReason;
import org.chromium.chrome.browser.contextualsearch.ContextualSearchHeuristics;
import org.chromium.chrome.browser.contextualsearch.ContextualSearchRankerLogger;
-import org.chromium.chrome.browser.contextualsearch.ContextualSearchRankerLoggerImpl;
import org.chromium.chrome.browser.contextualsearch.ContextualSearchUma;
import org.chromium.chrome.browser.contextualsearch.QuickActionCategory;
-import java.net.URL;
-
/**
* This class is responsible for all the logging related to Contextual Search.
*/
public class ContextualSearchPanelMetrics {
private static final int MILLISECONDS_TO_NANOSECONDS = 1000000;
- // The Ranker logger to use to write Tap Suppression Ranker logs to UMA.
- private final ContextualSearchRankerLogger mTapSuppressionRankerLogger;
-
// Flags for logging.
private boolean mDidSearchInvolvePromo;
private boolean mWasSearchContentViewSeen;
@@ -58,14 +52,7 @@ public class ContextualSearchPanelMetrics {
private ContextualSearchHeuristics mResultsSeenExperiments;
// The current set of heuristics to be logged through ranker with results seen when the panel
// closes.
- private ContextualSearchHeuristics mRankerLogExperiments;
-
- /**
- * Constructs an object to track metrics for the Contextual Search Overlay Panel.
- */
- ContextualSearchPanelMetrics() {
- mTapSuppressionRankerLogger = new ContextualSearchRankerLoggerImpl();
- }
+ private ContextualSearchRankerLogger mRankerLogger;
/**
* Log information when the panel's state has changed.
@@ -97,8 +84,6 @@ public class ContextualSearchPanelMetrics {
(System.nanoTime() - mPanelTriggerTimeFromTapNs) / MILLISECONDS_TO_NANOSECONDS;
ContextualSearchUma.logDurationBetweenTriggerAndScroll(
durationMs, mWasSearchContentViewSeen);
- mTapSuppressionRankerLogger.log(
- ContextualSearchRankerLogger.Feature.DURATION_BEFORE_SCROLL_MS, durationMs);
}
if (isEndingSearch) {
@@ -123,14 +108,19 @@ public class ContextualSearchPanelMetrics {
mQuickActionCategory);
ContextualSearchUma.logQuickActionClicked(mWasQuickActionClicked,
mQuickActionCategory);
- mTapSuppressionRankerLogger.logOutcome(
- ContextualSearchRankerLogger.Feature.OUTCOME_WAS_QUICK_ACTION_CLICKED,
- mWasQuickActionClicked);
+ if (mRankerLogger != null) {
+ mRankerLogger.logOutcome(
+ ContextualSearchRankerLogger.Feature.OUTCOME_WAS_QUICK_ACTION_CLICKED,
+ mWasQuickActionClicked);
+ }
}
if (mResultsSeenExperiments != null) {
mResultsSeenExperiments.logResultsSeen(
mWasSearchContentViewSeen, mWasActivatedByTap);
+ if (mRankerLogger != null) {
+ mResultsSeenExperiments.logRankerTapSuppressionOutcome(mRankerLogger);
+ }
mResultsSeenExperiments = null;
}
@@ -138,21 +128,22 @@ public class ContextualSearchPanelMetrics {
boolean wasAnySuppressionHeuristicSatisfied = mWasAnyHeuristicSatisfiedOnPanelShow;
ContextualSearchUma.logAnyTapSuppressionHeuristicSatisfied(
mWasSearchContentViewSeen, wasAnySuppressionHeuristicSatisfied);
- // Log all the experiments to the Ranker logger.
- if (mRankerLogExperiments != null) {
- mTapSuppressionRankerLogger.logOutcome(
+ // Update The Ranker logger.
+ if (mRankerLogger != null) {
+ // Tell Ranker about the primary outcome.
+ mRankerLogger.logOutcome(
ContextualSearchRankerLogger.Feature.OUTCOME_WAS_PANEL_OPENED,
mWasSearchContentViewSeen);
- mRankerLogExperiments.logRankerTapSuppression(mTapSuppressionRankerLogger);
- mRankerLogExperiments = null;
+ // TODO(donnd): UMA-Log the Ranker inference signal once we're running a model.
}
- // Reset writing to Ranker so whatever interactions occurred are recorded as a
- // complete record.
- mTapSuppressionRankerLogger.writeLogAndReset();
-
ContextualSearchUma.logSelectionLengthResultsSeen(
mWasSearchContentViewSeen, mSelectionLength);
}
+
+ // Reset writing to Ranker so whatever interactions occurred are recorded as a
+ // complete record.
+ if (mRankerLogger != null) mRankerLogger.writeLogAndReset();
+ mRankerLogger = null;
}
if (isExitingPanelOpenedBeyondPeeked) {
@@ -329,15 +320,12 @@ public class ContextualSearchPanelMetrics {
}
/**
- * Sets the experiments to log through Ranker with results seen.
- * @param rankerLogExperiments The experiments to log through Ranker when the panel results
- * are known.
- * @param basePageUrl The URL of the base page to log along with Ranker data.
+ * Sets up logging through Ranker for outcomes.
+ * @param rankerLogger The {@link ContextualSearchRankerLogger} currently being used to measure
+ * or suppress the UI by Ranker.
*/
- public void setRankerLogExperiments(
- ContextualSearchHeuristics rankerLogExperiments, URL basePageUrl) {
- mRankerLogExperiments = rankerLogExperiments;
- mTapSuppressionRankerLogger.setupLoggingForPage(basePageUrl);
+ public void setRankerLogger(ContextualSearchRankerLogger rankerLogger) {
+ mRankerLogger = rankerLogger;
}
/**
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/BarOverlapTapSuppression.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698