Merge "Use new binder exception constructors moved from binder_common."
diff --git a/tests/benchmark/src/java/com/android/microdroid/benchmark/MicrodroidBenchmarks.java b/tests/benchmark/src/java/com/android/microdroid/benchmark/MicrodroidBenchmarks.java
index 90aac1e..f6e9a71 100644
--- a/tests/benchmark/src/java/com/android/microdroid/benchmark/MicrodroidBenchmarks.java
+++ b/tests/benchmark/src/java/com/android/microdroid/benchmark/MicrodroidBenchmarks.java
@@ -122,6 +122,7 @@
final int trialCount = 10;
+ List<Double> vmStartingTimeMetrics = new ArrayList<>();
List<Double> bootTimeMetrics = new ArrayList<>();
List<Double> bootloaderTimeMetrics = new ArrayList<>();
List<Double> kernelBootTimeMetrics = new ArrayList<>();
@@ -139,13 +140,15 @@
BootResult result = tryBootVm(TAG, "test_vm_boot_time");
assertThat(result.payloadStarted).isTrue();
- final Double nanoToMilli = 1000000.0;
+ final double nanoToMilli = 1000000.0;
+ vmStartingTimeMetrics.add(result.getVMStartingElapsedNanoTime() / nanoToMilli);
bootTimeMetrics.add(result.endToEndNanoTime / nanoToMilli);
bootloaderTimeMetrics.add(result.getBootloaderElapsedNanoTime() / nanoToMilli);
kernelBootTimeMetrics.add(result.getKernelElapsedNanoTime() / nanoToMilli);
userspaceBootTimeMetrics.add(result.getUserspaceElapsedNanoTime() / nanoToMilli);
}
+ reportMetrics(vmStartingTimeMetrics, "avf_perf/microdroid/vm_starting_time_", "_ms");
reportMetrics(bootTimeMetrics, "avf_perf/microdroid/boot_time_", "_ms");
reportMetrics(bootloaderTimeMetrics, "avf_perf/microdroid/bootloader_time_", "_ms");
reportMetrics(kernelBootTimeMetrics, "avf_perf/microdroid/kernel_boot_time_", "_ms");
diff --git a/tests/helper/src/java/com/android/microdroid/test/MicrodroidDeviceTestBase.java b/tests/helper/src/java/com/android/microdroid/test/MicrodroidDeviceTestBase.java
index 84e189a..efd7c85 100644
--- a/tests/helper/src/java/com/android/microdroid/test/MicrodroidDeviceTestBase.java
+++ b/tests/helper/src/java/com/android/microdroid/test/MicrodroidDeviceTestBase.java
@@ -234,6 +234,7 @@
public static class BootResult {
public final boolean payloadStarted;
public final int deathReason;
+ public final long apiCallNanoTime;
public final long endToEndNanoTime;
public final OptionalLong vcpuStartedNanoTime;
@@ -243,11 +244,13 @@
BootResult(boolean payloadStarted,
int deathReason,
+ long apiCallNanoTime,
long endToEndNanoTime,
OptionalLong vcpuStartedNanoTime,
OptionalLong kernelStartedNanoTime,
OptionalLong initStartedNanoTime,
OptionalLong payloadStartedNanoTime) {
+ this.apiCallNanoTime = apiCallNanoTime;
this.payloadStarted = payloadStarted;
this.deathReason = deathReason;
this.endToEndNanoTime = endToEndNanoTime;
@@ -273,6 +276,10 @@
return payloadStartedNanoTime.getAsLong();
}
+ public long getVMStartingElapsedNanoTime() {
+ return getVcpuStartedNanoTime() - apiCallNanoTime;
+ }
+
public long getBootloaderElapsedNanoTime() {
return getKernelStartedNanoTime() - getVcpuStartedNanoTime();
}
@@ -307,12 +314,13 @@
super.onDied(vm, reason);
}
};
- long beginTime = System.nanoTime();
+ long apiCallNanoTime = System.nanoTime();
listener.runToFinish(logTag, vm);
return new BootResult(
payloadStarted.getNow(false),
deathReason.getNow(DeathReason.INFRASTRUCTURE_ERROR),
- endTime.getNow(beginTime) - beginTime,
+ apiCallNanoTime,
+ endTime.getNow(apiCallNanoTime) - apiCallNanoTime,
listener.getVcpuStartedNanoTime(),
listener.getKernelStartedNanoTime(),
listener.getInitStartedNanoTime(),