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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java

Issue 2439113002: Reland "Move Java CachedMetrics functionality to base/." (Closed)
Patch Set: Add missing CachedMetrics class - unchanged from original CL. Created 4 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
Index: chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
index ad58bb1a954194773eff9d105fe75756fca1eb21..2075313df7ea32bf8b0b0a685f465e8c13839db0 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java
@@ -7,9 +7,7 @@ package org.chromium.chrome.browser.metrics;
import android.util.Pair;
import org.chromium.base.annotations.JNINamespace;
-import org.chromium.base.library_loader.LibraryLoader;
-import org.chromium.base.metrics.RecordHistogram;
-import org.chromium.base.metrics.RecordUserAction;
+import org.chromium.base.metrics.CachedMetrics;
import org.chromium.content_public.browser.WebContents;
import java.util.ArrayList;
@@ -23,147 +21,13 @@ import java.util.concurrent.TimeUnit;
*/
@JNINamespace("metrics")
public class LaunchMetrics {
-
- /**
- * Creating an instance of a subclass of this class automatically adds it to a list of objects
- * that are committed when the native library is available.
- */
- private abstract static class CachedHistogram {
- private static final List<CachedHistogram> sEvents = new ArrayList<CachedHistogram>();
-
- protected final String mHistogramName;
-
- /**
- * @param histogramName Name of the histogram to record.
- */
- protected CachedHistogram(String histogramName) {
- mHistogramName = histogramName;
- sEvents.add(this);
- }
-
- /** Commits the histogram. Expects the native library to be loaded. */
- protected abstract void commitAndClear();
- }
-
/**
- * Caches an action that will be recorded after native side is loaded.
+ * Caches a set of times histogram samples.
+ * TODO(asvitkine): Remove after internal code is migrated to CachedMetrics.
*/
- public static class ActionEvent extends CachedHistogram {
- private int mCount;
-
- public ActionEvent(String actionName) {
- super(actionName);
- }
-
- public void record() {
- if (LibraryLoader.isInitialized()) {
- recordWithNative();
- } else {
- mCount++;
- }
- }
-
- private void recordWithNative() {
- RecordUserAction.record(mHistogramName);
- }
-
- @Override
- protected void commitAndClear() {
- while (mCount > 0) {
- recordWithNative();
- mCount--;
- }
- }
- }
-
- /** Caches a set of integer histogram samples. */
- public static class SparseHistogramSample extends CachedHistogram {
- private final List<Integer> mSamples = new ArrayList<Integer>();
-
- public SparseHistogramSample(String histogramName) {
- super(histogramName);
- }
-
- public void record(int sample) {
- if (LibraryLoader.isInitialized()) {
- recordWithNative(sample);
- } else {
- mSamples.add(sample);
- }
- }
-
- private void recordWithNative(int sample) {
- RecordHistogram.recordSparseSlowlyHistogram(mHistogramName, sample);
- }
-
- @Override
- protected void commitAndClear() {
- for (Integer sample : mSamples) {
- recordWithNative(sample);
- }
- mSamples.clear();
- }
- }
-
- /** Caches a set of enumerated histogram samples. */
- public static class EnumeratedHistogramSample extends CachedHistogram {
- private final List<Integer> mSamples = new ArrayList<Integer>();
- private final int mMaxValue;
-
- public EnumeratedHistogramSample(String histogramName, int maxValue) {
- super(histogramName);
- mMaxValue = maxValue;
- }
-
- public void record(int sample) {
- if (LibraryLoader.isInitialized()) {
- recordWithNative(sample);
- } else {
- mSamples.add(sample);
- }
- }
-
- private void recordWithNative(int sample) {
- RecordHistogram.recordEnumeratedHistogram(mHistogramName, sample, mMaxValue);
- }
-
- @Override
- protected void commitAndClear() {
- for (Integer sample : mSamples) {
- recordWithNative(sample);
- }
- mSamples.clear();
- }
- }
-
- /** Caches a set of times histogram samples. */
- public static class TimesHistogramSample extends CachedHistogram {
- private final List<Long> mSamples = new ArrayList<Long>();
- private final TimeUnit mTimeUnit;
-
+ public static class TimesHistogramSample extends CachedMetrics.TimesHistogramSample {
public TimesHistogramSample(String histogramName, TimeUnit timeUnit) {
- super(histogramName);
- mTimeUnit = timeUnit;
- }
-
- public void record(long sample) {
- if (LibraryLoader.isInitialized()) {
- recordWithNative(sample);
- } else {
- mSamples.add(sample);
- }
- }
-
- private void recordWithNative(long sample) {
- RecordHistogram.recordTimesHistogram(mHistogramName, sample, mTimeUnit);
- }
-
- @Override
- protected void commitAndClear() {
- for (Long sample : mSamples) {
- recordWithNative(sample);
- }
- mSamples.clear();
+ super(histogramName, timeUnit);
}
}
@@ -222,7 +86,7 @@ public class LaunchMetrics {
sTabUrls.clear();
// Record generic cached events.
- for (CachedHistogram event : CachedHistogram.sEvents) event.commitAndClear();
+ CachedMetrics.commitCachedMetrics();
}
/**

Powered by Google App Engine
This is Rietveld 408576698