Add VmCpuStatusReported and VmMemStatusReported to collect various information while VM is running

Bug: 236253808
Test: N/A
Merged-In: I6b56c85e45e9874557e91e2fa7743ef12a37b170
Change-Id: I6b56c85e45e9874557e91e2fa7743ef12a37b170
diff --git a/stats/atoms.proto b/stats/atoms.proto
index ef289e9..fac86fd 100644
--- a/stats/atoms.proto
+++ b/stats/atoms.proto
@@ -729,6 +729,8 @@
         HearingAidInfoReported hearing_aid_info_reported = 513 [(module) = "framework"];
         DeviceWideJobConstraintChanged device_wide_job_constraint_changed =
             514 [(module) = "framework"];
+        VmCpuStatusReported vm_cpu_status_reported = 522 [(module) = "virtualizationservice"];
+        VmMemStatusReported vm_mem_status_reported = 523 [(module) = "virtualizationservice"];
         // StatsdStats tracks platform atoms with ids upto 750.
         // Update StatsdStats::kMaxPushedAtomId when atom ids here approach that value.
     }
@@ -17120,6 +17122,39 @@
 }
 
 /**
+ * Logs telemetry for Android Virtualization framework
+ *
+ * For every second while VM is running, an atom is pushed that records CPU time information of VM.
+ * Logged from: packages/modules/Virtualization/
+ */
+message VmCpuStatusReported {
+    optional int32 uid = 1 [(is_uid) = true];
+    optional string vm_identifier = 2;
+
+    optional int64 cpu_time_user_millis = 3;
+    optional int64 cpu_time_nice_millis = 4;
+    optional int64 cpu_time_sys_millis = 5;
+    optional int64 cpu_time_idle_millis = 6;
+}
+
+/**
+ * Logs telemetry for Android Virtualization framework
+ *
+ * For every second while VM is running, an atom is pushed that records memory information of VM.
+ * Logged from: packages/modules/Virtualization/
+ */
+message VmMemStatusReported {
+    optional int32 uid = 1 [(is_uid) = true];
+    optional string vm_identifier = 2;
+
+    optional int64 mem_total_kb = 3;
+    optional int64 mem_free_kb = 4;
+    optional int64 mem_available_kb = 5;
+    optional int64 mem_buffer_kb = 6;
+    optional int64 mem_cached_kb = 7;
+}
+
+/**
  * Logs telemetry for Early boot CompOsArtifacts checks (done by odsign)
  *
  * odsign is a binary that runs during early boot. One of its responsibility is