xref: /aosp_15_r20/external/perfetto/protos/perfetto/metrics/android/android_oom_adjuster_metric.proto (revision 6dbdd20afdafa5e3ca9b8809fa73465d530080dc)
1/*
2 * Copyright (C) 2024 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
17syntax = "proto2";
18
19package perfetto.protos;
20
21message AndroidOomAdjusterMetric {
22  message OomAdjusterTransitionCounts {
23    // name of the item aggregated by. example: process_name,
24    // oom_adjuster_reason.
25    optional string name = 1;
26    // name of previous oom bucket.
27    optional string src_bucket = 2;
28    // name of oom bucket.
29    optional string dest_bucket = 3;
30    // count of transitions
31    optional int64 count = 4;
32  }
33  message OomAdjBucketDurationAggregation {
34    // name of the item aggregated by. example: process_name,
35    // oom_adjuster_reason
36    optional string name = 1;
37    // name of oom bucket.
38    optional string bucket = 2;
39    // Duration of the time in the bucket
40    optional int64 total_dur = 3;
41  }
42  message OomAdjDurationAggregation {
43    optional int64 min_oom_adj_dur = 1;
44    optional int64 max_oom_adj_dur = 2;
45    optional double avg_oom_adj_dur = 3;
46    optional int64 oom_adj_event_count = 4;
47    optional string oom_adj_reason = 5;
48  }
49  repeated OomAdjusterTransitionCounts oom_adjuster_transition_counts_global =
50      1;
51  repeated OomAdjusterTransitionCounts
52      oom_adjuster_transition_counts_by_process = 2;
53  repeated OomAdjusterTransitionCounts
54      oom_adjuster_transition_counts_by_oom_adj_reason = 3;
55  repeated OomAdjBucketDurationAggregation oom_adj_bucket_duration_agg_global =
56      4;
57  repeated OomAdjBucketDurationAggregation
58      oom_adj_bucket_duration_agg_by_process = 5;
59  repeated OomAdjDurationAggregation oom_adj_duration_agg = 6;
60}