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; ...@@ -50,9 +50,6 @@ import org.chromium.base.PathService;
import org.chromium.base.ThreadUtils; import org.chromium.base.ThreadUtils;
import org.chromium.base.TraceEvent; import org.chromium.base.TraceEvent;
import org.chromium.base.library_loader.LibraryLoader; 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.RecordHistogram;
import org.chromium.base.metrics.ScopedSysTraceEvent; import org.chromium.base.metrics.ScopedSysTraceEvent;
import org.chromium.base.task.PostTask; import org.chromium.base.task.PostTask;
...@@ -183,9 +180,8 @@ public class WebViewChromiumAwInit { ...@@ -183,9 +180,8 @@ public class WebViewChromiumAwInit {
String webViewPackageName = AwBrowserProcess.getWebViewPackageName(); String webViewPackageName = AwBrowserProcess.getWebViewPackageName();
boolean isDeveloperModeEnabled = boolean isDeveloperModeEnabled =
DeveloperModeUtils.isDeveloperModeEnabled(webViewPackageName); DeveloperModeUtils.isDeveloperModeEnabled(webViewPackageName);
final BooleanHistogramSample developerModeSample = RecordHistogram.recordBooleanHistogram(
new BooleanHistogramSample("Android.WebView.DevUi.DeveloperModeEnabled"); "Android.WebView.DevUi.DeveloperModeEnabled", isDeveloperModeEnabled);
developerModeSample.record(isDeveloperModeEnabled);
if (isDeveloperModeEnabled) { if (isDeveloperModeEnabled) {
long start = SystemClock.elapsedRealtime(); long start = SystemClock.elapsedRealtime();
try { try {
...@@ -195,9 +191,8 @@ public class WebViewChromiumAwInit { ...@@ -195,9 +191,8 @@ public class WebViewChromiumAwInit {
DeveloperModeUtils.getFlagOverrides(webViewPackageName); DeveloperModeUtils.getFlagOverrides(webViewPackageName);
helper.applyFlagOverrides(flagOverrides); helper.applyFlagOverrides(flagOverrides);
final Count100HistogramSample flagOverrideSample = RecordHistogram.recordCount100Histogram(
new Count100HistogramSample("Android.WebView.DevUi.ToggledFlagCount"); "Android.WebView.DevUi.ToggledFlagCount", flagOverrides.size());
flagOverrideSample.record(flagOverrides.size());
} finally { } finally {
long end = SystemClock.elapsedRealtime(); long end = SystemClock.elapsedRealtime();
RecordHistogram.recordTimesHistogram( RecordHistogram.recordTimesHistogram(
...@@ -223,10 +218,6 @@ public class WebViewChromiumAwInit { ...@@ -223,10 +218,6 @@ public class WebViewChromiumAwInit {
mStarted = true; 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", RecordHistogram.recordSparseHistogram("Android.WebView.TargetSdkVersion",
context.getApplicationInfo().targetSdkVersion); context.getApplicationInfo().targetSdkVersion);
......
...@@ -48,7 +48,7 @@ import org.chromium.base.ThreadUtils; ...@@ -48,7 +48,7 @@ import org.chromium.base.ThreadUtils;
import org.chromium.base.annotations.VerifiesOnN; import org.chromium.base.annotations.VerifiesOnN;
import org.chromium.base.annotations.VerifiesOnP; import org.chromium.base.annotations.VerifiesOnP;
import org.chromium.base.library_loader.NativeLibraries; 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.base.metrics.ScopedSysTraceEvent;
import org.chromium.components.autofill.AutofillProvider; import org.chromium.components.autofill.AutofillProvider;
import org.chromium.components.autofill.AutofillProviderImpl; import org.chromium.components.autofill.AutofillProviderImpl;
...@@ -339,9 +339,9 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { ...@@ -339,9 +339,9 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider {
setSingleton(this); setSingleton(this);
} }
TimesHistogramSample histogram = RecordHistogram.recordTimesHistogram(
new TimesHistogramSample("Android.WebView.Startup.CreationTime.Stage1.FactoryInit"); "Android.WebView.Startup.CreationTime.Stage1.FactoryInit",
histogram.record(SystemClock.elapsedRealtime() - startTime); SystemClock.elapsedRealtime() - startTime);
} }
/* package */ static void checkStorageIsNotDeviceProtected(Context context) { /* package */ static void checkStorageIsNotDeviceProtected(Context context) {
......
...@@ -15,7 +15,7 @@ import org.chromium.base.ContextUtils; ...@@ -15,7 +15,7 @@ import org.chromium.base.ContextUtils;
import org.chromium.base.Log; import org.chromium.base.Log;
import org.chromium.base.PathUtils; import org.chromium.base.PathUtils;
import org.chromium.base.StrictModeContext; 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 org.chromium.base.metrics.ScopedSysTraceEvent;
import java.io.File; import java.io.File;
...@@ -33,8 +33,6 @@ abstract class AwDataDirLock { ...@@ -33,8 +33,6 @@ abstract class AwDataDirLock {
private static final String EXCLUSIVE_LOCK_FILE = "webview_data.lock"; private static final String EXCLUSIVE_LOCK_FILE = "webview_data.lock";
private static final int LOCK_RETRIES = 5; private static final int LOCK_RETRIES = 5;
private static final int LOCK_SLEEP_MS = 100; 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 RandomAccessFile sLockFile;
private static FileLock sExclusiveFileLock; private static FileLock sExclusiveFileLock;
...@@ -111,9 +109,8 @@ abstract class AwDataDirLock { ...@@ -111,9 +109,8 @@ abstract class AwDataDirLock {
// We log values from [0, LOCK_RETRIES]. Histogram samples are expected to be [0, max). // 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. // 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 // To get bucket width 1, buckets must be max-min+2
LinearCountHistogramSample histogram = new LinearCountHistogramSample( RecordHistogram.recordLinearCountHistogram("Android.WebView.Startup.DataDirLockAttempts",
LOCK_ATTEMPTS_HISTOGRAM_NAME, 1, LOCK_RETRIES + 1, LOCK_RETRIES + 2); attempts, 1, LOCK_RETRIES + 1, LOCK_RETRIES + 2);
histogram.record(attempts);
} }
private static String getLockFailureReason(final RandomAccessFile file) { private static String getLockFailureReason(final RandomAccessFile file) {
......
...@@ -26,9 +26,6 @@ import org.chromium.android_webview.common.variations.VariationsServiceMetricsHe ...@@ -26,9 +26,6 @@ import org.chromium.android_webview.common.variations.VariationsServiceMetricsHe
import org.chromium.android_webview.common.variations.VariationsUtils; import org.chromium.android_webview.common.variations.VariationsUtils;
import org.chromium.base.ContextUtils; import org.chromium.base.ContextUtils;
import org.chromium.base.Log; 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.base.metrics.RecordHistogram;
import org.chromium.components.variations.LoadSeedResult; import org.chromium.components.variations.LoadSeedResult;
import org.chromium.components.variations.firstrun.VariationsSeedFetcher.SeedInfo; import org.chromium.components.variations.firstrun.VariationsSeedFetcher.SeedInfo;
...@@ -122,30 +119,26 @@ public class VariationsSeedLoader { ...@@ -122,30 +119,26 @@ public class VariationsSeedLoader {
int NUM_ENTRIES = 4; int NUM_ENTRIES = 4;
} }
private static void recordLoadSeedResult(int result) { private static void recordLoadSeedResult(@LoadSeedResult int result) {
EnumeratedHistogramSample histogram = new EnumeratedHistogramSample( RecordHistogram.recordEnumeratedHistogram(
SEED_LOAD_RESULT_HISTOGRAM_NAME, LoadSeedResult.ENUM_SIZE); SEED_LOAD_RESULT_HISTOGRAM_NAME, result, LoadSeedResult.ENUM_SIZE);
histogram.record(result);
} }
private static void recordSeedLoadBlockingTime(long timeMs) { private static void recordSeedLoadBlockingTime(long timeMs) {
TimesHistogramSample histogram = RecordHistogram.recordTimesHistogram(SEED_LOAD_BLOCKING_TIME_HISTOGRAM_NAME, timeMs);
new TimesHistogramSample(SEED_LOAD_BLOCKING_TIME_HISTOGRAM_NAME);
histogram.record(timeMs);
} }
private static void recordSeedRequestState(@AppSeedRequestState int state) { private static void recordSeedRequestState(@AppSeedRequestState int state) {
EnumeratedHistogramSample histogram = new EnumeratedHistogramSample( RecordHistogram.recordEnumeratedHistogram(
APP_SEED_REQUEST_STATE_HISTOGRAM_NAME, AppSeedRequestState.NUM_ENTRIES); APP_SEED_REQUEST_STATE_HISTOGRAM_NAME, state, AppSeedRequestState.NUM_ENTRIES);
histogram.record(state);
} }
private static void recordAppSeedFreshness(long freshnessMinutes) { private static void recordAppSeedFreshness(long freshnessMinutes) {
// Bucket parameters should match Variations.SeedFreshness. // Bucket parameters should match Variations.SeedFreshness.
// See variations::RecordSeedFreshness. // See variations::RecordSeedFreshness.
CustomCountHistogramSample histogram = new CustomCountHistogramSample( RecordHistogram.recordCustomCountHistogram(APP_SEED_FRESHNESS_HISTOGRAM_NAME,
APP_SEED_FRESHNESS_HISTOGRAM_NAME, 1, (int) TimeUnit.DAYS.toMinutes(30), 50); (int) freshnessMinutes, /*min=*/1, /*max=*/(int) TimeUnit.DAYS.toMinutes(30),
histogram.record((int) freshnessMinutes); /*numBuckets=*/50);
} }
private static boolean shouldThrottleRequests(long now) { private static boolean shouldThrottleRequests(long now) {
......
...@@ -18,7 +18,7 @@ import com.android.webview.chromium.WebViewChromiumAwInit; ...@@ -18,7 +18,7 @@ import com.android.webview.chromium.WebViewChromiumAwInit;
import com.android.webview.chromium.WebkitToSharedGlueConverter; import com.android.webview.chromium.WebkitToSharedGlueConverter;
import org.chromium.android_webview.AwDebug; 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.StaticsBoundaryInterface;
import org.chromium.support_lib_boundary.WebViewProviderFactoryBoundaryInterface; import org.chromium.support_lib_boundary.WebViewProviderFactoryBoundaryInterface;
import org.chromium.support_lib_boundary.util.BoundaryInterfaceReflectionUtil; import org.chromium.support_lib_boundary.util.BoundaryInterfaceReflectionUtil;
...@@ -192,11 +192,9 @@ class SupportLibWebViewChromiumFactory implements WebViewProviderFactoryBoundary ...@@ -192,11 +192,9 @@ class SupportLibWebViewChromiumFactory implements WebViewProviderFactoryBoundary
} }
// clang-format on // clang-format on
private static final EnumeratedHistogramSample sApiCallSample =
new EnumeratedHistogramSample("Android.WebView.AndroidX.ApiCall", ApiCall.COUNT);
public static void recordApiCall(@ApiCall int apiCall) { public static void recordApiCall(@ApiCall int apiCall) {
sApiCallSample.record(apiCall); RecordHistogram.recordEnumeratedHistogram(
"Android.WebView.AndroidX.ApiCall", apiCall, ApiCall.COUNT);
} }
// Initialization guarded by mAwInit.getLock() // 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