Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java |
| index f63bca998a36140a33c3bb0e7e489fb1f95923c3..2aa519b53801a023fe779ddc58d6b621a0970be5 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java |
| @@ -234,22 +234,20 @@ public class DeferredStartupHandler { |
| private void initAsyncDiskTask() { |
| new AsyncTask<Void, Void, Void>() { |
| + private long mAsyncTaskStartTime; |
| + |
| @Override |
| protected Void doInBackground(Void... params) { |
| try { |
| TraceEvent.begin("ChromeBrowserInitializer.onDeferredStartup.doInBackground"); |
| - long asyncTaskStartTime = SystemClock.uptimeMillis(); |
| - |
| - // Initialize the WebappRegistry if it's not already initialized. Must be in |
| - // async task due to shared preferences disk access on N. |
| - WebappRegistry.getInstance(); |
| + mAsyncTaskStartTime = SystemClock.uptimeMillis(); |
| boolean crashDumpDisabled = CommandLine.getInstance().hasSwitch( |
| ChromeSwitches.DISABLE_CRASH_DUMP_UPLOAD); |
| if (!crashDumpDisabled) { |
| RecordHistogram.recordLongTimesHistogram( |
| "UMA.Debug.EnableCrashUpload.Uptime3", |
| - asyncTaskStartTime - UmaUtils.getForegroundStartTime(), |
| + mAsyncTaskStartTime - UmaUtils.getForegroundStartTime(), |
| TimeUnit.MILLISECONDS); |
| PrivacyPreferencesManager.getInstance().enablePotentialCrashUploading(); |
| MinidumpUploadService.tryUploadAllCrashDumps(mAppContext); |
| @@ -261,6 +259,10 @@ public class DeferredStartupHandler { |
| MinidumpUploadService.storeBreakpadUploadStatsInUma( |
| ChromePreferenceManager.getInstance(mAppContext)); |
| + // Initialize the WebappRegistry if it's not already initialized. Must be in |
| + // async task due to shared preferences disk access on N. |
| + WebappRegistry.getInstance(); |
| + |
| // Force a widget refresh in order to wake up any possible zombie widgets. |
| // This is needed to ensure the right behavior when the process is suddenly |
| // killed. |
| @@ -277,11 +279,6 @@ public class DeferredStartupHandler { |
| cacheIsChromeDefaultBrowser(); |
| - RecordHistogram.recordLongTimesHistogram( |
| - "UMA.Debug.EnableCrashUpload.DeferredStartUpDurationAsync", |
| - SystemClock.uptimeMillis() - asyncTaskStartTime, |
| - TimeUnit.MILLISECONDS); |
| - |
| // Warm up all web app shared prefs. This must be run after the WebappRegistry |
| // instance is initialized. |
| WebappRegistry.warmUpSharedPrefs(); |
| @@ -296,6 +293,11 @@ public class DeferredStartupHandler { |
| protected void onPostExecute(Void params) { |
| // Must be run on the UI thread after the WebappRegistry has been completely warmed. |
| WebappRegistry.getInstance().unregisterOldWebapps(System.currentTimeMillis()); |
| + |
| + RecordHistogram.recordLongTimesHistogram( |
| + "UMA.Debug.EnableCrashUpload.DeferredStartUpDurationAsync", |
|
Maria
2017/01/23 20:46:10
I think you should rename this so that we can tell
Peter Wen
2017/01/23 21:54:41
Done.
|
| + SystemClock.uptimeMillis() - mAsyncTaskStartTime, |
| + TimeUnit.MILLISECONDS); |
| } |
| }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); |
| } |