Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/AppIndexingUtil.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppIndexingUtil.java b/chrome/android/java/src/org/chromium/chrome/browser/AppIndexingUtil.java |
| index f0398fc37324fec487b7c25f2113939fbe54ab3f..c266d4556552d494302632938bd897033fb4664b 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/AppIndexingUtil.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/AppIndexingUtil.java |
| @@ -11,6 +11,7 @@ import android.webkit.URLUtil; |
| import org.chromium.base.Callback; |
| import org.chromium.base.SysUtils; |
| import org.chromium.base.VisibleForTesting; |
| +import org.chromium.base.metrics.RecordHistogram; |
| import org.chromium.blink.mojom.document_metadata.CopylessPaste; |
| import org.chromium.blink.mojom.document_metadata.WebPage; |
| import org.chromium.chrome.browser.historyreport.AppIndexingReporter; |
| @@ -32,6 +33,12 @@ public class AppIndexingUtil { |
| private static Callback<WebPage> sCallbackForTesting; |
| + // Constants used to log UMA "enum" histograms about the cache state. |
|
jwd
2017/04/19 18:49:16
Add that the values should not be changed or reuse
|
| + private static final int CACHE_HIT_WITH_ENTITY = 0; |
| + private static final int CACHE_HIT_WITHOUT_ENTITY = 1; |
| + private static final int CACHE_MISS = 2; |
| + private static final int CACHE_HISTOGRAM_BOUNDARY = 3; |
| + |
| /** |
| * Extracts entities from document metadata and reports it to on-device App Indexing. |
| * This call can cache entities from recently parsed webpages, in which case, only the url and |
| @@ -52,11 +59,18 @@ public class AppIndexingUtil { |
| if (wasPageVisitedRecently(url)) { |
| if (lastPageVisitContainedEntity(url)) { |
| // Condition 1 |
| + RecordHistogram.recordEnumeratedHistogram( |
| + "CopylessPaste.CacheHit", CACHE_HIT_WITH_ENTITY, CACHE_HISTOGRAM_BOUNDARY); |
| getAppIndexingReporter().reportWebPageView(url, tab.getTitle()); |
| + return; |
| } |
| // Condition 2 |
| + RecordHistogram.recordEnumeratedHistogram( |
| + "CopylessPaste.CacheHit", CACHE_HIT_WITHOUT_ENTITY, CACHE_HISTOGRAM_BOUNDARY); |
| } else { |
| // Condition 3 |
| + RecordHistogram.recordEnumeratedHistogram( |
| + "CopylessPaste.CacheHit", CACHE_MISS, CACHE_HISTOGRAM_BOUNDARY); |
| CopylessPaste copylessPaste = getCopylessPasteInterface(tab); |
| if (copylessPaste == null) { |
| return; |