1/*
2 * Copyright (C) 2021 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 AndroidHwcomposerMetrics {
22  // Counts the number of composition total layers in the trace. (non-weighted average)
23  optional double composition_total_layers = 1;
24
25  // Counts the number of composition dpu layers in the trace. (non-weighted average)
26  optional double composition_dpu_layers = 2;
27
28  // Counts the number of composition gpu layers in the trace. (non-weighted average)
29  optional double composition_gpu_layers = 3;
30
31  // Counts the number of composition dpu cached layers in the trace. (non-weighted average)
32  optional double composition_dpu_cached_layers = 4;
33
34  // Counts the number of composition surfaceflinger cached layers in the trace.
35  // (non-weighted average)
36  optional double composition_sf_cached_layers = 5;
37
38  // Counts how many times validateDisplay is skipped.
39  optional int32 skipped_validation_count = 6;
40
41  // Counts how many times validateDisplay cannot be skipped.
42  optional int32 unskipped_validation_count = 7;
43
44  // Counts how many times validateDisplay is already separated from presentDisplay
45  // since the beginning.
46  optional int32 separated_validation_count = 8;
47
48  // Counts how many unhandled validation cases which might be caused by errors.
49  optional int32 unknown_validation_count = 9;
50
51  // the average of overall hwcomposer execution time.
52  optional double avg_all_execution_time_ms = 10;
53
54  // the average of hwcomposer execution time for skipped validation cases.
55  optional double avg_skipped_execution_time_ms = 11;
56
57  // the average of hwcomposer execution time for unskipped validation cases.
58  optional double avg_unskipped_execution_time_ms = 12;
59
60  // the average of hwcomposer execution time for separated validation cases.
61  optional double avg_separated_execution_time_ms = 13;
62}
63