Merge "Adding keepalive metrics protos in the Connectivity module"
diff --git a/service/src/com/android/metrics/stats.proto b/service/src/com/android/metrics/stats.proto
index 8104632..006d20a 100644
--- a/service/src/com/android/metrics/stats.proto
+++ b/service/src/com/android/metrics/stats.proto
@@ -347,3 +347,89 @@
// How long(in seconds) this slice has been connected
optional int32 slice_connection_duration_sec = 6;
}
+
+/**
+ * Logs DailykeepaliveInfoReported
+ *
+ * Logs from: packages/modules/Connectivity/service/src/com/android/
+ * server/connectivity/AutomaticOnOffKeepaliveTracker.
+ */
+message DailykeepaliveInfoReported{
+ // Daily duration per number of concurrent keepalive
+ optional DurationPerNumOfKeepalive duration_per_num_of_keepalive = 1;
+
+ // Daily keepalive registered/active duration on each list of keepalive session, in
+ // milli-seconds
+ optional KeepaliveLifetimePerCarrier keepalive_lifetime_per_carrier = 2;
+
+ // Daily number of keepalive requests
+ optional int32 keepalive_requests = 3;
+
+ // Daily number of automatic keepalive requests
+ optional int32 automatic_keepalive_requests = 4;
+
+ // Daily number of distinct apps that requested keepalives
+ optional int32 distinct_user_count = 5;
+
+ // Daily distinct apps uid list that requested keepalives
+ repeated int32 uid = 6;
+}
+
+/**
+ * Daily duration per number of concurrent keepalive
+ *
+ * Logs from: packages/modules/Connectivity/service/src/com/android/
+ * server/connectivity/AutomaticOnOffKeepaliveTracker.
+ */
+message DurationPerNumOfKeepalive {
+ repeated DurationForNumOfKeepalive duration_for_num_of_keepalive = 1;
+}
+
+message DurationForNumOfKeepalive {
+ // The number of concurrent keepalives is in the device
+ optional int32 num_of_keepalive = 1;
+
+ // How many milliseconds the device has keepalive registration number is num_of_keepalive
+ optional int32 keepalive_registered_durations_msec = 2;
+
+ // How many milliseconds the device has keepalive active(not paused) number is num_of_keepalive
+ optional int32 keepalive_active_durations_msec = 3;
+}
+
+/**
+ * Daily keepalive registered/active duration on each list of Keepalive session, in milli-seconds
+ *
+ * Logs from: packages/modules/Connectivity/service/src/com/android/
+ * server/connectivity/AutomaticOnOffKeepaliveTracker.
+ */
+message KeepaliveLifetimePerCarrier {
+ // The number of network count on each list of carriers
+ repeated KeepaliveLifetimeForCarrier keepalive_lifetime_for_carrier = 1;
+}
+
+/**
+ * Logs the keepalive registered/active duration in milli-seconds and carrier
+ * info(carrier id, transport, keepalive interval).
+ *
+ * Logs from: packages/modules/Connectivity/service/src/com/android/
+ * server/connectivity/AutomaticOnOffKeepaliveTracker.
+ */
+message KeepaliveLifetimeForCarrier {
+ // The carrier ID for each keepalive, or TelephonyManager.UNKNOWN_CARRIER_ID(-1) if not cell
+ optional int32 carrier_id = 1;
+
+ // The transport types of the underlying network for each keepalive. A network may include
+ // multiple transport types. Each transfer type is represented by a different bit, defined in
+ // packages/modules/Connectivity/framework/src/android/net/NetworkCapabilities.java
+ optional int32 transport_types = 2;
+
+ // The keepalive interval for each keepalive
+ optional int32 intervals_msec = 3;
+
+ // The lifetime of the keepalive registered today
+ optional int32 lifetime_msec = 4;
+
+ // The duration for which the keepalive was active (not suspended)
+ optional int32 active_lifetime_msec = 5;
+}
+