/* * Copyright (C) 2024 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 AndroidGarbageCollectionUnaggMetric { message GarbageCollectionEvent { // Name of thread running garbage collection. optional string thread_name = 1; // Name of process running garbage collection. optional string process_name = 2; // Type of garbage collection. optional string gc_type = 3; // Whether gargage collection is mark compact or copying. optional int64 is_mark_compact = 4; // MB reclaimed after garbage collection. optional double reclaimed_mb = 5; // Minimum heap size in MB during garbage collection. optional double min_heap_mb = 6; // Maximum heap size in MB during garbage collection. optional double max_heap_mb = 7; // Memory reclaimed per ms of running time. optional double mb_per_ms_of_running_gc = 8; // Memory reclaimed per ms of wall time. optional double mb_per_ms_of_wall_gc = 9; // Garbage collection wall duration. optional int64 gc_dur = 10; // Garbage collection duration spent executing on CPU. optional int64 gc_running_dur = 11; // Garbage collection duration spent waiting for CPU. optional int64 gc_runnable_dur = 12; // Garbage collection duration spent waiting in the Linux kernel on IO. optional int64 gc_unint_io_dur = 13; // Garbage collection duration spent waiting in the Linux kernel without IO. optional int64 gc_unint_non_io_dur = 14; // Garbage collection duration spent waiting in interruptible sleep. optional int64 gc_int_dur = 15; // ts of the event in trace. optional int64 gc_ts = 16; // pid of the event in trace. optional int64 pid = 17; // tid of the event in trace. optional int64 tid = 18; // monotonic duration of event. optional int64 gc_monotonic_dur = 19; } repeated GarbageCollectionEvent gc_events = 1; }