Index: base/test/android/javatests/src/org/chromium/base/test/util/MetricsUtils.java |
diff --git a/base/test/android/javatests/src/org/chromium/base/test/util/MetricsUtils.java b/base/test/android/javatests/src/org/chromium/base/test/util/MetricsUtils.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c4664d68b0a22a594ab307ed267958de0ca105eb |
--- /dev/null |
+++ b/base/test/android/javatests/src/org/chromium/base/test/util/MetricsUtils.java |
@@ -0,0 +1,43 @@ |
+// Copyright 2014 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.test.util; |
+ |
+import org.chromium.base.metrics.RecordHistogram; |
+ |
+/** |
+ * Helpers for testing UMA metrics. |
+ */ |
+public class MetricsUtils { |
+ /** |
+ * Helper class that snapshots the given bucket of the given UMA histogram on its creation, |
+ * allowing to inspect the number of samples recorded during its lifetime. |
+ */ |
+ public static class HistogramDelta { |
+ private final String mHistogram; |
+ private final int mSampleValue; |
+ |
+ private final int mInitialCount; |
+ |
+ private int get() { |
+ return RecordHistogram.getHistogramValueCountForTesting(mHistogram, mSampleValue); |
+ } |
+ |
+ /** |
+ * Snapshots the given bucket of the given histogram. |
+ * @param histogram name of the histogram to snapshot |
+ * @param sampleValue the bucket that contains this value will be snapshot |
+ */ |
+ public HistogramDelta(String histogram, int sampleValue) { |
+ mHistogram = histogram; |
+ mSampleValue = sampleValue; |
+ mInitialCount = get(); |
+ } |
+ |
+ /** Returns the number of samples of the snapshot bucket recorded since creation */ |
+ public int getDelta() { |
+ return get() - mInitialCount; |
+ } |
+ } |
+} |