Include 'debug.hypervisor.metrics_tag' in metric names
Vendor code can set a property to tag performance metric names. This can
be useful if devices in the lab have varying performance
characteristics.
Test: atest -p packages/modules/Virtualization:avf-postsubmit
Change-Id: I46478471571639a145079cdc296b9824f1328fc3
diff --git a/tests/hostside/helper/Android.bp b/tests/hostside/helper/Android.bp
index af88bb6..b2333ab 100644
--- a/tests/hostside/helper/Android.bp
+++ b/tests/hostside/helper/Android.bp
@@ -11,6 +11,7 @@
"truth-prebuilt",
],
static_libs: [
+ "MicrodroidTestHelper",
"VirtualizationTestHelper",
],
}
diff --git a/tests/hostside/helper/java/com/android/microdroid/test/host/MicrodroidHostTestCaseBase.java b/tests/hostside/helper/java/com/android/microdroid/test/host/MicrodroidHostTestCaseBase.java
index 875d89f..0417123 100644
--- a/tests/hostside/helper/java/com/android/microdroid/test/host/MicrodroidHostTestCaseBase.java
+++ b/tests/hostside/helper/java/com/android/microdroid/test/host/MicrodroidHostTestCaseBase.java
@@ -27,6 +27,7 @@
import static org.junit.Assume.assumeTrue;
import com.android.compatibility.common.tradefed.build.CompatibilityBuildHelper;
+import com.android.microdroid.test.common.MetricsProcessor;
import com.android.tradefed.build.IBuildInfo;
import com.android.tradefed.device.DeviceNotAvailableException;
import com.android.tradefed.device.ITestDevice;
@@ -97,6 +98,11 @@
return VirtualizationTestHelper.isCuttlefish(getDevice().getProperty("ro.product.name"));
}
+ protected String getMetricPrefix() throws Exception {
+ return MetricsProcessor.getMetricPrefix(
+ getDevice().getProperty("debug.hypervisor.metrics_tag"));
+ }
+
public static void testIfDeviceIsCapable(ITestDevice androidDevice) throws Exception {
assumeTrue("Need an actual TestDevice", androidDevice instanceof TestDevice);
TestDevice testDevice = (TestDevice) androidDevice;
diff --git a/tests/hostside/java/com/android/microdroid/test/MicrodroidTestCase.java b/tests/hostside/java/com/android/microdroid/test/MicrodroidTestCase.java
index 69218a8..48dd1e0 100644
--- a/tests/hostside/java/com/android/microdroid/test/MicrodroidTestCase.java
+++ b/tests/hostside/java/com/android/microdroid/test/MicrodroidTestCase.java
@@ -93,6 +93,8 @@
@Rule public TestName mTestName = new TestName();
@Rule public TestMetrics mMetrics = new TestMetrics();
+ private String mMetricPrefix;
+
private int minMemorySize() throws DeviceNotAvailableException {
CommandRunner android = new CommandRunner(getDevice());
String abi = android.run("getprop", "ro.product.cpu.abi");
@@ -792,7 +794,7 @@
for (Map.Entry<String, Long> stat : getProcMemInfo().entrySet()) {
mMetrics.addTestMetric(
- "avf_perf/microdroid/meminfo/" + stat.getKey().toLowerCase(),
+ mMetricPrefix + "meminfo/" + stat.getKey().toLowerCase(),
stat.getValue().toString());
}
@@ -800,7 +802,7 @@
for (Map.Entry<String, Long> stat : getProcSmapsRollup(proc.mPid).entrySet()) {
String name = stat.getKey().toLowerCase();
mMetrics.addTestMetric(
- "avf_perf/microdroid/smaps/" + name + "/" + proc.mName,
+ mMetricPrefix + "smaps/" + name + "/" + proc.mName,
stat.getValue().toString());
}
}
@@ -845,6 +847,7 @@
@Before
public void setUp() throws Exception {
testIfDeviceIsCapable(getDevice());
+ mMetricPrefix = getMetricPrefix() + "microdroid/";
prepareVirtualizationTestSetup(getDevice());