activitymanagerservice.proto revision db026a28aa56d725ef40e9f785d7582f6cd774b8
14346f0a15cc8298d354e5257f81f637399b78514Steven Timotius/* 24346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * Copyright (C) 2017 The Android Open Source Project 34346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * 44346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * Licensed under the Apache License, Version 2.0 (the "License"); 54346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * you may not use this file except in compliance with the License. 64346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * You may obtain a copy of the License at 74346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * 84346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * http://www.apache.org/licenses/LICENSE-2.0 94346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * 104346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * Unless required by applicable law or agreed to in writing, software 114346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * distributed under the License is distributed on an "AS IS" BASIS, 124346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * See the License for the specific language governing permissions and 144346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * limitations under the License. 154346f0a15cc8298d354e5257f81f637399b78514Steven Timotius */ 164346f0a15cc8298d354e5257f81f637399b78514Steven Timotius 17c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jinsyntax = "proto2"; 186b51414154e621a073e898835d9ffaa671c862d8Yi Jin 19598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adamspackage com.android.server.am.proto; 20598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams 21148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinimport "frameworks/base/core/proto/android/app/activitymanager.proto"; 22db026a28aa56d725ef40e9f785d7582f6cd774b8Bookatzimport "frameworks/base/core/proto/android/app/enums.proto"; 236b51414154e621a073e898835d9ffaa671c862d8Yi Jinimport "frameworks/base/core/proto/android/app/notification.proto"; 24148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinimport "frameworks/base/core/proto/android/app/profilerinfo.proto"; 25148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinimport "frameworks/base/core/proto/android/content/component_name.proto"; 26148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinimport "frameworks/base/core/proto/android/content/configuration.proto"; 27129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinimport "frameworks/base/core/proto/android/content/intent.proto"; 28148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinimport "frameworks/base/core/proto/android/content/package_item_info.proto"; 294346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusimport "frameworks/base/core/proto/android/graphics/rect.proto"; 30983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adamsimport "frameworks/base/core/proto/android/internal/processstats.proto"; 31129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinimport "frameworks/base/core/proto/android/os/looper.proto"; 32148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinimport "frameworks/base/core/proto/android/os/powermanager.proto"; 33598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adamsimport "frameworks/base/core/proto/android/server/intentresolver.proto"; 34598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adamsimport "frameworks/base/core/proto/android/server/windowmanagerservice.proto"; 356b51414154e621a073e898835d9ffaa671c862d8Yi Jinimport "frameworks/base/core/proto/android/util/common.proto"; 364346f0a15cc8298d354e5257f81f637399b78514Steven Timotius 374346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusoption java_multiple_files = true; 384346f0a15cc8298d354e5257f81f637399b78514Steven Timotius 394346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage ActivityManagerServiceProto { 40c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional ActivityStackSupervisorProto activities = 1; 41129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin 42c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional BroadcastProto broadcasts = 2; 43129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin 446b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional ActiveServicesProto services = 3; 45129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin 46148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional ProcessesProto processes = 4; 474346f0a15cc8298d354e5257f81f637399b78514Steven Timotius} 484346f0a15cc8298d354e5257f81f637399b78514Steven Timotius 496b51414154e621a073e898835d9ffaa671c862d8Yi Jin// "dumpsys activity --proto activities" 504346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage ActivityStackSupervisorProto { 51c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional .com.android.server.wm.proto.ConfigurationContainerProto configuration_container = 1; 524346f0a15cc8298d354e5257f81f637399b78514Steven Timotius repeated ActivityDisplayProto displays = 2; 53c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional KeyguardControllerProto keyguard_controller = 3; 54c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 focused_stack_id = 4; 55c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional .com.android.server.wm.proto.IdentifierProto resumed_activity = 5; 564346f0a15cc8298d354e5257f81f637399b78514Steven Timotius} 574346f0a15cc8298d354e5257f81f637399b78514Steven Timotius 584346f0a15cc8298d354e5257f81f637399b78514Steven Timotius/* represents ActivityStackSupervisor.ActivityDisplay */ 594346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage ActivityDisplayProto { 60c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional .com.android.server.wm.proto.ConfigurationContainerProto configuration_container = 1; 61c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 id = 2; 624346f0a15cc8298d354e5257f81f637399b78514Steven Timotius repeated ActivityStackProto stacks = 3; 634346f0a15cc8298d354e5257f81f637399b78514Steven Timotius} 644346f0a15cc8298d354e5257f81f637399b78514Steven Timotius 654346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage ActivityStackProto { 66c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional .com.android.server.wm.proto.ConfigurationContainerProto configuration_container = 1; 67c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 id = 2; 684346f0a15cc8298d354e5257f81f637399b78514Steven Timotius repeated TaskRecordProto tasks = 3; 69c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional .com.android.server.wm.proto.IdentifierProto resumed_activity = 4; 70c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 display_id = 5; 71c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional bool fullscreen = 6; 72c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional .android.graphics.RectProto bounds = 7; 734346f0a15cc8298d354e5257f81f637399b78514Steven Timotius} 744346f0a15cc8298d354e5257f81f637399b78514Steven Timotius 754346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage TaskRecordProto { 76c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional .com.android.server.wm.proto.ConfigurationContainerProto configuration_container = 1; 77c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 id = 2; 784346f0a15cc8298d354e5257f81f637399b78514Steven Timotius repeated ActivityRecordProto activities = 3; 79c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 stack_id = 4; 80c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional .android.graphics.RectProto last_non_fullscreen_bounds = 5; 81c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string real_activity = 6; 82c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string orig_activity = 7; 83c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 activity_type = 8; 8466e16856ac874babd1156857cff281085a9a6732Wale Ogunwale optional int32 resize_mode = 9; 8566e16856ac874babd1156857cff281085a9a6732Wale Ogunwale optional bool fullscreen = 10; 8666e16856ac874babd1156857cff281085a9a6732Wale Ogunwale optional .android.graphics.RectProto bounds = 11; 8766e16856ac874babd1156857cff281085a9a6732Wale Ogunwale optional int32 min_width = 12; 8866e16856ac874babd1156857cff281085a9a6732Wale Ogunwale optional int32 min_height = 13; 894346f0a15cc8298d354e5257f81f637399b78514Steven Timotius} 904346f0a15cc8298d354e5257f81f637399b78514Steven Timotius 914346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage ActivityRecordProto { 92c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional .com.android.server.wm.proto.ConfigurationContainerProto configuration_container = 1; 93c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional .com.android.server.wm.proto.IdentifierProto identifier = 2; 94c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string state = 3; 95c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional bool visible = 4; 96c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional bool front_of_task = 5; 97c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 proc_id = 6; 984346f0a15cc8298d354e5257f81f637399b78514Steven Timotius} 994346f0a15cc8298d354e5257f81f637399b78514Steven Timotius 1004346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage KeyguardControllerProto { 101c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional bool keyguard_showing = 1; 102c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional bool keyguard_occluded = 2; 103129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin} 104129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin 1056b51414154e621a073e898835d9ffaa671c862d8Yi Jin// "dumpsys activity --proto broadcasts" 106129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage BroadcastProto { 107129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin repeated ReceiverListProto receiver_list = 1; 108129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin 109c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional .com.android.server.IntentResolverProto receiver_resolver = 2; 110129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin 111129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin repeated BroadcastQueueProto broadcast_queue = 3; 112129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin 113129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin repeated StickyBroadcastProto sticky_broadcasts = 4; 114129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin 115129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin message MainHandler { 116c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string handler = 1; 117c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional .android.os.LooperProto looper = 2; 118129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin } 119c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional MainHandler handler = 5; 120129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin} 121129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin 122129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage ReceiverListProto { 123c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional ProcessRecordProto app = 1; 124c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 pid = 2; 125c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 uid = 3; 126c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 user = 4; 127c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional BroadcastRecordProto current = 5; 128c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional bool linked_to_death = 6; 129129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin repeated BroadcastFilterProto filters = 7; 130c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string hex_hash = 8; // this hash is used to find the object in IntentResolver 131129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin} 132129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin 133129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage ProcessRecordProto { 134c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 pid = 1; 135c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string process_name = 2; 136c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 uid = 3; 137c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 user_id = 4; 138c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 app_id = 5; 139c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 isolated_app_id = 6; 140148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool persistent = 7; 141129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin} 142129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin 143129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage BroadcastRecordProto { 144c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 user_id = 1; 145c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string intent_action = 2; 146129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin} 147129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin 148129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage BroadcastFilterProto { 149c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional .android.content.IntentFilterProto intent_filter = 1; 150c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string required_permission = 2; 151c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string hex_hash = 3; // used to find the object in IntentResolver 152c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 owning_user_id = 4; 153129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin} 154129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin 155129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage BroadcastQueueProto { 156c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string queue_name = 1; 157129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin repeated BroadcastRecordProto parallel_broadcasts = 2; 158129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin repeated BroadcastRecordProto ordered_broadcasts = 3; 159c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional BroadcastRecordProto pending_broadcast = 4; 160129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin repeated BroadcastRecordProto historical_broadcasts = 5; 161129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin 162129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin message BroadcastSummary { 163c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional .android.content.IntentProto intent = 1; 164c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int64 enqueue_clock_time_ms = 2; 165c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int64 dispatch_clock_time_ms = 3; 166c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int64 finish_clock_time_ms = 4; 167129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin } 168129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin repeated BroadcastSummary historical_broadcasts_summary = 6; 169129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin} 170129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin 171598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adamsmessage MemInfoProto { 172598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int64 uptime_duration_ms = 1; 173598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int64 elapsed_realtime_ms = 2; 174598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams 175983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams message ProcessMemory { 176598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int32 pid = 1; 177598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional string process_name = 2; 178598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams 179598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams message MemoryInfo { 180598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional string name = 1; 181598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams // The proportional set size for the heap. 182598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int32 total_pss_kb = 2; 183598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams // The proportional set size that is swappable for the heap. 184598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int32 clean_pss_kb = 3; 185598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams // The private dirty pages used by the heap. 186598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int32 shared_dirty_kb = 4; 187598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams // The shared dirty pages used by the heap. 188598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int32 private_dirty_kb = 5; 189598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams // The shared clean pages used by the heap. 190598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int32 shared_clean_kb = 6; 191598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams // The private clean pages used by the heap. 192598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int32 private_clean_kb = 7; 193598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams oneof dirty_swap { 194598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams // The dirty the pages that have been swapped out. 195598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams int32 dirty_swap_kb = 8; 196598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams // The dirty the pages that have been swapped out, proportional. 197598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams int32 dirty_swap_pss_kb = 9; 198598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams } 199598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams } 200598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams message HeapInfo { 201598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional MemoryInfo mem_info = 1; 202598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int32 heap_size_kb = 2; 203598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int32 heap_alloc_kb = 3; 204598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int32 heap_free_kb = 4; 205598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams } 206598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional HeapInfo native_heap = 3; 207598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional HeapInfo dalvik_heap = 4; 208598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams repeated MemoryInfo other_heaps = 5; 209983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional MemoryInfo unknown_heap = 6; 210598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams // Summation of native_heap, dalvik_heap, and other_heaps. 211598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional HeapInfo total_heap = 7; 212598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams 213598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams repeated MemoryInfo dalvik_details = 8; 214598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams 215598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams message AppSummary { 216598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int32 java_heap_pss_kb = 1; 217598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int32 native_heap_pss_kb = 2; 218598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int32 code_pss_kb = 3; 219598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int32 stack_pss_kb = 4; 220598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int32 graphics_pss_kb = 5; 221598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int32 private_other_pss_kb = 6; 222598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional int32 system_pss_kb = 7; 223598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams 224598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams oneof total_swap { 225598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams int32 total_swap_pss = 8; 226598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams int32 total_swap_kb = 9; 227598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams } 228598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams } 229598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams optional AppSummary app_summary = 9; 230598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams } 231983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams repeated ProcessMemory native_processes = 3; 232983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams 233983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams message AppData { 234983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional ProcessMemory process_memory = 1; 235983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams 236983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams message ObjectStats { 237983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 view_instance_count = 1; 238983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 view_root_instance_count = 2; 239983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 app_context_instance_count = 3; 240983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 activity_instance_count = 4; 241983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 global_asset_count = 5; 242983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 global_asset_manager_count = 6; 243983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 local_binder_object_count = 7; 244983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 proxy_binder_object_count = 8; 245983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 parcel_memory_kb = 9; 246983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 parcel_count = 10; 247983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 binder_object_death_count = 11; 248983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 open_ssl_socket_count = 12; 249983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 webview_instance_count = 13; 250983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams } 251983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional ObjectStats objects = 2; 252983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams 253983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams message SqlStats { 254983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 memory_used_kb = 1; 255983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 pagecache_overflow_kb = 2; 256983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 malloc_size_kb = 3; 257983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams 258983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams message Database { 259983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional string name = 1; 260983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 page_size = 2; 261983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 db_size = 3; 262983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // Number of lookaside slots: 263983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // http://www.sqlite.org/c3ref/c_dbstatus_lookaside_used.html 264983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 lookaside_b = 4; 265983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // Statement cache stats: hits/misses/cachesize 266983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional string cache = 5; 267983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams } 268983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams repeated Database databases = 4; 269983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams } 270983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional SqlStats sql = 3; 271983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams 272983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional string asset_allocations = 4; 273983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional string unreachable_memory = 5; 274983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams } 275983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams repeated AppData app_processes = 4; 276983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams 277983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams message MemItem { 278983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional string tag = 1; 279983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional string label = 2; 280983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 id = 3; 281983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional bool is_proc = 4; 282983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional bool has_activities = 5; 283983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 pss_kb = 6; 284983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 swap_pss_kb = 7; 285983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams repeated MemItem sub_items = 8; 286983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams } 287983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams repeated MemItem total_pss_by_process = 5; 288983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams repeated MemItem total_pss_by_oom_adjustment = 6; 289983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams repeated MemItem total_pss_by_category = 7; 290983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams 291983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 total_ram_kb = 8; 292983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional .com.android.internal.app.procstats.ProcessStatsProto.MemoryFactor status = 9; 293983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // Total free RAM = cached_pss_kb + cached_kernel_kb + free_kb. 294983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 cached_pss_kb = 10; 295983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 cached_kernel_kb = 11; 296983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 free_kb = 12; 297983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // Total used RAM = used_pss_kb + used_kernel_kb. 298983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 used_pss_kb = 13; 299983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 used_kernel_kb = 14; 300983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams 301983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 lost_ram_kb = 15; 302983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams 303983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 total_zram_kb = 16; 304983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 zram_physical_used_in_swap_kb = 17; 305983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 total_zram_swap_kb = 18; 306983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams 307983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 ksm_sharing_kb = 19; 308983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 ksm_shared_kb = 20; 309983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 ksm_unshared_kb = 21; 310983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 ksm_volatile_kb = 22; 311983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams 312983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // The approximate per-application memory class of the current device. This 313983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // gives developers an idea of how hard a memory limit you should impose on 314983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // their application to let the overall system work best. The value is in 315983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // megabytes; the baseline Android memory class is 16 (which happens to be the 316983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // Java heap limit of those devices); some devices with more memory may have 317983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // 24 or even higher numbers. 318983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 tuning_mb = 23; 319983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // The approximate per-application memory class of the current device when an 320983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // application is running with a large heap. This is the space available for 321983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // memory-intensive applications; most applications should not need this 322983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // amount of memory, and should instead stay with the tuning_mb limit. The 323983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // value is in megabytes. This may be the same size as tuning_mb on memory 324983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // constrained devices, or it may be significantly larger on devices with a 325983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // large amount of available RAM. 326983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // This is the size of the application's Dalvik heap if it has specified 327983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // 'android:largeHeap="true"' in its manifest. 328983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int32 tuning_large_mb = 24; 329983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams 330983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 oom_kb = 25; 331983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams 332983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // The maximum pss size in kb that we consider a process acceptable to restore 333983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams // from its cached state for running in the background when RAM is low. 334983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional int64 restore_limit_kb = 26; 335983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams 336983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional bool is_low_ram_device = 27; 337983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams optional bool is_high_end_gfx = 28; 338598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams} 339598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams 340129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage StickyBroadcastProto { 341c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 user = 1; 342129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin 343129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin message StickyAction { 344c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string name = 1; 345129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin repeated .android.content.IntentProto intents = 2; 346129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin } 347129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin repeated StickyAction actions = 2; 348129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin} 349129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin 3506b51414154e621a073e898835d9ffaa671c862d8Yi Jin// "dumpsys activity --proto service" 3516b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage ActiveServicesProto { 3526b51414154e621a073e898835d9ffaa671c862d8Yi Jin 3536b51414154e621a073e898835d9ffaa671c862d8Yi Jin message ServicesByUser { 3546b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional int32 user_id = 1; 3556b51414154e621a073e898835d9ffaa671c862d8Yi Jin repeated ServiceRecordProto service_records = 2; 3566b51414154e621a073e898835d9ffaa671c862d8Yi Jin } 3576b51414154e621a073e898835d9ffaa671c862d8Yi Jin repeated ServicesByUser services_by_users = 1; 3586b51414154e621a073e898835d9ffaa671c862d8Yi Jin} 3596b51414154e621a073e898835d9ffaa671c862d8Yi Jin 3606b51414154e621a073e898835d9ffaa671c862d8Yi Jin// corresponds to ActivityManagerService.GrantUri Java class 3616b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage GrantUriProto { 3626b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional int32 source_user_id = 1; 3636b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional string uri = 2; 3646b51414154e621a073e898835d9ffaa671c862d8Yi Jin} 3656b51414154e621a073e898835d9ffaa671c862d8Yi Jin 3666b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage NeededUriGrantsProto { 3676b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional string target_package = 1; 3686b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional int32 target_uid = 2; 3696b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional int32 flags = 3; 3706b51414154e621a073e898835d9ffaa671c862d8Yi Jin 3716b51414154e621a073e898835d9ffaa671c862d8Yi Jin repeated GrantUriProto grants = 4; 3726b51414154e621a073e898835d9ffaa671c862d8Yi Jin} 3736b51414154e621a073e898835d9ffaa671c862d8Yi Jin 3746b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage UriPermissionOwnerProto { 3756b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional string owner = 1; 3766b51414154e621a073e898835d9ffaa671c862d8Yi Jin repeated GrantUriProto read_perms = 2; 3776b51414154e621a073e898835d9ffaa671c862d8Yi Jin repeated GrantUriProto write_perms = 3; 3786b51414154e621a073e898835d9ffaa671c862d8Yi Jin} 3796b51414154e621a073e898835d9ffaa671c862d8Yi Jin 3806b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage ServiceRecordProto { 3816b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional string short_name = 1; 3826b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional string hex_hash = 2; 3836b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional bool is_running = 3; // false if the application service is null 3846b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional int32 pid = 4; 3856b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional .android.content.IntentProto intent = 5; 3866b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional string package_name = 6; 3876b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional string process_name = 7; 3886b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional string permission = 8; 3896b51414154e621a073e898835d9ffaa671c862d8Yi Jin 3906b51414154e621a073e898835d9ffaa671c862d8Yi Jin message AppInfo { 3916b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional string base_dir = 1; 3926b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional string res_dir = 2; 3936b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional string data_dir = 3; 3946b51414154e621a073e898835d9ffaa671c862d8Yi Jin } 3956b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional AppInfo appinfo = 9; 3966b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional ProcessRecordProto app = 10; 3976b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional ProcessRecordProto isolated_proc = 11; 3986b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional bool whitelist_manager = 12; 3996b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional bool delayed = 13; 4006b51414154e621a073e898835d9ffaa671c862d8Yi Jin 4016b51414154e621a073e898835d9ffaa671c862d8Yi Jin message Foreground { 4026b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional int32 id = 1; 4036b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional .android.app.NotificationProto notification = 2; 4046b51414154e621a073e898835d9ffaa671c862d8Yi Jin } 4056b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional Foreground foreground = 14; 4066b51414154e621a073e898835d9ffaa671c862d8Yi Jin 4076b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional .android.util.Duration create_real_time = 15; 4086b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional .android.util.Duration starting_bg_timeout = 16; 4096b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional .android.util.Duration last_activity_time = 17; 4106b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional .android.util.Duration restart_time = 18; 4116b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional bool created_from_fg = 19; 4126b51414154e621a073e898835d9ffaa671c862d8Yi Jin 4136b51414154e621a073e898835d9ffaa671c862d8Yi Jin // variables used to track states related to service start 4146b51414154e621a073e898835d9ffaa671c862d8Yi Jin message Start { 4156b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional bool start_requested = 1; 4166b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional bool delayed_stop = 2; 4176b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional bool stop_if_killed = 3; 4186b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional bool call_start = 4; 4196b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional int32 last_start_id = 5; 4206b51414154e621a073e898835d9ffaa671c862d8Yi Jin } 4216b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional Start start = 20; 4226b51414154e621a073e898835d9ffaa671c862d8Yi Jin 4236b51414154e621a073e898835d9ffaa671c862d8Yi Jin message ExecuteNesting { 4246b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional int32 execute_nesting = 1; 4256b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional bool execute_fg = 2; 4266b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional .android.util.Duration executing_start = 3; 4276b51414154e621a073e898835d9ffaa671c862d8Yi Jin } 4286b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional ExecuteNesting execute = 21; 4296b51414154e621a073e898835d9ffaa671c862d8Yi Jin 4306b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional .android.util.Duration destory_time = 22; 4316b51414154e621a073e898835d9ffaa671c862d8Yi Jin 4326b51414154e621a073e898835d9ffaa671c862d8Yi Jin message Crash { 4336b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional int32 restart_count = 1; 4346b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional .android.util.Duration restart_delay = 2; 4356b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional .android.util.Duration next_restart_time = 3; 4366b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional int32 crash_count = 4; 4376b51414154e621a073e898835d9ffaa671c862d8Yi Jin } 4386b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional Crash crash = 23; 4396b51414154e621a073e898835d9ffaa671c862d8Yi Jin 4406b51414154e621a073e898835d9ffaa671c862d8Yi Jin message StartItemProto { 4416b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional int32 id = 1; 4426b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional .android.util.Duration duration = 2; 4436b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional int32 delivery_count = 3; 4446b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional int32 done_executing_count = 4; 4456b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional .android.content.IntentProto intent = 5; 4466b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional NeededUriGrantsProto needed_grants = 6; 4476b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional UriPermissionOwnerProto uri_permissions = 7; 4486b51414154e621a073e898835d9ffaa671c862d8Yi Jin } 4496b51414154e621a073e898835d9ffaa671c862d8Yi Jin repeated StartItemProto delivered_starts = 24; 4506b51414154e621a073e898835d9ffaa671c862d8Yi Jin repeated StartItemProto pending_starts = 25; 4516b51414154e621a073e898835d9ffaa671c862d8Yi Jin 4526b51414154e621a073e898835d9ffaa671c862d8Yi Jin repeated IntentBindRecordProto bindings = 26; 4536b51414154e621a073e898835d9ffaa671c862d8Yi Jin repeated ConnectionRecordProto connections = 27; 4546b51414154e621a073e898835d9ffaa671c862d8Yi Jin} 4556b51414154e621a073e898835d9ffaa671c862d8Yi Jin 4566b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage ConnectionRecordProto { 4576b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional string hex_hash = 1; 4586b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional int32 user_id = 2; 4596b51414154e621a073e898835d9ffaa671c862d8Yi Jin 4606b51414154e621a073e898835d9ffaa671c862d8Yi Jin enum Flag { 4616b51414154e621a073e898835d9ffaa671c862d8Yi Jin AUTO_CREATE = 0; 4626b51414154e621a073e898835d9ffaa671c862d8Yi Jin DEBUG_UNBIND = 1; 4636b51414154e621a073e898835d9ffaa671c862d8Yi Jin NOT_FG = 2; 4646b51414154e621a073e898835d9ffaa671c862d8Yi Jin IMPORTANT_BG = 3; 4656b51414154e621a073e898835d9ffaa671c862d8Yi Jin ABOVE_CLIENT = 4; 4666b51414154e621a073e898835d9ffaa671c862d8Yi Jin ALLOW_OOM_MANAGEMENT = 5; 4676b51414154e621a073e898835d9ffaa671c862d8Yi Jin WAIVE_PRIORITY = 6; 4686b51414154e621a073e898835d9ffaa671c862d8Yi Jin IMPORTANT = 7; 4696b51414154e621a073e898835d9ffaa671c862d8Yi Jin ADJUST_WITH_ACTIVITY = 8; 470148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin FG_SERVICE_WHILE_AWAKE = 9; 4716b51414154e621a073e898835d9ffaa671c862d8Yi Jin FG_SERVICE = 10; 4726b51414154e621a073e898835d9ffaa671c862d8Yi Jin TREAT_LIKE_ACTIVITY = 11; 4736b51414154e621a073e898835d9ffaa671c862d8Yi Jin VISIBLE = 12; 4746b51414154e621a073e898835d9ffaa671c862d8Yi Jin SHOWING_UI = 13; 4756b51414154e621a073e898835d9ffaa671c862d8Yi Jin NOT_VISIBLE = 14; 4766b51414154e621a073e898835d9ffaa671c862d8Yi Jin DEAD = 15; 4776b51414154e621a073e898835d9ffaa671c862d8Yi Jin } 4786b51414154e621a073e898835d9ffaa671c862d8Yi Jin repeated Flag flags = 3; 4796b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional string service_name = 4; 4806b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional string conn_hex_hash = 5; 4816b51414154e621a073e898835d9ffaa671c862d8Yi Jin} 4826b51414154e621a073e898835d9ffaa671c862d8Yi Jin 4836b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage AppBindRecordProto { 4846b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional string hex_hash = 1; 4856b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional ProcessRecordProto client = 2; 4866b51414154e621a073e898835d9ffaa671c862d8Yi Jin repeated ConnectionRecordProto connections = 3; 4876b51414154e621a073e898835d9ffaa671c862d8Yi Jin} 4886b51414154e621a073e898835d9ffaa671c862d8Yi Jin 4896b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage IntentBindRecordProto { 4906b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional string hex_hash = 1; 4916b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional bool is_create = 2; 4926b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional .android.content.IntentProto intent = 3; 4936b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional string binder = 4; 4946b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional bool requested = 5; 4956b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional bool received = 6; 4966b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional bool has_bound = 7; 4976b51414154e621a073e898835d9ffaa671c862d8Yi Jin optional bool do_rebind = 8; 4986b51414154e621a073e898835d9ffaa671c862d8Yi Jin 4996b51414154e621a073e898835d9ffaa671c862d8Yi Jin repeated AppBindRecordProto apps = 9; 500129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin} 501129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin 5026b51414154e621a073e898835d9ffaa671c862d8Yi Jin// TODO: "dumpsys activity --proto processes" 503148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage ProcessesProto { 504148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated ProcessRecordProto procs = 1; 505148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated ProcessRecordProto isolated_procs = 2; 506148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated ActiveInstrumentationProto active_instrumentations = 3; 507148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated UidRecordProto active_uids = 4; 508148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated UidRecordProto validate_uids = 5; 509148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 510148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin // Process LRU list (sorted by oom_adj) 511148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message LruProcesses { 512148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 size = 1; 513148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 non_act_at = 2; 514148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 non_svc_at = 3; 515148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated ProcessOomProto list = 4; 516148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 517148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional LruProcesses lru_procs = 6; 518148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated ProcessRecordProto pids_self_locked = 7; 519148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin // Foreground Processes 520148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated ImportanceTokenProto important_procs = 8; 521148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin // Persisent processes that are starting 522148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated ProcessRecordProto persistent_starting_procs = 9; 523148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin // Processes that are being removed 524148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated ProcessRecordProto removed_procs = 10; 525148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin // Processes that are on old until the system is ready 526148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated ProcessRecordProto on_hold_procs = 11; 527148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin // Processes that are waiting to GC 528148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated ProcessToGcProto gc_procs = 12; 529148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional AppErrorsProto app_errors = 13; 530148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional UserControllerProto user_controller = 14; 531148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional ProcessRecordProto home_proc = 15; 532148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional ProcessRecordProto previous_proc = 16; 533148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int64 previous_proc_visible_time_ms = 17; 534148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional ProcessRecordProto heavy_weight_proc = 18; 535148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional .android.content.ConfigurationProto global_configuration = 19; 536148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin // ActivityStackSupervisorProto dumps these values as well, still here? 537148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin // repeated ActivityDisplayProto displays = 20; 538148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 539148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool config_will_change = 21; 540148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 541148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message ScreenCompatPackage { 542148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string package = 1; 543148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 mode = 2; 544148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 545148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated ScreenCompatPackage screen_compat_packages = 22; 546148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 547148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message UidObserverRegistrationProto { 548148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 uid = 1; 549148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string package = 2; 550148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated .android.app.UidObserverFlag flags = 3; 551148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 cut_point = 4; // only available when UID_OBSERVER_PROCSTATE is on 552148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 553148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message ProcState { 554148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 uid = 1; 555148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 state = 2; 556148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 557148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated ProcState last_proc_states = 5; 558148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 559148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated UidObserverRegistrationProto uid_observers = 23; 560148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated int32 device_idle_whitelist = 24; 561148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated int32 device_idle_temp_whitelist = 25; 562148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 563148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message PendingTempWhitelist { 564148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 target_uid = 1; 565148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int64 duration_ms = 2; 566148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string tag = 3; 567148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 568148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated PendingTempWhitelist pending_temp_whitelist = 26; 569148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 570148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message SleepStatus { 571148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional .android.os.PowerManagerInternalProto.Wakefulness wakefulness = 1; 572148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated string sleep_tokens = 2; 573148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool sleeping = 3; 574148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool shutting_down = 4; 575148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool test_pss_mode = 5; 576148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 577148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional SleepStatus sleep_status = 27; 578148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 579148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message VoiceProto { 580148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string session = 1; 581148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional .android.os.PowerManagerProto.WakeLockProto wakelock = 2; 582148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 583148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional VoiceProto running_voice = 28; 584148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 585148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message VrControllerProto { 586148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin enum VrMode { 587148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin FLAG_NON_VR_MODE = 0; 588148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin FLAG_VR_MODE = 1; 589148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin FLAG_PERSISTENT_VR_MODE = 2; 590148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 591148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated VrMode vr_mode = 1; 592148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 render_thread_id = 2; 593148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 594148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional VrControllerProto vr_controller = 29; 595148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 596148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message DebugApp { 597148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string debug_app = 1; 598148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string orig_debug_app = 2; 599148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool debug_transient = 3; 600148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool orig_wait_for_debugger = 4; 601148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 602148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional DebugApp debug = 30; 603148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional AppTimeTrackerProto current_tracker = 31; 604148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 605148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message MemWatchProcess { 606148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message Process { 607148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string name = 1; 608148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 609148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message MemStats { 610148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 uid = 1; 611148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string size = 2; 612148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string report_to = 3; 613148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 614148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated MemStats mem_stats = 2; 615148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 616148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated Process procs = 1; 617148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 618148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message Dump { 619148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string proc_name = 1; 620148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string file = 2; 621148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 pid = 3; 622148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 uid = 4; 623148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 624148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional Dump dump = 2; 625148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 626148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional MemWatchProcess mem_watch_processes = 32; 627148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string track_allocation_app = 33; 628148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 629148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message Profile { 630148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string app_name = 1; 631148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional ProcessRecordProto proc = 2; 632148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional .android.app.ProfilerInfoProto info = 3; 633148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 type = 4; 634148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 635148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional Profile profile = 34; 636148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string native_debugging_app = 35; 637148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool always_finish_activities = 36; 638148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 639148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message Controller { 640148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string controller = 1; 641148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool is_a_monkey = 2; 642148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 643148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional Controller controller = 37; 644148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 645148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 total_persistent_procs = 38; 646148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool processes_ready = 39; 647148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool system_ready = 40; 648148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool booted = 41; 649148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 factory_test = 42; 650148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool booting = 43; 651148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool call_finish_booting = 44; 652148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool boot_animation_complete = 45; 653148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int64 last_power_check_uptime_ms = 46; 654148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional .android.os.PowerManagerProto.WakeLockProto going_to_sleep = 47; 655148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional .android.os.PowerManagerProto.WakeLockProto launching_activity = 48; 656148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 adj_seq = 49; 657148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 lru_seq = 50; 658148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 num_non_cached_procs = 51; 659148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 num_cached_hidden_procs = 52; 660148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 num_service_procs = 53; 661148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 new_num_service_procs = 54; 662148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool allow_lower_mem_level = 55; 663148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 last_memory_level = 56; 664148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 last_num_processes = 57; 665148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional .android.util.Duration last_idle_time = 58; 666148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int64 low_ram_since_last_idle_ms = 59; 667148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin} 668148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 669148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage ActiveInstrumentationProto { 670148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional .android.content.ComponentNameProto class = 1; 671148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool finished = 2; 672148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated ProcessRecordProto running_processes = 3; 673148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated string target_processes = 4; 674148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional .android.content.pm.ApplicationInfoProto target_info = 5; 675148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string profile_file = 6; 676148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string watcher = 7; 677148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string ui_automation_connection = 8; 678148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string arguments = 9; 679148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin} 680148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 681148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin// Proto definition of com.android.server.am.UidRecord.java 682148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage UidRecordProto { 683148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string hex_hash = 1; 684148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 uid = 2; 685db026a28aa56d725ef40e9f785d7582f6cd774b8Bookatz optional .android.app.ProcessStateEnum current = 3; 686148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool ephemeral = 4; 687148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool fg_services = 5; 688148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool whilelist = 6; 689148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional .android.util.Duration last_background_time = 7; 690148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool idle = 8; 691148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 692148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin enum Change { 693148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin CHANGE_GONE = 0; 694148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin CHANGE_IDLE = 1; 695148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin CHANGE_ACTIVE = 2; 696148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin CHANGE_CACHED = 3; 697148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin CHANGE_UNCACHED = 4; 698148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 699148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated Change last_reported_changes = 9; 700148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 num_procs = 10; 701148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 702148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message ProcStateSequence { 703148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int64 cururent = 1; 704148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int64 last_network_updated = 2; 705148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int64 last_dispatched = 3; 706148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 707148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional ProcStateSequence network_state_update = 11; 708148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin} 709148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 710148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin// proto of class ImportanceToken in ActivityManagerService 711148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage ImportanceTokenProto { 712148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 pid = 1; 713148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string token = 2; 714148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string reason = 3; 715148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin} 716148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 717148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage ProcessOomProto { 718148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool persistent = 1; 719148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 num = 2; 720148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string oom_adj = 3; 721148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 722148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin // Activity manager's version of Process enum, see ProcessList.java 723148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin enum SchedGroup { 724148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin SCHED_GROUP_UNKNOWN = -1; 725148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin SCHED_GROUP_BACKGROUND = 0; 726148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin SCHED_GROUP_DEFAULT = 1; 727148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin SCHED_GROUP_TOP_APP = 2; 728148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin SCHED_GROUP_TOP_APP_BOUND = 3; 729148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 730148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional SchedGroup sched_group = 4 [ default = SCHED_GROUP_UNKNOWN]; 731148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 732148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin oneof Foreground { 733148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin bool activities = 5; 734148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin bool services = 6; 735148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 736148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 737db026a28aa56d725ef40e9f785d7582f6cd774b8Bookatz optional .android.app.ProcessStateEnum state = 7; 738148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 trim_memory_level = 8; 739148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional ProcessRecordProto proc = 9; 740148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string adj_type = 10; 741148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 742148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin oneof AdjTarget { 743148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin .android.content.ComponentNameProto adj_target_component_name = 11; 744148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin string adj_target_object = 12; 745148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 746148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 747148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin oneof AdjSource { 748148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin ProcessRecordProto adj_source_proc = 13; 749148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin string adj_source_object = 14; 750148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 751148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 752148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message Detail { 753148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 max_adj = 1; 754148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 cur_raw_adj = 2; 755148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 set_raw_adj = 3; 756148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 cur_adj = 4; 757148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 set_adj = 5; 758db026a28aa56d725ef40e9f785d7582f6cd774b8Bookatz optional .android.app.ProcessStateEnum current_state = 7; 759db026a28aa56d725ef40e9f785d7582f6cd774b8Bookatz optional .android.app.ProcessStateEnum set_state = 8; 760148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string last_pss = 9; 761148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string last_swap_pss = 10; 762148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string last_cached_pss = 11; 763148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool cached = 12; 764148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool empty = 13; 765148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool has_above_client = 14; 766148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 767148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin // only make sense if process is a service 768148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message CpuRunTime { 769148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int64 over_ms = 1; 770148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int64 used_ms = 2; 771148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional float ultilization = 3; // ratio of cpu time usage 772148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 773148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional CpuRunTime service_run_time = 15; 774148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 775148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional Detail detail = 15; 776148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin} 777148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 778148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage ProcessToGcProto { 779148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional ProcessRecordProto proc = 1; 780148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool report_low_memory = 2; 781148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int64 now_uptime_ms = 3; 782148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int64 last_gced_ms = 4; 783148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int64 last_low_memory_ms = 5; 784148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin} 785148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 786148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin// sync with com.android.server.am.AppErrors.java 787148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage AppErrorsProto { 788148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 789148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int64 now_uptime_ms = 1; 790148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 791148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message ProcessCrashTime { 792148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string process_name = 1; 793148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 794148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message Entry { 795148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 uid = 1; 796148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int64 last_crashed_at_ms = 2; 797148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 798148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated Entry entries = 2; 799148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 800148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated ProcessCrashTime process_crash_times = 2; 801148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 802148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message BadProcess { 803148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string process_name = 1; 804148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 805148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message Entry { 806148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 uid = 1; 807148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int64 crashed_at_ms = 2; 808148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string short_msg = 3; 809148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string long_msg = 4; 810148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string stack = 5; 811148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 812148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated Entry entries = 2; 813148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 814148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated BadProcess bad_processes = 3; 815148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin} 816148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 817148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin// sync with com.android.server.am.UserState.java 818148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage UserStateProto { 819148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin enum State { 820148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin STATE_BOOTING = 0; 821148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin STATE_RUNNING_LOCKED = 1; 822148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin STATE_RUNNING_UNLOCKING = 2; 823148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin STATE_RUNNING_UNLOCKED = 3; 824148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin STATE_STOPPING = 4; 825148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin STATE_SHUTDOWN = 5; 826148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 827148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional State state = 1; 828148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional bool switching = 2; 829148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin} 830148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 831148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin// sync with com.android.server.am.UserController.java 832148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage UserControllerProto { 833148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message User { 834148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 id = 1; 835148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional UserStateProto state = 2; 836148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 837148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated User started_users = 1; 838148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated int32 started_user_array = 2; 839148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated int32 user_lru = 3; 840148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 841148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message UserProfile { 842148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 user = 1; 843148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int32 profile = 2; 844148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 845148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated UserProfile user_profile_group_ids = 4; 846148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin} 847148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 848148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin// sync with com.android.server.am.AppTimeTracker.java 849148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage AppTimeTrackerProto { 850148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string receiver = 1; 851148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int64 total_duration_ms = 2; 852148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 853148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin message PackageTime { 854148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string package = 1; 855148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional int64 duration_ms = 2; 856148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin } 857148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin repeated PackageTime package_times = 3; 858148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin 859148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional .android.util.Duration started_time = 4; 860148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin optional string started_package = 5; 861129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin} 862