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 PID: {type: INT32, desc: app pid} 77 BUNDLE_NAME: {type: STRING, desc: bundle name} 78 PROCESS_NAME: {type: STRING, desc: process name} 79 VERSION_NAME: {type: STRING, desc: version name} 80 VERSION_CODE: {type: INT32, desc: version code} 81 JANK_STATS_VER: {type: UINT32, desc: jank range version} 82 83JANK_FRAME_RS: 84 __BASE: {type: FAULT, level: MINOR, tag: performance, desc: jank frame} 85 PID: {type: INT32, desc: app pid} 86 BUNDLE_NAME: {type: STRING, desc: bundle name} 87 PROCESS_NAME: {type: STRING, desc: process name} 88 VERSION_NAME: {type: STRING, desc: version name} 89 VERSION_CODE: {type: INT32, desc: version code} 90 91INTERACTION_RESPONSE_LATENCY: 92 __BASE: {type: BEHAVIOR, level: MINOR, tag: performance, desc: interaction response statistics} 93 APP_PID: {type: INT32, desc: app process id} 94 VERSION_CODE: {type: INT32, desc: version code} 95 VERSION_NAME: {type: STRING, desc: version name} 96 BUNDLE_NAME: {type: STRING, desc: package name} 97 ABILITY_NAME: {type: STRING, desc: ability name} 98 PROCESS_NAME: {type: STRING, desc: process name} 99 PAGE_URL: {type: STRING, desc: page url} 100 SCENE_ID: {type: STRING, desc: interation scene id} 101 SOURCE_TYPE: {type: STRING, desc: input source type} 102 NOTE: {type: STRING, desc: extra information} 103 INPUT_TIME: {type: UINT64, desc: input time when multimodel receive from kernel} 104 ANIMATION_START_TIME: {type: UINT64, desc: animation start time of the scene} 105 RENDER_TIME: {type: UINT64, desc: render time of the scene} 106 RESPONSE_LATENCY: {type: UINT64, desc: render time minus input time} 107 108INTERACTION_COMPLETED_LATENCY: 109 __BASE: {type: BEHAVIOR, level: MINOR, tag: performance, desc: interaction response statistics} 110 APP_PID: {type: INT32, desc: app process id} 111 VERSION_CODE: {type: INT32, desc: version code} 112 VERSION_NAME: {type: STRING, desc: version name} 113 BUNDLE_NAME: {type: STRING, desc: package name} 114 ABILITY_NAME: {type: STRING, desc: ability name} 115 PROCESS_NAME: {type: STRING, desc: process name} 116 PAGE_URL: {type: STRING, desc: page url} 117 SCENE_ID: {type: STRING, desc: interation scene id} 118 SOURCE_TYPE: {type: STRING, desc: input source type} 119 NOTE: {type: STRING, desc: extra information} 120 INPUT_TIME: {type: UINT64, desc: input time when multimodel receive from kernel} 121 ANIMATION_START_LATENCY: {type: UINT64, desc: animation start time minus input time} 122 ANIMATION_END_LATENCY: {type: UINT64, desc: end time of the scene} 123 E2E_LATENCY: {type: UINT64, desc: end to end time} 124 125INTERACTION_RENDER_JANK: 126 __BASE: {type: STATISTIC, level: MINOR, tag: performance, desc: interaction jank statistics} 127 UNIQUE_ID: {type: INT32, desc: unique id} 128 SCENE_ID: {type: STRING, desc: interation scene id} 129 PROCESS_NAME: {type: STRING, desc: process name} 130 MODULE_NAME: {type: STRING, desc: package name} 131 ABILITY_NAME: {type: STRING, desc: ability name} 132 PAGE_URL: {type: STRING, desc: page url} 133 TOTAL_FRAMES: {type: INT32, desc: total frames} 134 TOTAL_MISSED_FRAMES: {type: INT32, desc: total missed frames during the scene} 135 MAX_FRAMETIME: {type: UINT64, desc: max single frame time during the scene} 136 MAX_TECH_FRAMETIME: {type: UINT64, desc: max tech single frame time during the scene} 137 MAX_REAL_FRAMETIME: {type: UINT64, desc: max real single frame time during the scene} 138 MAX_FRAMETIME_SINCE_START: {type: UINT64, desc: duration from the scene start to the max frame end} 139 AVERAGE_FRAMETIME: {type: FLOAT, desc: average frame time during the scene} 140 MAX_SEQ_MISSED_FRAMES: {type: INT32, desc: max successive missed frames during the scene} 141 IS_FOLD_DISP: {type: BOOL, desc: 'default false, set true if fold screen in expand state'} 142 BUNDLE_NAME_EX: {type: STRING, desc: real package name when sceneboard start app} 143 MAX_HITCH_TIME: {type: UINT64, desc: max single frame hitch time during the scene} 144 MAX_HITCH_TIME_SINCE_START: {type: UINT64, desc: duration from the scene start to the max hitch frame end} 145 DURATION: {type: UINT64, desc: duration of the scene} 146 MAX_FRAME_REFRESH_RATE: {type: INT32, desc: the frame rate at the moment of the longest frame occurrence} 147 148INTERACTION_HITCH_TIME_RATIO: 149 __BASE: {type: STATISTIC, level: MINOR, tag: performance, desc: interaction hitch time ratio statistics} 150 UNIQUE_ID: {type: INT32, desc: unique id} 151 SCENE_ID: {type: STRING, desc: interation scene id} 152 PROCESS_NAME: {type: STRING, desc: process name} 153 MODULE_NAME: {type: STRING, desc: package name} 154 ABILITY_NAME: {type: STRING, desc: ability name} 155 PAGE_URL: {type: STRING, desc: page url} 156 UI_START_TIME: {type: UINT64, desc: animation start time of the scene in ArkUI} 157 RS_START_TIME: {type: UINT64, desc: animation start time of the scene in render service} 158 DURATION: {type: UINT64, desc: total animation time during the scene} 159 HITCH_TIME: {type: UINT64, desc: total hitch time during the scene} 160 HITCH_TIME_RATIO: {type: FLOAT, desc: hitch time ratio during the scene} 161 IS_FOLD_DISP: {type: BOOL, desc: 'default false, set true if fold screen in expand state'} 162 BUNDLE_NAME_EX: {type: STRING, desc: real package name when sceneboard start app} 163 164FIRST_FRAME_DRAWN: 165 __BASE: {type: BEHAVIOR, level: MINOR, tag: performance, desc: interaction jank statistics} 166 APP_PID: {type: INT32, desc: app process id} 167 168RS_NODE_LIMIT_EXCEEDED: 169 __BASE: {type: BEHAVIOR, level: MINOR, tag: performance, desc: rs node limit exceeded statistics} 170 RS_NODE_LIMIT: {type: UINT32, desc: the upper limit of the total number of rs nodes} 171 RS_ACTUAL_NODE: {type: UINT32, desc: current total number of rs nodes} 172 TIMESTAMP: {type: UINT64, desc: current timestamp} 173 RS_APP_WINDOW_TOTAL: {type: UINT32, desc: current total app windows on rs tree} 174 RS_TOP1_APP_NAME: {type: STRING, desc: name of current app with top1 rs nodes} 175 RS_TOP1_APP_NODE: {type: UINT32, desc: number of nodes of current app with top1 rs nodes} 176 RS_TOP2_APP_NAME: {type: STRING, desc: name of current app with top2 rs nodes} 177 RS_TOP2_APP_NODE: {type: UINT32, desc: number of nodes of current app with top2 rs nodes} 178 RS_TOP3_APP_NAME: {type: STRING, desc: name of current app with top3 rs nodes} 179 RS_TOP3_APP_NODE: {type: UINT32, desc: number of nodes of current app with top3 rs nodes} 180 181HGM_VOTER_INFO: 182 __BASE: {type: STATISTIC, level: MINOR, desc: hgm voter info statistics} 183 MSG: {type: STRING, desc: voter info} 184 185GPU_SUBHEALTH_MONITORING: 186 __BASE: {type: STATISTIC, level: MINOR, desc: GPU subhealth monitoring statistics} 187 WAIT_ACQUIRE_FENCE_TIME: {type: UINT64, desc: wait acquire fence time} 188 FRAME_RATE: {type: INT32, desc: real frame rate} 189 190IPC_DATA_OVER_ERROR: 191 __BASE: {type: STATISTIC, level: MINOR, desc: receive large commit transaction data} 192 PID: {type: INT32, desc: application pid} 193 UID: {type: INT32, desc: application uid} 194 BUNDLE_NAME: {type: STRING, desc: application package name} 195 TRANSACTION_DATA_SIZE: {type: UINT64, desc: total received transaction data size} 196 197RENDER_MEMORY_OVER_WARNING: 198 __BASE: {type: STATISTIC, level: MINOR, desc: warning of the memory applied by an application exceeds the threshold} 199 PID: {type: INT32, desc: application pid} 200 BUNDLE_NAME: {type: STRING, desc: application package name} 201 CPU_MEMORY: {type: UINT64, desc: cpu memory of the application} 202 GPU_MEMORY: {type: UINT64, desc: gpu memory of the application} 203 TOTAL_MEMORY: {type: UINT64, desc: total memory of the application} 204 205RENDER_MEMORY_OVER_ERROR: 206 __BASE: {type: STATISTIC, level: MINOR, desc: error of the memory applied by an application exceeds the threshold} 207 PID: {type: INT32, desc: application pid} 208 BUNDLE_NAME: {type: STRING, desc: application package name} 209 CPU_MEMORY: {type: UINT64, desc: cpu memory of the application} 210 GPU_MEMORY: {type: UINT64, desc: gpu memory of the application} 211 TOTAL_MEMORY: {type: UINT64, desc: total memory of the application} 212 213RS_HARDWARE_THREAD_LOAD_WARNING: 214 __BASE: {type: STATISTIC, level: CRITICAL, desc: add load warning for rs hardwarethread} 215 FRAME_RATE: {type: UINT16, desc: the refresh rate you set} 216 MISSED_FRAMES: {type: UINT32, desc: number of dropped frames} 217 FRAME_TIME: {type: UINT64, desc: frame length} 218 219RENDER_DRAWABLE_MULTI_ACCESS: 220 __BASE: {type: STATISTIC, level: CRITICAL, desc: multi thread competition occurs in the graphics drawing process} 221 MULTI_ACCESS_MSG: {type: STRING, desc: drawable multi-access information}