summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-team Robot2018-05-24 02:24:19 -0500
committerandroid-build-team Robot2018-05-24 02:24:19 -0500
commitaa0ede2d31f0f0e5c4fa9f77bcdf25dd895e2f27 (patch)
tree02532983d563f7186350c05068cdd1ab5bd36cc8
parenta8992075c0060e8cc853ef21fe55690b66420167 (diff)
parentc70e76f1a4571dbc767a07e809341a73d3cdb289 (diff)
downloadplatform-system-core-aa0ede2d31f0f0e5c4fa9f77bcdf25dd895e2f27.tar.gz
platform-system-core-aa0ede2d31f0f0e5c4fa9f77bcdf25dd895e2f27.tar.xz
platform-system-core-aa0ede2d31f0f0e5c4fa9f77bcdf25dd895e2f27.zip
Snap for 4801384 from c70e76f1a4571dbc767a07e809341a73d3cdb289 to pi-release
Change-Id: I33f4e3cdd7a211df7432408c810cf3194112db93
-rw-r--r--libmetricslogger/OWNERS1
-rw-r--r--libmetricslogger/include/metricslogger/metrics_logger.h59
-rw-r--r--libprocessgroup/processgroup.cpp29
3 files changed, 84 insertions, 5 deletions
diff --git a/libmetricslogger/OWNERS b/libmetricslogger/OWNERS
index 7fe044326..6a6fba2ad 100644
--- a/libmetricslogger/OWNERS
+++ b/libmetricslogger/OWNERS
@@ -1 +1,2 @@
1cwren@google.com
1jhawkins@google.com 2jhawkins@google.com
diff --git a/libmetricslogger/include/metricslogger/metrics_logger.h b/libmetricslogger/include/metricslogger/metrics_logger.h
index 860d71d39..c305db2da 100644
--- a/libmetricslogger/include/metricslogger/metrics_logger.h
+++ b/libmetricslogger/include/metricslogger/metrics_logger.h
@@ -77,10 +77,44 @@ enum {
77 ACTION_BOOT = 1098, 77 ACTION_BOOT = 1098,
78 FIELD_PLATFORM_REASON = 1099, 78 FIELD_PLATFORM_REASON = 1099,
79 79
80 FIELD_DURATION_MILLIS = 1304,
81
82 FIELD_END_BATTERY_PERCENT = 1308,
83
80 ACTION_HIDDEN_API_ACCESSED = 1391, 84 ACTION_HIDDEN_API_ACCESSED = 1391,
81 FIELD_HIDDEN_API_ACCESS_METHOD = 1392, 85 FIELD_HIDDEN_API_ACCESS_METHOD = 1392,
82 FIELD_HIDDEN_API_ACCESS_DENIED = 1393, 86 FIELD_HIDDEN_API_ACCESS_DENIED = 1393,
83 FIELD_HIDDEN_API_SIGNATURE = 1394, 87 FIELD_HIDDEN_API_SIGNATURE = 1394,
88
89 ACTION_USB_CONNECTOR_CONNECTED = 1422,
90 ACTION_USB_CONNECTOR_DISCONNECTED = 1423,
91 ACTION_USB_AUDIO_CONNECTED = 1424,
92 FIELD_USB_AUDIO_VIDPID = 1425,
93 ACTION_USB_AUDIO_DISCONNECTED = 1426,
94 ACTION_HARDWARE_FAILED = 1427,
95 FIELD_HARDWARE_TYPE = 1428,
96 FIELD_HARDWARE_FAILURE_CODE = 1429,
97 ACTION_PHYSICAL_DROP = 1430,
98 FIELD_CONFIDENCE_PERCENT = 1431,
99 FIELD_ACCEL_MILLI_G = 1432,
100 ACTION_BATTERY_HEALTH = 1433,
101 FIELD_BATTERY_HEALTH_SNAPSHOT_TYPE = 1434,
102 FIELD_BATTERY_TEMPERATURE_DECI_C = 1435,
103 FIELD_BATTERY_VOLTAGE_UV = 1436,
104 FIELD_BATTERY_OPEN_CIRCUIT_VOLTAGE_UV = 1437,
105 ACTION_BATTERY_CHARGE_CYCLES = 1438,
106 FIELD_BATTERY_CHARGE_CYCLES = 1439,
107
108 ACTION_SLOW_IO = 1442,
109 FIELD_IO_OPERATION_TYPE = 1443,
110 FIELD_IO_OPERATION_COUNT = 1444,
111 ACTION_SPEAKER_IMPEDANCE = 1445,
112 FIELD_SPEAKER_IMPEDANCE_MILLIOHMS = 1446,
113 FIELD_SPEAKER_LOCATION = 1447,
114 FIELD_BATTERY_RESISTANCE_UOHMS = 1448,
115 FIELD_BATTERY_CURRENT_UA = 1449,
116 FIELD_HARDWARE_LOCATION = 1450,
117 ACTION_BATTERY_CAUSED_SHUTDOWN = 1441,
84}; 118};
85 119
86enum { 120enum {
@@ -94,5 +128,30 @@ enum {
94 ACCESS_METHOD_LINKING = 3, 128 ACCESS_METHOD_LINKING = 3,
95}; 129};
96 130
131enum HardwareType {
132 HARDWARE_UNKNOWN = 0,
133 HARDWARE_MICROPHONE = 1,
134 HARDWARE_CODEC = 2,
135 HARDWARE_SPEAKER = 3,
136 HARDWARE_FINGERPRINT = 4,
137};
138
139enum HardwareFailureCode {
140 HARDWARE_FAILURE_UNKNOWN = 0,
141 HARDWARE_FAILURE_COMPLETE = 1,
142 HARDWARE_FAILURE_SPEAKER_HIGH_Z = 2,
143 HARDWARE_FAILURE_SPEAKER_SHORT = 3,
144 HARDWARE_FAILURE_FINGERPRINT_SENSOR_BROKEN = 4,
145 HARDWARE_FAILURE_FINGERPRINT_TOO_MANY_DEAD_PIXELS = 5,
146};
147
148enum IoOperation {
149 IOOP_UNKNOWN = 0,
150 IOOP_READ = 1,
151 IOOP_WRITE = 2,
152 IOOP_UNMAP = 3,
153 IOOP_SYNC = 4,
154};
155
97} // namespace metricslogger 156} // namespace metricslogger
98} // namespace android 157} // namespace android
diff --git a/libprocessgroup/processgroup.cpp b/libprocessgroup/processgroup.cpp
index 6dfa697de..58295fadb 100644
--- a/libprocessgroup/processgroup.cpp
+++ b/libprocessgroup/processgroup.cpp
@@ -39,12 +39,18 @@
39 39
40#include <android-base/file.h> 40#include <android-base/file.h>
41#include <android-base/logging.h> 41#include <android-base/logging.h>
42#ifdef __ANDROID__
43#include <android-base/properties.h>
44#endif
42#include <android-base/stringprintf.h> 45#include <android-base/stringprintf.h>
43#include <android-base/strings.h> 46#include <android-base/strings.h>
44#include <private/android_filesystem_config.h> 47#include <private/android_filesystem_config.h>
45 48
46#include <processgroup/processgroup.h> 49#include <processgroup/processgroup.h>
47 50
51#ifdef __ANDROID__
52using android::base::GetBoolProperty;
53#endif
48using android::base::StartsWith; 54using android::base::StartsWith;
49using android::base::StringPrintf; 55using android::base::StringPrintf;
50using android::base::WriteStringToFile; 56using android::base::WriteStringToFile;
@@ -62,12 +68,25 @@ std::once_flag init_path_flag;
62static const std::string& GetCgroupRootPath() { 68static const std::string& GetCgroupRootPath() {
63 static std::string cgroup_root_path; 69 static std::string cgroup_root_path;
64 std::call_once(init_path_flag, [&]() { 70 std::call_once(init_path_flag, [&]() {
65 // Check if mem cgroup is mounted, only then check for write-access to avoid 71#ifdef __ANDROID__
66 // SELinux denials 72 // low-ram devices use per-app memcg by default, unlike high-end ones
73 bool low_ram_device = GetBoolProperty("ro.config.low_ram", false);
74 bool per_app_memcg =
75 GetBoolProperty("ro.config.per_app_memcg", low_ram_device);
76#else
77 // host does not support Android properties
78 bool per_app_memcg = false;
79#endif
80 if (per_app_memcg) {
81 // Check if mem cgroup is mounted, only then check for
82 // write-access to avoid SELinux denials
67 cgroup_root_path = 83 cgroup_root_path =
68 (access(MEM_CGROUP_TASKS, F_OK) || access(MEM_CGROUP_PATH, W_OK) ? ACCT_CGROUP_PATH 84 (access(MEM_CGROUP_TASKS, F_OK) || access(MEM_CGROUP_PATH, W_OK) ?
69 : MEM_CGROUP_PATH); 85 ACCT_CGROUP_PATH : MEM_CGROUP_PATH);
70 }); 86 } else {
87 cgroup_root_path = ACCT_CGROUP_PATH;
88 }
89 });
71 return cgroup_root_path; 90 return cgroup_root_path;
72} 91}
73 92