/* * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ syntax = "proto2"; package perfetto.protos; message EntityStateResidency { message PowerEntityState { // Index corresponding to the entity optional int32 entity_index = 1; // Index corresponding to the state optional int32 state_index = 2; // Name of the entity. This is device-specific, determined by the PowerStats // HAL, and cannot be configured by the user. An example would be // "Bluetooth". optional string entity_name = 3; // Name of the state. This is device-specific, determined by the PowerStats // HAL, and cannot be configured by the user. An example would be // "Active". optional string state_name = 4; } // This is only emitted at the beginning of the trace. repeated PowerEntityState power_entity_state = 1; message StateResidency { // Index corresponding to PowerEntityState.entity_index optional int32 entity_index = 1; // Index corresponding to PowerEntityState.state_index optional int32 state_index = 2; // Time since boot that this entity has been in this state optional uint64 total_time_in_state_ms = 3; // Total number of times since boot that the entity has entered this state optional uint64 total_state_entry_count = 4; // Timestamp of the last time the entity entered this state optional uint64 last_entry_timestamp_ms = 5; } repeated StateResidency residency = 2; }