add ion memory metric
Bug: b/135925438
Change-Id: Idb35cad24450363f961c8a3e3de4b56a0ff3ef04
diff --git a/protos/BUILD b/protos/BUILD
index 3368d94..3705c24 100644
--- a/protos/BUILD
+++ b/protos/BUILD
@@ -234,6 +234,7 @@
"perfetto/metrics/android/batt_metric.proto",
"perfetto/metrics/android/cpu_metric.proto",
"perfetto/metrics/android/heap_profile.proto",
+ "perfetto/metrics/android/ion_metric.proto",
"perfetto/metrics/android/lmk_metric.proto",
"perfetto/metrics/android/mem_metric.proto",
"perfetto/metrics/android/powrails_metric.proto",
@@ -276,6 +277,7 @@
"perfetto/metrics/android/batt_metric.proto",
"perfetto/metrics/android/cpu_metric.proto",
"perfetto/metrics/android/heap_profile.proto",
+ "perfetto/metrics/android/ion_metric.proto",
"perfetto/metrics/android/lmk_metric.proto",
"perfetto/metrics/android/mem_metric.proto",
"perfetto/metrics/android/powrails_metric.proto",
diff --git a/protos/perfetto/metrics/android/BUILD.gn b/protos/perfetto/metrics/android/BUILD.gn
index 9007891..06785c5 100644
--- a/protos/perfetto/metrics/android/BUILD.gn
+++ b/protos/perfetto/metrics/android/BUILD.gn
@@ -20,6 +20,7 @@
"batt_metric.proto",
"cpu_metric.proto",
"mem_metric.proto",
+ "ion_metric.proto",
"lmk_metric.proto",
"powrails_metric.proto",
"startup_metric.proto",
diff --git a/protos/perfetto/metrics/android/ion_metric.proto b/protos/perfetto/metrics/android/ion_metric.proto
new file mode 100644
index 0000000..b50041e
--- /dev/null
+++ b/protos/perfetto/metrics/android/ion_metric.proto
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto2";
+option optimize_for = LITE_RUNTIME;
+
+package perfetto.protos;
+
+// ion memory stats on Android.
+message AndroidIonMetric {
+ message Buffer {
+ optional string name = 1;
+ optional double avg_size_bytes = 2;
+ optional double min_size_bytes = 3;
+ optional double max_size_bytes = 4;
+ }
+
+ repeated Buffer buffer = 1;
+}
diff --git a/protos/perfetto/metrics/android/mem_metric.proto b/protos/perfetto/metrics/android/mem_metric.proto
index 591ef59..41ad572 100644
--- a/protos/perfetto/metrics/android/mem_metric.proto
+++ b/protos/perfetto/metrics/android/mem_metric.proto
@@ -21,13 +21,9 @@
// Memory metrics on Android.
message AndroidMemoryMetric {
- // Next id: 6
message SystemMetrics {
- reserved 3, 5;
-
optional Counter anon_pages = 1;
optional Counter mmaped_pages = 2;
- repeated NamedCounter ion_buffers = 4;
}
// Next id: 14
@@ -60,11 +56,6 @@
optional Counter anon_and_swap = 4;
}
- message NamedCounter {
- optional string name = 1;
- optional Counter counter = 2;
- }
-
message Counter {
optional double min = 1;
optional double max = 2;
diff --git a/protos/perfetto/metrics/metrics.proto b/protos/perfetto/metrics/metrics.proto
index 442435a..f78214e 100644
--- a/protos/perfetto/metrics/metrics.proto
+++ b/protos/perfetto/metrics/metrics.proto
@@ -22,6 +22,7 @@
import "perfetto/metrics/android/batt_metric.proto";
import "perfetto/metrics/android/cpu_metric.proto";
import "perfetto/metrics/android/mem_metric.proto";
+import "perfetto/metrics/android/ion_metric.proto";
import "perfetto/metrics/android/lmk_metric.proto";
import "perfetto/metrics/android/powrails_metric.proto";
import "perfetto/metrics/android/startup_metric.proto";
@@ -41,7 +42,7 @@
// Root message for all Perfetto-based metrics.
//
-// Next id: 9.
+// Next id: 10
message TraceMetrics {
// Battery counters metric on Android.
optional AndroidBatteryMetric android_batt = 5;
@@ -52,6 +53,9 @@
// Memory metrics on Android (owned by the Android Telemetry team).
optional AndroidMemoryMetric android_mem = 1;
+ // ion buffer memory metrics.
+ optional AndroidIonMetric android_ion = 9;
+
// Statistics about low memory kills.
optional AndroidLmkMetric android_lmk = 8;