diff options
| author | 2017-04-11 16:40:18 -0700 | |
|---|---|---|
| committer | 2017-04-11 16:40:18 -0700 | |
| commit | a1ff00157c0ba3aa7ad93d5a4695fed97e18c430 (patch) | |
| tree | 16b1bd58a72f00462b1ab625a5bdfa8c4915c8b3 | |
| parent | ec8f35366851fcfea2d8b8e42821dda72bdca344 (diff) | |
Report app data fixup and prepare timings
They are now reported under SystemServerTimingAsync tag, which is
tracked by boottime dashboard.
Test: manual
Bug: 37186619
Change-Id: Ib3608d7cf27012b5dab1947446fcb8d8496bbf91
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index e514ecb74942..bf6723c9a66c 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -221,6 +221,7 @@ import android.text.format.DateUtils; import android.util.ArrayMap; import android.util.ArraySet; import android.util.Base64; +import android.util.BootTimingsTraceLog; import android.util.DisplayMetrics; import android.util.EventLog; import android.util.ExceptionUtils; @@ -2725,15 +2726,18 @@ public class PackageManagerService extends IPackageManager.Stub { UserHandle.USER_SYSTEM, storageFlags, true /* migrateAppData */, true /* onlyCoreApps */); mPrepareAppDataFuture = SystemServerInitThreadPool.get().submit(() -> { - Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "fixup"); + BootTimingsTraceLog traceLog = new BootTimingsTraceLog("SystemServerTimingAsync", + Trace.TRACE_TAG_PACKAGE_MANAGER); + traceLog.traceBegin("AppDataFixup"); try { mInstaller.fixupAppData(StorageManager.UUID_PRIVATE_INTERNAL, StorageManager.FLAG_STORAGE_DE | StorageManager.FLAG_STORAGE_CE); } catch (InstallerException e) { Slog.w(TAG, "Trouble fixing GIDs", e); } - Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER); + traceLog.traceEnd(); + traceLog.traceBegin("AppDataPrepare"); if (deferPackages == null || deferPackages.isEmpty()) { return; } @@ -2754,6 +2758,7 @@ public class PackageManagerService extends IPackageManager.Stub { count++; } } + traceLog.traceEnd(); Slog.i(TAG, "Deferred reconcileAppsData finished " + count + " packages"); }, "prepareAppData"); |