Merge "Zygote: migrate zygote start time metrics to StatsLog" into rvc-dev
This commit is contained in:
@@ -19,6 +19,9 @@ package com.android.internal.os;
|
|||||||
import static android.system.OsConstants.S_IRWXG;
|
import static android.system.OsConstants.S_IRWXG;
|
||||||
import static android.system.OsConstants.S_IRWXO;
|
import static android.system.OsConstants.S_IRWXO;
|
||||||
|
|
||||||
|
import static com.android.internal.util.FrameworkStatsLog.BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__SECONDARY_ZYGOTE_INIT_START;
|
||||||
|
import static com.android.internal.util.FrameworkStatsLog.BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__ZYGOTE_INIT_START;
|
||||||
|
|
||||||
import android.app.ApplicationLoaders;
|
import android.app.ApplicationLoaders;
|
||||||
import android.compat.annotation.UnsupportedAppUsage;
|
import android.compat.annotation.UnsupportedAppUsage;
|
||||||
import android.content.pm.SharedLibraryInfo;
|
import android.content.pm.SharedLibraryInfo;
|
||||||
@@ -52,7 +55,7 @@ import android.util.TimingsTraceLog;
|
|||||||
import android.webkit.WebViewFactory;
|
import android.webkit.WebViewFactory;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.android.internal.logging.MetricsLogger;
|
import com.android.internal.util.FrameworkStatsLog;
|
||||||
import com.android.internal.util.Preconditions;
|
import com.android.internal.util.Preconditions;
|
||||||
|
|
||||||
import dalvik.system.DexFile;
|
import dalvik.system.DexFile;
|
||||||
@@ -863,11 +866,10 @@ public class ZygoteInit {
|
|||||||
|
|
||||||
Runnable caller;
|
Runnable caller;
|
||||||
try {
|
try {
|
||||||
// Report Zygote start time to tron unless it is a runtime restart
|
// Store now for StatsLogging later.
|
||||||
if (!"1".equals(SystemProperties.get("sys.boot_completed"))) {
|
final long startTime = SystemClock.elapsedRealtime();
|
||||||
MetricsLogger.histogram(null, "boot_zygote_init",
|
final boolean isRuntimeRestarted = "1".equals(
|
||||||
(int) SystemClock.elapsedRealtime());
|
SystemProperties.get("sys.boot_completed"));
|
||||||
}
|
|
||||||
|
|
||||||
String bootTimeTag = Process.is64Bit() ? "Zygote64Timing" : "Zygote32Timing";
|
String bootTimeTag = Process.is64Bit() ? "Zygote64Timing" : "Zygote32Timing";
|
||||||
TimingsTraceLog bootTimingsTraceLog = new TimingsTraceLog(bootTimeTag,
|
TimingsTraceLog bootTimingsTraceLog = new TimingsTraceLog(bootTimeTag,
|
||||||
@@ -894,6 +896,17 @@ public class ZygoteInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
final boolean isPrimaryZygote = zygoteSocketName.equals(Zygote.PRIMARY_SOCKET_NAME);
|
final boolean isPrimaryZygote = zygoteSocketName.equals(Zygote.PRIMARY_SOCKET_NAME);
|
||||||
|
if (!isRuntimeRestarted) {
|
||||||
|
if (isPrimaryZygote) {
|
||||||
|
FrameworkStatsLog.write(FrameworkStatsLog.BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED,
|
||||||
|
BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__ZYGOTE_INIT_START,
|
||||||
|
startTime);
|
||||||
|
} else if (zygoteSocketName.equals(Zygote.SECONDARY_SOCKET_NAME)) {
|
||||||
|
FrameworkStatsLog.write(FrameworkStatsLog.BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED,
|
||||||
|
BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__SECONDARY_ZYGOTE_INIT_START,
|
||||||
|
startTime);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (abiList == null) {
|
if (abiList == null) {
|
||||||
throw new RuntimeException("No ABI list supplied.");
|
throw new RuntimeException("No ABI list supplied.");
|
||||||
|
|||||||
Reference in New Issue
Block a user