Add CgroupMemoryBreachReported atom
Adds subject atom for when cgroup memory is breached within a virtual
machine.
Bug: 427730089
Test: TH
Flag: EXEMPT atom definition
Change-Id: Ied2272190555cfbd5a4e3d0de1eed1786e68d3fa
diff --git a/stats/atoms.proto b/stats/atoms.proto
index 7f5e5da..112aab5 100644
--- a/stats/atoms.proto
+++ b/stats/atoms.proto
@@ -1481,6 +1481,7 @@
extensions 1148; // WifiQosPoliciesFromAccessPointRequested wifi_qos_policies_from_access_point_requested
extensions 1149; // DisplayEventCallbackOccurred display_event_callback_occurred
extensions 1150; // FsckFailedReported fsck_failed_reported
+ extensions 1151; // CgroupMemoryBreachReported cgroup_memory_breach_reported
extensions 9999; // Atom9999 atom_9999
// StatsdStats tracks platform atoms with ids up to 1500.
// Update StatsdStats::kMaxPushedAtomId when atom ids here approach that value.
diff --git a/stats/atoms/virtualization/virtualization_extension_atoms.proto b/stats/atoms/virtualization/virtualization_extension_atoms.proto
index 74139b5..e47c22f 100644
--- a/stats/atoms/virtualization/virtualization_extension_atoms.proto
+++ b/stats/atoms/virtualization/virtualization_extension_atoms.proto
@@ -26,6 +26,7 @@
extend Atom {
optional FsckFailedReported fsck_failed_reported = 1150 [(module) = "virtualizationservice"];
+ optional CgroupMemoryBreachReported cgroup_memory_breach_reported = 1151 [(module) = "virtualizationservice"];
}
/*
@@ -44,3 +45,20 @@
optional string vm_identifier = 3;
}
+/*
+ * Reports that the cgroup monitor within microdroid had detected a high breach event.
+ * Logged from: packages/modules/Virtualization/
+ * This atom is pushed for a failure case that, ideally, should not happen.
+ * Thus, average throughput will be <1 event per device per day.
+ * Peak throughput (in the case of some bug) would be on the order of 100 per day.
+ */
+message CgroupMemoryBreachReported {
+ // Count of high breach events detected.
+ optional int64 high_breach_count = 1;
+ // The peak high memory in megabytes.
+ optional int64 high_memory_peak_mb = 2;
+ // The UID that requested a VM via AVF.
+ optional int32 vm_requester_uid = 3 [(is_uid) = true];
+ // Human readable name of the VM.
+ optional string vm_identifier = 4;
+}