Loading services/core/java/com/android/server/wm/ActivityMetricsLogger.java +32 −2 Original line number Diff line number Diff line Loading @@ -76,6 +76,7 @@ import android.app.WindowConfiguration.WindowingMode; import android.content.ComponentName; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.IncrementalStatesInfo; import android.content.pm.dex.ArtManagerInternal; import android.content.pm.dex.PackageOptimizationInfo; import android.metrics.LogMaker; Loading @@ -84,6 +85,7 @@ import android.os.Handler; import android.os.Looper; import android.os.SystemClock; import android.os.Trace; import android.os.incremental.IncrementalManager; import android.util.ArrayMap; import android.util.EventLog; import android.util.Log; Loading Loading @@ -948,6 +950,14 @@ class ActivityMetricsLogger { builder.addTaggedData(PACKAGE_OPTIMIZATION_COMPILATION_FILTER, packageOptimizationInfo.getCompilationFilter()); mMetricsLogger.write(builder); // Incremental info boolean isIncremental = false, isLoading = false; final String codePath = info.applicationInfo.getCodePath(); if (codePath != null && IncrementalManager.isIncrementalPath(codePath)) { isIncremental = true; isLoading = isIncrementalLoading(info.packageName, info.userId); } FrameworkStatsLog.write( FrameworkStatsLog.APP_START_OCCURRED, info.applicationInfo.uid, Loading @@ -967,7 +977,10 @@ class ActivityMetricsLogger { packageOptimizationInfo.getCompilationFilter(), info.sourceType, info.sourceEventDelayMs, isHibernating); isHibernating, isIncremental, isLoading, info.launchedActivityName.hashCode()); if (DEBUG_METRICS) { Slog.i(TAG, String.format("APP_START_OCCURRED(%s, %s, %s, %s, %s)", Loading @@ -982,6 +995,12 @@ class ActivityMetricsLogger { logAppStartMemoryStateCapture(info); } private boolean isIncrementalLoading(String packageName, int userId) { final IncrementalStatesInfo info = mSupervisor.mService.getPackageManagerInternalLocked() .getIncrementalStatesInfo(packageName, 0 /* filterCallingUid */, userId); return info != null && info.isLoading(); } private void logAppDisplayed(TransitionInfoSnapshot info) { if (info.type != TYPE_TRANSITION_WARM_LAUNCH && info.type != TYPE_TRANSITION_COLD_LAUNCH) { return; Loading Loading @@ -1063,6 +1082,14 @@ class ActivityMetricsLogger { mMetricsLogger.write(builder); final PackageOptimizationInfo packageOptimizationInfo = infoSnapshot.getPackageOptimizationInfo(getArtManagerInternal()); // Incremental info boolean isIncremental = false, isLoading = false; final String codePath = info.mLastLaunchedActivity.info.applicationInfo.getCodePath(); if (codePath != null && IncrementalManager.isIncrementalPath(codePath)) { isIncremental = true; isLoading = isIncrementalLoading(info.mLastLaunchedActivity.packageName, info.mLastLaunchedActivity.mUserId); } FrameworkStatsLog.write( FrameworkStatsLog.APP_START_FULLY_DRAWN, info.mLastLaunchedActivity.info.applicationInfo.uid, Loading @@ -1076,7 +1103,10 @@ class ActivityMetricsLogger { packageOptimizationInfo.getCompilationReason(), packageOptimizationInfo.getCompilationFilter(), info.mSourceType, info.mSourceEventDelayMs); info.mSourceEventDelayMs, isIncremental, isLoading, info.mLastLaunchedActivity.info.name.hashCode()); // Ends the trace started at the beginning of this function. This is located here to allow // the trace slice to have a noticable duration. Loading Loading
services/core/java/com/android/server/wm/ActivityMetricsLogger.java +32 −2 Original line number Diff line number Diff line Loading @@ -76,6 +76,7 @@ import android.app.WindowConfiguration.WindowingMode; import android.content.ComponentName; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.IncrementalStatesInfo; import android.content.pm.dex.ArtManagerInternal; import android.content.pm.dex.PackageOptimizationInfo; import android.metrics.LogMaker; Loading @@ -84,6 +85,7 @@ import android.os.Handler; import android.os.Looper; import android.os.SystemClock; import android.os.Trace; import android.os.incremental.IncrementalManager; import android.util.ArrayMap; import android.util.EventLog; import android.util.Log; Loading Loading @@ -948,6 +950,14 @@ class ActivityMetricsLogger { builder.addTaggedData(PACKAGE_OPTIMIZATION_COMPILATION_FILTER, packageOptimizationInfo.getCompilationFilter()); mMetricsLogger.write(builder); // Incremental info boolean isIncremental = false, isLoading = false; final String codePath = info.applicationInfo.getCodePath(); if (codePath != null && IncrementalManager.isIncrementalPath(codePath)) { isIncremental = true; isLoading = isIncrementalLoading(info.packageName, info.userId); } FrameworkStatsLog.write( FrameworkStatsLog.APP_START_OCCURRED, info.applicationInfo.uid, Loading @@ -967,7 +977,10 @@ class ActivityMetricsLogger { packageOptimizationInfo.getCompilationFilter(), info.sourceType, info.sourceEventDelayMs, isHibernating); isHibernating, isIncremental, isLoading, info.launchedActivityName.hashCode()); if (DEBUG_METRICS) { Slog.i(TAG, String.format("APP_START_OCCURRED(%s, %s, %s, %s, %s)", Loading @@ -982,6 +995,12 @@ class ActivityMetricsLogger { logAppStartMemoryStateCapture(info); } private boolean isIncrementalLoading(String packageName, int userId) { final IncrementalStatesInfo info = mSupervisor.mService.getPackageManagerInternalLocked() .getIncrementalStatesInfo(packageName, 0 /* filterCallingUid */, userId); return info != null && info.isLoading(); } private void logAppDisplayed(TransitionInfoSnapshot info) { if (info.type != TYPE_TRANSITION_WARM_LAUNCH && info.type != TYPE_TRANSITION_COLD_LAUNCH) { return; Loading Loading @@ -1063,6 +1082,14 @@ class ActivityMetricsLogger { mMetricsLogger.write(builder); final PackageOptimizationInfo packageOptimizationInfo = infoSnapshot.getPackageOptimizationInfo(getArtManagerInternal()); // Incremental info boolean isIncremental = false, isLoading = false; final String codePath = info.mLastLaunchedActivity.info.applicationInfo.getCodePath(); if (codePath != null && IncrementalManager.isIncrementalPath(codePath)) { isIncremental = true; isLoading = isIncrementalLoading(info.mLastLaunchedActivity.packageName, info.mLastLaunchedActivity.mUserId); } FrameworkStatsLog.write( FrameworkStatsLog.APP_START_FULLY_DRAWN, info.mLastLaunchedActivity.info.applicationInfo.uid, Loading @@ -1076,7 +1103,10 @@ class ActivityMetricsLogger { packageOptimizationInfo.getCompilationReason(), packageOptimizationInfo.getCompilationFilter(), info.mSourceType, info.mSourceEventDelayMs); info.mSourceEventDelayMs, isIncremental, isLoading, info.mLastLaunchedActivity.info.name.hashCode()); // Ends the trace started at the beginning of this function. This is located here to allow // the trace slice to have a noticable duration. Loading