Merge "Use elapsed time as timestamp of activity launch" into sc-dev
This commit is contained in:
@@ -933,9 +933,11 @@ class ActivityMetricsLogger {
|
|||||||
// This will avoid any races with other operations that modify the ActivityRecord.
|
// This will avoid any races with other operations that modify the ActivityRecord.
|
||||||
final TransitionInfoSnapshot infoSnapshot = new TransitionInfoSnapshot(info);
|
final TransitionInfoSnapshot infoSnapshot = new TransitionInfoSnapshot(info);
|
||||||
if (info.isInterestingToLoggerAndObserver()) {
|
if (info.isInterestingToLoggerAndObserver()) {
|
||||||
|
final long timestamp = info.mTransitionStartTimeNs;
|
||||||
|
final long uptime = info.mTransitionDeviceUptimeMs;
|
||||||
|
final int transitionDelay = info.mCurrentTransitionDelayMs;
|
||||||
mLoggerHandler.post(() -> logAppTransition(
|
mLoggerHandler.post(() -> logAppTransition(
|
||||||
info.mTransitionDeviceUptimeMs, info.mCurrentTransitionDelayMs,
|
timestamp, uptime, transitionDelay, infoSnapshot, isHibernating));
|
||||||
infoSnapshot, isHibernating));
|
|
||||||
}
|
}
|
||||||
mLoggerHandler.post(() -> logAppDisplayed(infoSnapshot));
|
mLoggerHandler.post(() -> logAppDisplayed(infoSnapshot));
|
||||||
if (info.mPendingFullyDrawn != null) {
|
if (info.mPendingFullyDrawn != null) {
|
||||||
@@ -946,8 +948,8 @@ class ActivityMetricsLogger {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// This gets called on another thread without holding the activity manager lock.
|
// This gets called on another thread without holding the activity manager lock.
|
||||||
private void logAppTransition(long transitionDeviceUptimeMs, int currentTransitionDelayMs,
|
private void logAppTransition(long transitionStartTimeNs, long transitionDeviceUptimeMs,
|
||||||
TransitionInfoSnapshot info, boolean isHibernating) {
|
int currentTransitionDelayMs, TransitionInfoSnapshot info, boolean isHibernating) {
|
||||||
final LogMaker builder = new LogMaker(APP_TRANSITION);
|
final LogMaker builder = new LogMaker(APP_TRANSITION);
|
||||||
builder.setPackageName(info.packageName);
|
builder.setPackageName(info.packageName);
|
||||||
builder.setType(info.type);
|
builder.setType(info.type);
|
||||||
@@ -998,7 +1000,7 @@ class ActivityMetricsLogger {
|
|||||||
info.launchedActivityName,
|
info.launchedActivityName,
|
||||||
info.launchedActivityLaunchedFromPackage,
|
info.launchedActivityLaunchedFromPackage,
|
||||||
isInstantApp,
|
isInstantApp,
|
||||||
transitionDeviceUptimeMs,
|
0 /* deprecated transitionDeviceUptimeMs */,
|
||||||
info.reason,
|
info.reason,
|
||||||
currentTransitionDelayMs,
|
currentTransitionDelayMs,
|
||||||
info.startingWindowDelayMs,
|
info.startingWindowDelayMs,
|
||||||
@@ -1012,7 +1014,8 @@ class ActivityMetricsLogger {
|
|||||||
isHibernating,
|
isHibernating,
|
||||||
isIncremental,
|
isIncremental,
|
||||||
isLoading,
|
isLoading,
|
||||||
info.launchedActivityName.hashCode());
|
info.launchedActivityName.hashCode(),
|
||||||
|
TimeUnit.NANOSECONDS.toMillis(transitionStartTimeNs));
|
||||||
|
|
||||||
if (DEBUG_METRICS) {
|
if (DEBUG_METRICS) {
|
||||||
Slog.i(TAG, String.format("APP_START_OCCURRED(%s, %s, %s, %s, %s)",
|
Slog.i(TAG, String.format("APP_START_OCCURRED(%s, %s, %s, %s, %s)",
|
||||||
|
|||||||
Reference in New Issue
Block a user