blob: 2f856ab68768d66b2e6c49c3d2b7a7c453c1c5a9 [file] [log] [blame]
Joe Onorato1754d742016-11-21 17:51:35 -08001/*
2 * Copyright (C) 2016 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
Yi Jinc7f93072017-09-29 15:29:38 -070017syntax = "proto2";
Joe Onorato1754d742016-11-21 17:51:35 -080018option java_multiple_files = true;
Joe Onorato76690122016-12-20 08:18:32 -080019option java_outer_classname = "IncidentProtoMetadata";
Joe Onorato1754d742016-11-21 17:51:35 -080020
Kweku Adams59e6fd72017-12-27 15:48:14 -080021import "frameworks/base/core/proto/android/os/batterytype.proto";
Yi Jin0eb22342017-11-06 17:17:27 -080022import "frameworks/base/core/proto/android/os/cpufreq.proto";
Yi Jine2f7f792017-11-01 17:08:27 -070023import "frameworks/base/core/proto/android/os/cpuinfo.proto";
Kweku Adamsfd257d62017-10-25 17:53:50 -070024import "frameworks/base/core/proto/android/os/incidentheader.proto";
25import "frameworks/base/core/proto/android/os/kernelwake.proto";
26import "frameworks/base/core/proto/android/os/pagetypeinfo.proto";
27import "frameworks/base/core/proto/android/os/procrank.proto";
Kweku Adamsf5cc5752017-12-20 17:59:17 -080028import "frameworks/base/core/proto/android/os/ps.proto";
Yi Jin0dfa7522017-11-06 17:43:47 -080029import "frameworks/base/core/proto/android/os/system_properties.proto";
Kweku Adamsb0886f32017-10-31 15:32:09 -070030import "frameworks/base/core/proto/android/providers/settings.proto";
Kweku Adamsfd257d62017-10-25 17:53:50 -070031import "frameworks/base/core/proto/android/server/activitymanagerservice.proto";
32import "frameworks/base/core/proto/android/server/alarmmanagerservice.proto";
33import "frameworks/base/core/proto/android/server/fingerprint.proto";
Kweku Adamse6b00c22017-10-23 16:46:45 -070034import "frameworks/base/core/proto/android/server/powermanagerservice.proto";
Kweku Adams9a478d22017-12-14 12:56:28 -080035import "frameworks/base/core/proto/android/server/windowmanagerservice.proto";
Mario Bertschler86882f42017-01-25 15:36:55 -080036import "frameworks/base/core/proto/android/service/appwidget.proto";
Makoto Onuki9b1613d2017-04-17 15:31:31 -070037import "frameworks/base/core/proto/android/service/battery.proto";
Kweku Adams2f73ecd2017-09-27 16:59:19 -070038import "frameworks/base/core/proto/android/service/batterystats.proto";
Makoto Onuki9b1613d2017-04-17 15:31:31 -070039import "frameworks/base/core/proto/android/service/diskstats.proto";
Kweku Adams9a478d22017-12-14 12:56:28 -080040import "frameworks/base/core/proto/android/service/graphicsstats.proto";
Makoto Onukida65a522017-01-13 10:23:30 -080041import "frameworks/base/core/proto/android/service/netstats.proto";
Julia Reynoldsc9842c12017-02-07 12:46:41 -050042import "frameworks/base/core/proto/android/service/notification.proto";
Makoto Onuki9b1613d2017-04-17 15:31:31 -070043import "frameworks/base/core/proto/android/service/package.proto";
Philip P. Moltmannc0a128d2017-06-19 10:55:09 -070044import "frameworks/base/core/proto/android/service/print.proto";
Yi Jin9680cfa2017-09-15 15:14:43 -070045import "frameworks/base/core/proto/android/service/procstats.proto";
Yi Jin3c034c92017-12-22 17:36:47 -080046import "frameworks/base/core/proto/android/util/event_log_tags.proto";
47import "frameworks/base/core/proto/android/util/log.proto";
Yi Jinbdf58942017-11-14 17:58:19 -080048import "frameworks/base/libs/incident/proto/android/privacy.proto";
49import "frameworks/base/libs/incident/proto/android/section.proto";
Joe Onorato1754d742016-11-21 17:51:35 -080050
51package android.os;
52
Yi Jinf5ef0ac2017-12-04 14:29:37 -080053// This field contains internal metadata associated with an incident report,
54// such as the section ids and privacy policy specs from caller as well as how long
55// and how many bytes a section takes, etc.
56message IncidentMetadata {
57
58}
59
Yi Jin0ed9b682017-08-18 14:51:20 -070060// privacy field options must not be set at this level because all
61// the sections are able to be controlled and configured by section ids.
62// Instead privacy field options need to be configured in each section proto message.
Joe Onorato1754d742016-11-21 17:51:35 -080063message IncidentProto {
Yi Jin3c034c92017-12-22 17:36:47 -080064 reserved 1001;
65
Yi Jinf5ef0ac2017-12-04 14:29:37 -080066 // Incident header from callers
Joe Onorato1754d742016-11-21 17:51:35 -080067 repeated IncidentHeaderProto header = 1;
Yi Jinf5ef0ac2017-12-04 14:29:37 -080068 // Internal metadata of incidentd
69 optional IncidentMetadata metadata = 2;
Joe Onorato1754d742016-11-21 17:51:35 -080070
71 // Device information
Yi Jin0dfa7522017-11-06 17:43:47 -080072 optional SystemPropertiesProto system_properties = 1000 [
73 (section).type = SECTION_COMMAND,
Kweku Adamsf5cc5752017-12-20 17:59:17 -080074 (section).args = "getprop"
Yi Jin0dfa7522017-11-06 17:43:47 -080075 ];
Joe Onorato1754d742016-11-21 17:51:35 -080076
Yi Jin3c034c92017-12-22 17:36:47 -080077 // Device Logs
78 optional android.util.EventLogTagMapProto event_log_tag_map = 1100 [
79 (section).type = SECTION_FILE,
80 (section).args = "/system/etc/event-log-tags"
81 ];
82
83 optional android.util.LogProto main_logs = 1101 [
84 (section).type = SECTION_LOG,
85 (section).args = "LOG_ID_MAIN"
86 ];
87
88 optional android.util.LogProto radio_logs = 1102 [
89 (section).type = SECTION_LOG,
90 (section).args = "LOG_ID_RADIO"
91 ];
92
93 optional android.util.LogProto events_logs = 1103 [
94 (section).type = SECTION_LOG,
95 (section).args = "LOG_ID_EVENTS"
96 ];
97
98 optional android.util.LogProto system_logs = 1104 [
99 (section).type = SECTION_LOG,
100 (section).args = "LOG_ID_SYSTEM"
101 ];
102
103 optional android.util.LogProto crash_logs = 1105 [
104 (section).type = SECTION_LOG,
105 (section).args = "LOG_ID_CRASH"
106 ];
107
108 optional android.util.LogProto stats_logs = 1106 [
109 (section).type = SECTION_LOG,
110 (section).args = "LOG_ID_STATS"
111 ];
112
113 optional android.util.LogProto security_logs = 1107 [
114 (section).type = SECTION_LOG,
115 (section).args = "LOG_ID_SECURITY"
116 ];
117
118 optional android.util.LogProto kernel_logs = 1108 [
119 (section).type = SECTION_LOG,
120 (section).args = "LOG_ID_KERNEL"
121 ];
122
Joe Onorato1754d742016-11-21 17:51:35 -0800123 // Linux services
Yi Jinc7f93072017-09-29 15:29:38 -0700124 optional Procrank procrank = 2000 [
Yi Jinf8601842017-08-15 22:01:41 -0700125 (section).type = SECTION_COMMAND,
126 (section).args = "/system/xbin/procrank"
127 ];
Yi Jin810b14f2017-09-11 19:01:08 -0700128
Yi Jinc7f93072017-09-29 15:29:38 -0700129 optional PageTypeInfo page_type_info = 2001 [
Yi Jin810b14f2017-09-11 19:01:08 -0700130 (section).type = SECTION_FILE,
131 (section).args = "/proc/pagetypeinfo"
132 ];
133
Yi Jinc7f93072017-09-29 15:29:38 -0700134 optional KernelWakeSources kernel_wake_sources = 2002 [
Yi Jinf8601842017-08-15 22:01:41 -0700135 (section).type = SECTION_FILE,
136 (section).args = "/d/wakeup_sources"
137 ];
Joe Onorato1754d742016-11-21 17:51:35 -0800138
Yi Jine2f7f792017-11-01 17:08:27 -0700139 optional CpuInfo cpu_info = 2003 [
140 (section).type = SECTION_COMMAND,
Kweku Adamsf5cc5752017-12-20 17:59:17 -0800141 (section).args = "top -b -n 1 -H -s 6 -o pid,tid,user,pr,ni,%cpu,s,virt,res,pcy,cmd,name"
Yi Jine2f7f792017-11-01 17:08:27 -0700142 ];
143
Yi Jin0eb22342017-11-06 17:17:27 -0800144 optional CpuFreq cpu_freq = 2004 [
145 (section).type = SECTION_FILE,
146 (section).args = "/sys/devices/system/cpu/cpufreq/all_time_in_state"
147 ];
Yi Jin810b14f2017-09-11 19:01:08 -0700148
Kweku Adamsf5cc5752017-12-20 17:59:17 -0800149 optional PsDumpProto processes_and_threads = 2005 [
150 (section).type = SECTION_COMMAND,
151 (section).args = "ps -A -T -Z -O pri,nice,rtprio,sched,pcy,time"
152 ];
153
Kweku Adams59e6fd72017-12-27 15:48:14 -0800154 optional BatteryTypeProto battery_type = 2006 [
155 (section).type = SECTION_FILE,
156 (section).args = "/sys/class/power_supply/bms/battery_type"
157 ];
158
Joe Onorato1754d742016-11-21 17:51:35 -0800159 // System Services
Kweku Adamsfd257d62017-10-25 17:53:50 -0700160 optional com.android.server.fingerprint.FingerprintServiceDumpProto fingerprint = 3000 [
Yi Jinf8601842017-08-15 22:01:41 -0700161 (section).type = SECTION_DUMPSYS,
162 (section).args = "fingerprint --proto --incident"
163 ];
Yi Jin810b14f2017-09-11 19:01:08 -0700164
Yi Jinc7f93072017-09-29 15:29:38 -0700165 optional android.service.NetworkStatsServiceDumpProto netstats = 3001 [
Yi Jinfe186822017-09-28 13:45:12 -0700166 (section).type = SECTION_DUMPSYS,
167 (section).args = "netstats --proto"
168 ];
169
Kweku Adamsb0886f32017-10-31 15:32:09 -0700170 optional android.providers.settings.SettingsServiceDumpProto settings = 3002 [
171 (section).type = SECTION_DUMPSYS,
172 (section).args = "settings --proto"
173 ];
174
Yi Jinc7f93072017-09-29 15:29:38 -0700175 optional android.service.appwidget.AppWidgetServiceDumpProto appwidget = 3003;
176 optional android.service.notification.NotificationServiceDumpProto notification = 3004 [
Kweku Adams93304b62017-09-20 17:03:00 -0700177 (section).type = SECTION_DUMPSYS,
178 (section).args = "notification --proto"
179 ];
Yi Jina5c5e8a2017-09-27 18:24:58 -0700180
Yi Jinc7f93072017-09-29 15:29:38 -0700181 optional android.service.batterystats.BatteryStatsServiceDumpProto batterystats = 3005 [
Kweku Adams2f73ecd2017-09-27 16:59:19 -0700182 (section).type = SECTION_DUMPSYS,
183 (section).args = "batterystats --proto"
184 ];
185
Yi Jinc7f93072017-09-29 15:29:38 -0700186 optional android.service.battery.BatteryServiceDumpProto battery = 3006 [
Kweku Adamsc22b1c42017-09-27 12:01:02 -0700187 (section).type = SECTION_DUMPSYS,
188 (section).args = "battery --proto"
189 ];
Yi Jina5c5e8a2017-09-27 18:24:58 -0700190
Yi Jinc7f93072017-09-29 15:29:38 -0700191 optional android.service.diskstats.DiskStatsServiceDumpProto diskstats = 3007 [
Yi Jina5c5e8a2017-09-27 18:24:58 -0700192 (section).type = SECTION_DUMPSYS,
193 (section).args = "diskstats --proto"
194 ];
195
Yi Jind6759d42017-10-12 15:08:49 -0700196 optional android.service.pm.PackageServiceDumpProto package = 3008 [
197 (section).type = SECTION_DUMPSYS,
198 (section).args = "package --proto"
199 ];
200
Kweku Adamse6b00c22017-10-23 16:46:45 -0700201 optional com.android.server.power.PowerManagerServiceDumpProto power = 3009 [
202 (section).type = SECTION_DUMPSYS,
203 (section).args = "power --proto"
204 ];
205
Yi Jinc7f93072017-09-29 15:29:38 -0700206 optional android.service.print.PrintServiceDumpProto print = 3010;
Yi Jin9680cfa2017-09-15 15:14:43 -0700207
Yi Jinc7f93072017-09-29 15:29:38 -0700208 optional android.service.procstats.ProcessStatsServiceDumpProto procstats = 3011 [
Yi Jin9680cfa2017-09-15 15:14:43 -0700209 (section).type = SECTION_DUMPSYS,
210 (section).args = "procstats --proto"
211 ];
Yi Jin129fc6c2017-09-28 15:48:38 -0700212
Yi Jinc7f93072017-09-29 15:29:38 -0700213 optional com.android.server.am.proto.ActivityStackSupervisorProto activities = 3012 [
Yi Jin129fc6c2017-09-28 15:48:38 -0700214 (section).type = SECTION_DUMPSYS,
215 (section).args = "activity --proto activities"
216 ];
217
Yi Jinc7f93072017-09-29 15:29:38 -0700218 optional com.android.server.am.proto.BroadcastProto broadcasts = 3013 [
Yi Jin129fc6c2017-09-28 15:48:38 -0700219 (section).type = SECTION_DUMPSYS,
220 (section).args = "activity --proto broadcasts"
221 ];
222
Yi Jin6b514142017-10-30 14:54:12 -0700223 optional com.android.server.am.proto.ActiveServicesProto amservices = 3014 [
224 (section).type = SECTION_DUMPSYS,
225 (section).args = "activity --proto service"
226 ];
227
Yi Jinc7f93072017-09-29 15:29:38 -0700228 optional com.android.server.am.proto.ProcessProto amprocesses = 3015;
Kweku Adams61e03292017-10-19 14:27:12 -0700229
230 optional com.android.server.AlarmManagerServiceProto alarm = 3016 [
231 (section).type = SECTION_DUMPSYS,
232 (section).args = "alarm --proto"
233 ];
Yi Jinbe6de302017-10-24 12:30:24 -0700234
235 optional com.android.server.wm.proto.WindowManagerServiceProto window = 3017 [
236 (section).type = SECTION_DUMPSYS,
237 (section).args = "window --proto"
238 ];
Kweku Adams598e9a22017-11-02 17:12:20 -0700239
240 optional com.android.server.am.proto.MemInfoProto meminfo = 3018 [
241 (section).type = SECTION_DUMPSYS,
Kweku Adams983829f2017-12-06 14:53:50 -0800242 (section).args = "meminfo -a --proto"
Kweku Adams598e9a22017-11-02 17:12:20 -0700243 ];
Kweku Adams9a478d22017-12-14 12:56:28 -0800244
245 optional android.service.GraphicsStatsServiceDumpProto graphicsstats = 3019 [
246 (section).type = SECTION_DUMPSYS,
247 (section).args = "graphicsstats --proto"
248 ];
Yi Jin3c034c92017-12-22 17:36:47 -0800249
Joe Onorato1754d742016-11-21 17:51:35 -0800250}