Index: base/android/java/src/org/chromium/base/metrics/CachedMetrics.java |
diff --git a/base/android/java/src/org/chromium/base/metrics/CachedMetrics.java b/base/android/java/src/org/chromium/base/metrics/CachedMetrics.java |
deleted file mode 100644 |
index f57dba23e14f10bb6bd124823171ceafcd5cb26b..0000000000000000000000000000000000000000 |
--- a/base/android/java/src/org/chromium/base/metrics/CachedMetrics.java |
+++ /dev/null |
@@ -1,169 +0,0 @@ |
-// Copyright 2016 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. |
- |
-package org.chromium.base.metrics; |
- |
-import org.chromium.base.library_loader.LibraryLoader; |
- |
-import java.util.ArrayList; |
-import java.util.List; |
-import java.util.concurrent.TimeUnit; |
- |
-/** |
- * Utility classes for recording UMA metrics before the native library |
- * may have been loaded. Metrics are cached until the library is known |
- * to be loaded, then committed to the MetricsService all at once. |
- */ |
-public class CachedMetrics { |
- /** |
- * 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. |
- */ |
- 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 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(); |
- } |
- } |
- |
- /** |
- * Calls out to native code to commit any cached histograms and events. |
- * Should be called once the native library has been loaded. |
- */ |
- public static void commitCachedMetrics() { |
- for (CachedHistogram event : CachedHistogram.sEvents) event.commitAndClear(); |
- } |
-} |