Commit faaa0f8c authored by bttk's avatar bttk Committed by Commit Bot

metrics: Refactor CachedMetrics in android_webview/

Bug: 1046181
Change-Id: I0c269a5991701027702fd5011586d66de6192273
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2017912
Commit-Queue: bttk <bttk@chromium.org>
Reviewed-by: default avatarBo <boliu@chromium.org>
Reviewed-by: default avatarEnder <ender@google.com>
Cr-Commit-Position: refs/heads/master@{#743423}
parent 3a05759a
......@@ -50,9 +50,6 @@ import org.chromium.base.PathService;
import org.chromium.base.ThreadUtils;
import org.chromium.base.TraceEvent;
import org.chromium.base.library_loader.LibraryLoader;
import org.chromium.base.metrics.CachedMetrics;
import org.chromium.base.metrics.CachedMetrics.BooleanHistogramSample;
import org.chromium.base.metrics.CachedMetrics.Count100HistogramSample;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.ScopedSysTraceEvent;
import org.chromium.base.task.PostTask;
......@@ -183,9 +180,8 @@ public class WebViewChromiumAwInit {
String webViewPackageName = AwBrowserProcess.getWebViewPackageName();
boolean isDeveloperModeEnabled =
DeveloperModeUtils.isDeveloperModeEnabled(webViewPackageName);
final BooleanHistogramSample developerModeSample =
new BooleanHistogramSample("Android.WebView.DevUi.DeveloperModeEnabled");
developerModeSample.record(isDeveloperModeEnabled);
RecordHistogram.recordBooleanHistogram(
"Android.WebView.DevUi.DeveloperModeEnabled", isDeveloperModeEnabled);
if (isDeveloperModeEnabled) {
long start = SystemClock.elapsedRealtime();
try {
......@@ -195,9 +191,8 @@ public class WebViewChromiumAwInit {
DeveloperModeUtils.getFlagOverrides(webViewPackageName);
helper.applyFlagOverrides(flagOverrides);
final Count100HistogramSample flagOverrideSample =
new Count100HistogramSample("Android.WebView.DevUi.ToggledFlagCount");
flagOverrideSample.record(flagOverrides.size());
RecordHistogram.recordCount100Histogram(
"Android.WebView.DevUi.ToggledFlagCount", flagOverrides.size());
} finally {
long end = SystemClock.elapsedRealtime();
RecordHistogram.recordTimesHistogram(
......@@ -223,10 +218,6 @@ public class WebViewChromiumAwInit {
mStarted = true;
// Make sure to record any cached metrics, now that we know that the native
// library has been loaded and initialized.
CachedMetrics.commitCachedMetrics();
RecordHistogram.recordSparseHistogram("Android.WebView.TargetSdkVersion",
context.getApplicationInfo().targetSdkVersion);
......
......@@ -48,7 +48,7 @@ import org.chromium.base.ThreadUtils;
import org.chromium.base.annotations.VerifiesOnN;
import org.chromium.base.annotations.VerifiesOnP;
import org.chromium.base.library_loader.NativeLibraries;
import org.chromium.base.metrics.CachedMetrics.TimesHistogramSample;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.ScopedSysTraceEvent;
import org.chromium.components.autofill.AutofillProvider;
import org.chromium.components.autofill.AutofillProviderImpl;
......@@ -339,9 +339,9 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider {
setSingleton(this);
}
TimesHistogramSample histogram =
new TimesHistogramSample("Android.WebView.Startup.CreationTime.Stage1.FactoryInit");
histogram.record(SystemClock.elapsedRealtime() - startTime);
RecordHistogram.recordTimesHistogram(
"Android.WebView.Startup.CreationTime.Stage1.FactoryInit",
SystemClock.elapsedRealtime() - startTime);
}
/* package */ static void checkStorageIsNotDeviceProtected(Context context) {
......
......@@ -15,7 +15,7 @@ import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.PathUtils;
import org.chromium.base.StrictModeContext;
import org.chromium.base.metrics.CachedMetrics.LinearCountHistogramSample;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.ScopedSysTraceEvent;
import java.io.File;
......@@ -33,8 +33,6 @@ abstract class AwDataDirLock {
private static final String EXCLUSIVE_LOCK_FILE = "webview_data.lock";
private static final int LOCK_RETRIES = 5;
private static final int LOCK_SLEEP_MS = 100;
private static final String LOCK_ATTEMPTS_HISTOGRAM_NAME =
"Android.WebView.Startup.DataDirLockAttempts";
private static RandomAccessFile sLockFile;
private static FileLock sExclusiveFileLock;
......@@ -111,9 +109,8 @@ abstract class AwDataDirLock {
// We log values from [0, LOCK_RETRIES]. Histogram samples are expected to be [0, max).
// 0 just goes to the underflow bucket, so min=1 and max=LOCK_RETRIES+1.
// To get bucket width 1, buckets must be max-min+2
LinearCountHistogramSample histogram = new LinearCountHistogramSample(
LOCK_ATTEMPTS_HISTOGRAM_NAME, 1, LOCK_RETRIES + 1, LOCK_RETRIES + 2);
histogram.record(attempts);
RecordHistogram.recordLinearCountHistogram("Android.WebView.Startup.DataDirLockAttempts",
attempts, 1, LOCK_RETRIES + 1, LOCK_RETRIES + 2);
}
private static String getLockFailureReason(final RandomAccessFile file) {
......
......@@ -26,9 +26,6 @@ import org.chromium.android_webview.common.variations.VariationsServiceMetricsHe
import org.chromium.android_webview.common.variations.VariationsUtils;
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.metrics.CachedMetrics.CustomCountHistogramSample;
import org.chromium.base.metrics.CachedMetrics.EnumeratedHistogramSample;
import org.chromium.base.metrics.CachedMetrics.TimesHistogramSample;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.components.variations.LoadSeedResult;
import org.chromium.components.variations.firstrun.VariationsSeedFetcher.SeedInfo;
......@@ -122,30 +119,26 @@ public class VariationsSeedLoader {
int NUM_ENTRIES = 4;
}
private static void recordLoadSeedResult(int result) {
EnumeratedHistogramSample histogram = new EnumeratedHistogramSample(
SEED_LOAD_RESULT_HISTOGRAM_NAME, LoadSeedResult.ENUM_SIZE);
histogram.record(result);
private static void recordLoadSeedResult(@LoadSeedResult int result) {
RecordHistogram.recordEnumeratedHistogram(
SEED_LOAD_RESULT_HISTOGRAM_NAME, result, LoadSeedResult.ENUM_SIZE);
}
private static void recordSeedLoadBlockingTime(long timeMs) {
TimesHistogramSample histogram =
new TimesHistogramSample(SEED_LOAD_BLOCKING_TIME_HISTOGRAM_NAME);
histogram.record(timeMs);
RecordHistogram.recordTimesHistogram(SEED_LOAD_BLOCKING_TIME_HISTOGRAM_NAME, timeMs);
}
private static void recordSeedRequestState(@AppSeedRequestState int state) {
EnumeratedHistogramSample histogram = new EnumeratedHistogramSample(
APP_SEED_REQUEST_STATE_HISTOGRAM_NAME, AppSeedRequestState.NUM_ENTRIES);
histogram.record(state);
RecordHistogram.recordEnumeratedHistogram(
APP_SEED_REQUEST_STATE_HISTOGRAM_NAME, state, AppSeedRequestState.NUM_ENTRIES);
}
private static void recordAppSeedFreshness(long freshnessMinutes) {
// Bucket parameters should match Variations.SeedFreshness.
// See variations::RecordSeedFreshness.
CustomCountHistogramSample histogram = new CustomCountHistogramSample(
APP_SEED_FRESHNESS_HISTOGRAM_NAME, 1, (int) TimeUnit.DAYS.toMinutes(30), 50);
histogram.record((int) freshnessMinutes);
RecordHistogram.recordCustomCountHistogram(APP_SEED_FRESHNESS_HISTOGRAM_NAME,
(int) freshnessMinutes, /*min=*/1, /*max=*/(int) TimeUnit.DAYS.toMinutes(30),
/*numBuckets=*/50);
}
private static boolean shouldThrottleRequests(long now) {
......
......@@ -18,7 +18,7 @@ import com.android.webview.chromium.WebViewChromiumAwInit;
import com.android.webview.chromium.WebkitToSharedGlueConverter;
import org.chromium.android_webview.AwDebug;
import org.chromium.base.metrics.CachedMetrics.EnumeratedHistogramSample;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.support_lib_boundary.StaticsBoundaryInterface;
import org.chromium.support_lib_boundary.WebViewProviderFactoryBoundaryInterface;
import org.chromium.support_lib_boundary.util.BoundaryInterfaceReflectionUtil;
......@@ -192,11 +192,9 @@ class SupportLibWebViewChromiumFactory implements WebViewProviderFactoryBoundary
}
// clang-format on
private static final EnumeratedHistogramSample sApiCallSample =
new EnumeratedHistogramSample("Android.WebView.AndroidX.ApiCall", ApiCall.COUNT);
public static void recordApiCall(@ApiCall int apiCall) {
sApiCallSample.record(apiCall);
RecordHistogram.recordEnumeratedHistogram(
"Android.WebView.AndroidX.ApiCall", apiCall, ApiCall.COUNT);
}
// Initialization guarded by mAwInit.getLock()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment