1#  Copyright (c) 2022 Huawei Device Co., Ltd.
2#  Licensed under the Apache License, Version 2.0 (the "License");
3#  you may not use this file except in compliance with the License.
4#  You may obtain a copy of the License at
5#
6#      http://www.apache.org/licenses/LICENSE-2.0
7#
8#  Unless required by applicable law or agreed to in writing, software
9#  distributed under the License is distributed on an "AS IS" BASIS,
10#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11#  See the License for the specific language governing permissions and
12#  limitations under the License.
13
14#####################################################
15#     below is the format of defining event         #
16#####################################################
17#domain: domain name.  [Only one domain name can be defined at the top]
18#
19#author: the author name who defined this event.
20#date: the date when this event was defined, format is YYYY-MM-DD.
21#logged: source file which refer to this event.
22#usage: the usage of this event.
23#//Define event name and event properties.
24#@EVENT_NAME: the event definition part begin.
25#  // __BASE is used for defining the basic info of the event.
26#  // "type" optional values are: FAULT, STATISTICS, SECURITY, BEHAVIOR.
27#  // "level" optional values are: CRITICAL, MINOR.
28#  // "tag" set tags with may used by subscriber of this event, multiple tags devided by space.
29#  // "desc" full description of this event.
30#  @PARAMETER: {type: parameter type, arrsize: array length(optional), desc: parameter description}.
31#  // follow the __BASE block, each line defines a parameter of this event.
32#  // "type" optional values are: INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, FLOAT, DOUBLE, STRING.
33#  // "arrsize" of the parameter is an array, set a non-zero value.
34#  // "desc" full description of this parameter.
35
36#####################################################
37#   Example of some hiviewdfx events definition     #
38#####################################################
39
40domain: GRAPHIC
41
42NO_DRAW:
43  __BASE: {type: FAULT, level: MINOR, desc: graphic no draw}
44  PID: {type: INT32, desc: NO_DRAW the pid of current ability}
45  UID: {type: INT32, desc: NO_DRAW the uid of current ability}
46  ABILITY_NAME: {type: STRING, desc: NO_DRAW ability name}
47  MSG: {type: STRING, desc: NO_DRAW message}
48
49JANK_FRAME_SKIP:
50  __BASE: {type: FAULT, level: MINOR, desc: graphic jank frame skip}
51  PID: {type: INT32, desc: JANK_FRAME_SKIP the pid of current ability}
52  UID: {type: INT32, desc: JANK_FRAME_SKIP the uid of current ability}
53  ABILITY_NAME: {type: STRING, desc: JANK_FRAME_SKIP ability name}
54  MSG: {type: STRING, desc: JANK_FRAME_SKIP message}
55
56RS_COMPOSITION_TIMEOUT:
57  __BASE: {type: STATISTIC, level: MINOR, desc: rs composition timeout}
58  PID: {type: INT32, desc: RS_COMPOSITION_TIMEOUT the pid of current ability}
59  UID: {type: INT32, desc: RS_COMPOSITION_TIMEOUT the uid of current ability}
60  BUNDLE_NAME: {type: STRING, desc: RS_COMPOSITION_TIMEOUT bundle name}
61  ABILITY_NAME: {type: STRING, desc: RS_COMPOSITION_TIMEOUT ability name}
62  MSG: {type: STRING, desc: RS_COMPOSITION_TIMEOUT message}
63
64EPS_LCD_FREQ:
65  __BASE: {type: STATISTIC, level: MINOR, tag: PowerStats, desc: rs screen refresh rate change}
66  SOURCERATE: {type: INT32, desc: source refresh rate}
67  TARGETRATE: {type: INT32, desc: target refresh rate}
68  WIDTH: {type: INT32, desc: screen resolution width}
69  HEIGHT: {type: INT32, desc: screen resolution height}
70
71JANK_STATS_RS:
72  __BASE: {type: STATISTIC, level: MINOR, tag: performance, desc: jank statistic}
73  STARTTIME: {type: UINT64, desc: begin time since last report}
74  DURATION: {type: UINT64, desc: duration since last report}
75  JANK_STATS: {type: UINT16, desc: jank frame stats}
76  JANK_STATS_VER: {type: UINT32, desc: jank range version}
77
78INTERACTION_RESPONSE_LATENCY:
79  __BASE: {type: BEHAVIOR, level: MINOR, tag: performance, desc: interaction response statistics}
80  APP_PID: {type: INT32, desc: app process id}
81  VERSION_CODE: {type: INT32, desc: version code}
82  VERSION_NAME: {type: STRING, desc: version name}
83  BUNDLE_NAME: {type: STRING, desc: package name}
84  ABILITY_NAME: {type: STRING, desc: ability name}
85  PROCESS_NAME: {type: STRING, desc: process name}
86  PAGE_URL: {type: STRING, desc: page url}
87  SCENE_ID: {type: STRING, desc: interation scene id}
88  SOURCE_TYPE: {type: STRING, desc: input source type}
89  NOTE: {type: STRING, desc: extra information}
90  INPUT_TIME: {type: UINT64, desc: input time when multimodel receive from kernel}
91  ANIMATION_START_TIME: {type: UINT64, desc: animation start time of the scene}
92  RENDER_TIME: {type: UINT64, desc: render time of the scene}
93  RESPONSE_LATENCY: {type: UINT64, desc: render time minus input time}
94
95INTERACTION_COMPLETED_LATENCY:
96  __BASE: {type: BEHAVIOR, level: MINOR, tag: performance, desc: interaction response statistics}
97  APP_PID: {type: INT32, desc: app process id}
98  VERSION_CODE: {type: INT32, desc: version code}
99  VERSION_NAME: {type: STRING, desc: version name}
100  BUNDLE_NAME: {type: STRING, desc: package name}
101  ABILITY_NAME: {type: STRING, desc: ability name}
102  PROCESS_NAME: {type: STRING, desc: process name}
103  PAGE_URL: {type: STRING, desc: page url}
104  SCENE_ID: {type: STRING, desc: interation scene id}
105  SOURCE_TYPE: {type: STRING, desc: input source type}
106  NOTE: {type: STRING, desc: extra information}
107  INPUT_TIME: {type: UINT64, desc: input time when multimodel receive from kernel}
108  ANIMATION_START_LATENCY: {type: UINT64, desc: animation start time minus input time}
109  ANIMATION_END_LATENCY: {type: UINT64, desc: end time of the scene}
110  E2E_LATENCY: {type: UINT64, desc: end to end time}
111
112INTERACTION_RENDER_JANK:
113  __BASE: {type: STATISTIC, level: MINOR, tag: performance, desc: interaction jank statistics}
114  UNIQUE_ID: {type: INT32, desc: unique id}
115  SCENE_ID: {type: STRING, desc: interation scene id}
116  PROCESS_NAME: {type: STRING, desc: process name}
117  MODULE_NAME: {type: STRING, desc: package name}
118  ABILITY_NAME: {type: STRING, desc: ability name}
119  PAGE_URL: {type: STRING, desc: page url}
120  TOTAL_FRAMES: {type: INT32, desc: total frames}
121  TOTAL_MISSED_FRAMES: {type: INT32, desc: total missed frames during the scene}
122  MAX_FRAMETIME: {type: UINT64, desc: max single frame time during the scene}
123  MAX_FRAMETIME_SINCE_START: {type: UINT64, desc: duration from the scene start to the max frame end}
124  AVERAGE_FRAMETIME: {type: FLOAT, desc: average frame time during the scene}
125  MAX_SEQ_MISSED_FRAMES: {type: INT32, desc: max successive missed frames during the scene}
126  IS_FOLD_DISP: {type: BOOL, desc: 'default false, set true if fold screen in expand state'}
127  BUNDLE_NAME_EX: {type: STRING, desc: real package name when sceneboard start app}
128  MAX_HITCH_TIME: {type: UINT64, desc: max single frame hitch time during the scene}
129  MAX_HITCH_TIME_SINCE_START: {type: UINT64, desc: duration from the scene start to the max hitch frame end}
130  DURATION: {type: UINT64, desc: duration of the scene}
131
132INTERACTION_HITCH_TIME_RATIO:
133  __BASE: {type: STATISTIC, level: MINOR, tag: performance, desc: interaction hitch time ratio statistics}
134  UNIQUE_ID: {type: INT32, desc: unique id}
135  SCENE_ID: {type: STRING, desc: interation scene id}
136  PROCESS_NAME: {type: STRING, desc: process name}
137  MODULE_NAME: {type: STRING, desc: package name}
138  ABILITY_NAME: {type: STRING, desc: ability name}
139  PAGE_URL: {type: STRING, desc: page url}
140  UI_START_TIME: {type: UINT64, desc: animation start time of the scene in ArkUI}
141  RS_START_TIME: {type: UINT64, desc: animation start time of the scene in render service}
142  DURATION: {type: UINT64, desc: total animation time during the scene}
143  HITCH_TIME: {type: UINT64, desc: total hitch time during the scene}
144  HITCH_TIME_RATIO: {type: FLOAT, desc: hitch time ratio during the scene}
145  IS_FOLD_DISP: {type: BOOL, desc: 'default false, set true if fold screen in expand state'}
146  BUNDLE_NAME_EX: {type: STRING, desc: real package name when sceneboard start app}
147
148FIRST_FRAME_DRAWN:
149  __BASE: {type: BEHAVIOR, level: MINOR, tag: performance, desc: interaction jank statistics}
150  APP_PID: {type: INT32, desc: app process id}
151
152RS_NODE_LIMIT_EXCEEDED:
153  __BASE: {type: BEHAVIOR, level: MINOR, tag: performance, desc: rs node limit exceeded statistics}
154  RS_NODE_LIMIT: {type: UINT32, desc: the upper limit of the total number of rs nodes}
155  RS_ACTUAL_NODE: {type: UINT32, desc: current total number of rs nodes}
156  TIMESTAMP: {type: UINT64, desc: current timestamp}
157  RS_APP_WINDOW_TOTAL: {type: UINT32, desc: current total app windows on rs tree}
158  RS_TOP1_APP_NAME: {type: STRING, desc: name of current app with top1 rs nodes}
159  RS_TOP1_APP_NODE: {type: UINT32, desc: number of nodes of current app with top1 rs nodes}
160  RS_TOP2_APP_NAME: {type: STRING, desc: name of current app with top2 rs nodes}
161  RS_TOP2_APP_NODE: {type: UINT32, desc: number of nodes of current app with top2 rs nodes}
162  RS_TOP3_APP_NAME: {type: STRING, desc: name of current app with top3 rs nodes}
163  RS_TOP3_APP_NODE: {type: UINT32, desc: number of nodes of current app with top3 rs nodes}
164
165HGM_VOTER_INFO:
166  __BASE: {type: STATISTIC, level: MINOR, desc: hgm voter info statistics}
167  MSG: {type: STRING, desc: voter info}
168
169GPU_SUBHEALTH_MONITORING:
170  __BASE: {type: STATISTIC, level: MINOR, desc: GPU subhealth monitoring statistics}
171  WAIT_ACQUIRE_FENCE_TIME: {type: UINT64, desc: wait acquire fence time}
172  FRAME_RATE: {type: INT32, desc: real frame rate}
173
174IPC_DATA_OVER_ERROR:
175  __BASE: {type: STATISTIC, level: MINOR, desc: receive large commit transaction data}
176  PID: {type: INT32, desc: application pid}
177  UID: {type: INT32, desc: application uid}
178  BUNDLE_NAME: {type: STRING, desc: application package name}
179  TRANSACTION_DATA_SIZE: {type: UINT64, desc: total received transaction data size}
180
181RENDER_MEMORY_OVER_WARNING:
182  __BASE: {type: STATISTIC, level: MINOR, desc: warning of the memory applied by an application exceeds the threshold}
183  PID: {type: INT32, desc: application pid}
184  BUNDLE_NAME: {type: STRING, desc: application package name}
185  CPU_MEMORY: {type: UINT64, desc: cpu memory of the application}
186  GPU_MEMORY: {type: UINT64, desc: gpu memory of the application}
187  TOTAL_MEMORY: {type: UINT64, desc: total memory of the application}
188
189RENDER_MEMORY_OVER_ERROR:
190  __BASE: {type: STATISTIC, level: MINOR, desc: error of the memory applied by an application exceeds the threshold}
191  PID: {type: INT32, desc: application pid}
192  BUNDLE_NAME: {type: STRING, desc: application package name}
193  CPU_MEMORY: {type: UINT64, desc: cpu memory of the application}
194  GPU_MEMORY: {type: UINT64, desc: gpu memory of the application}
195  TOTAL_MEMORY: {type: UINT64, desc: total memory of the application}