1# TraceStreamer 数据表概述 2 3TraceStreamer 可以将 trace 数据源转化为易于理解和使用的数据库。用户可以通过 SmartPerf 界面直观的研究系统跟踪数据,也可在理解 TraceStreamer 生成的数据库的基础上,在 TraceStreamer 的交互模式或者 Smartperf 的数据库查询模式下,使用 SQL 查询语句自由组装查看用户关心的数据。下文将对 TraceStreamer 生成的数据库进行详细描述,给用户使用 SQL 查询系统跟踪数据提供帮助。 4 5## TraceStreamer 输出的数据表分类 6 7- 常规泳道图数据表 8 ![GitHub Logo](../../figures/traceStreamer/db_common.png) 9- native memory 数据源相关表 10 ![GitHub Logo](../../figures/traceStreamer/db_native_memory.png) 11- perf 相关数据表 12 ![GitHub Logo](../../figures/traceStreamer/db_hiperf.png) 13- hisysevent 相关数据表 14 ![GitHub Logo](../../figures/traceStreamer/db_hisys_event.png) 15 16## TraceStreamer 输出数据库包含以下表格 17 18| 表名称 | 作用 | 19| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | 20| animation | 记录动效的响应时延和完成时延 | 21| app_name | 记录 HiSysEvent 事件的事件名与 IDE 部分事件的字段名为 APPNAME 中存放的相关信息的映射关系 | 22| app_startup | 记录了应用启动相关数据 | 23| args | 记录方法参数集合 | 24| bio_latency_sample | 记录 IO 操作相关方法调用,及调用栈数据 | 25| callstack | 记录调用堆栈和异步调用信息,其中 depth,stack_id 和 parent_stack_id 仅在非异步调用中有效。当 cookid 不为空时,为异步调用,此时 callid 为进程唯一号,否则为线程唯一号 | 26| clk_event_filter | 记录时钟相关的信息 | 27| clock_event_filter | 此结构用来维护时钟事件,cpu 与唯一的 ID 做关联 | 28| clock_snapshot | 时钟号和时间,时钟名的映射表 | 29| cpu_measure_filter | cpu 事件过滤器表 | 30| cpu_usage | 记录 CPU 使用率事件 | 31| datasource_clockid | 数据源和时钟号的映射表 | 32| data_dict | 记录常用的字符串,将字符串和索引关联,降低程序运行的内存占用,用作辅助数据 | 33| data_type | 记录数据类型和 typeId 的关联关系 | 34| device_info | 记录设备分辨率和帧率 | 35| device_state | 记录设备屏幕亮度,蓝牙,位置,wifi,音乐,媒体等信息 | 36| diskio | 记录磁盘读写数据事件 | 37| dynamic_frame | 记录动效帧的分辨率和结束时间等 | 38| ebpf_callstack | 记录了采样相关信息 | 39| file_system_sample | 记录了调用栈的相关信息 | 40| frame_maps | 记录应用到 RS 的帧的映射关系 | 41| frame_slice | 记录 RS(RenderService)和应用的帧渲染 | 42| gpu_slice | 记录 RS 的帧对应的 gpu 渲染时长 | 43| hidump | 记录 FPS(Frame Per Second)数据 | 44| hisys_event_measure | 记录了 HiSysEvent 事件相关数据,目前 HiSysEvent 事件包括了异常事件,IDE 事件,器件状态事件 | 45| instant | 记录 Sched_waking, sched_wakeup 事件, 用作 ThreadState 表的上下文使用 | 46| irq | 记录中断相关事件 | 47| js_config | 记录了 arkTs 数据采集的相关配置 | 48| js_cpu_profiler_node | 记录了 cpu profiler 中 node 节点的数据 | 49| js_cpu_profiler_sample | 记录了 cpu profiler 中 sample 节点的数据 | 50| js_heap_edges | 记录了 js 内存数据类对象对应的成员的信息 | 51| js_heap_files | 记录了 js 内存数据的名称和时间 | 52| js_heap_info | 记录了 js 内存数据类型,如 nodes 和 edges 的字段类型和数据总数 | 53| js_heap_location | 记录了 js 内存 location 节点相关数据 | 54| js_heap_nodes | 记录了 js 内存类对象和其成员的对应关系 | 55| js_heap_sample | 记录了 timeline 模式下的时间轴信息 | 56| js_heap_string | 记录了 js 内存数据中的字符串 | 57| js_heap_trace_function_info | 记录了 timeline 模式下的调用栈的每个函数信息 | 58| js_heap_trace_node | 记录了 timeline 模式下的调用栈信息 | 59| live_process | 记录了一些实时的进程中执行的一些数据 | 60| log | 记录 hilog 打印日志数据 | 61| measure | 记录所有的计量值 | 62| measure_filter | 记录一个递增的 filterid 队列,所有其他的 filter 类型在获取过程中,均从此数据列表中获取下一个可用的 filter_id 并做记录 | 63| memory_ashmem | 记录了进程所占用的 ashmem 相关信息 | 64| memory_dma | 记录了进程占用的 DMA 内存相关信息 | 65| memory_process_gpu | 记录进程占用 GPU 内存相关信息 | 66| memory_window_gpu | 记录窗口占用 GPU 内存相关信息 | 67| meta | 记录执行解析操作相关的基本信息 | 68| native_hook | 记录堆内存申请与释放相关的数据 | 69| native_hook_frame | 记录堆内存申请与释放相关的调用栈 | 70| native_hook_statistic | 记录堆内存申请与释放相关的统计信息 | 71| network | 抓取网络信息传输时产生的一些相关信息 | 72| paged_memory_sample | 记录内存操作相关方法调用,及调用栈数据 | 73| perf_callchain | 记录 Hiperf 采样数据的调用栈信息 | 74| perf_files | 记录 Hiperf 工具采集到的函数符号表和文件名 | 75| perf_report | 记录 Hiperf 工具采集数据时的配置信息。包括 | 抓取的事件类型,抓取数据的命令, 抓数据时指定的进程名称 | 76| perf_sample | 记录 Hiperf 工具的采样信息 | 77| perf_thread | 记录 Hiperf 工具采集到的进程和线程数据 | 78| process | 记录所有的进程信息 | 79| process_filter | 过滤进程 | 80| process_measure | 保存进程的所有计量值 | 81| process_measure_filter | 将进程 ID 作为 key1,进程的内存,界面刷新,屏幕亮度等信息作为 key2,唯一确定一个 filter_id | 82| raw | 此数据结构主要作为 ThreadState 的上下文使用,这张表是 sched_waking,sched_wakup, cpu_idle 事件的原始记录 | 83| sched_slice | 此数据结构主要作为 ThreadState 的上下文使用,这张表是 sched_switch 事件的原始记录 | 84| smaps | 记录进程的内存消耗的相关信息采样 | 85| stat | 此结果用来统计数据解析中各类数据的数据条数,数据和合法性,数据的匹配程度(begin-end),数据的损失等,查看此结构对应的表,可对数据源有基本的了解 | 86| static_initalize | 记录了 so 初始化相关数据 | 87| symbols | 记录系统调用名称和其函数指针的对应关系,trace 中用 addr 来映射 function_name 来节省存储空间 | 88| syscall | 记录用户空间函数与内核空间函数相互调用记录 | 89| sys_event_filter | 记录所有的 filter | 90| sys_mem_measure | 记录了所有的系统内存相关的测量信息 | 91| task_pool | 记录任务池相关数据,与 callstack 表相关联 | 92| thread | 记录所有的线程信息 | 93| thread_filter | 过滤线程 | 94| thread_state | 记录线程状态信息 | 95| trace_config | 记录 trace 数据源,proto 的事件-plugin 与其 process_name | 96| trace_range | 记录 ftrace 数据与其他类型数据的时间交集,供前端展示数据时使用 | 97 98## 表与事件来源 99 100| 表名称 | 事件源 | 插件名 | 备注 | 101| --------------------------- | ------ | --------------------- | -------------------------------------------------- | 102| animation | - | ftrace-plugin | 记录动效的响应时延和完成时延 | 103| app_name | - | hisysevent-plugin | JSON 数据源 | 104| args | - | ftrace-plugin | 配合 callstack 使用 | 105| bio_latency_sample | - | - | IO 操作相关方法调用,及调用栈数据 | 106| callstack | - | ftrace-plugin | 异步或非异步的调用 | 107| cpu_measure_filter | - | ftrace-plugin | cpu 跟踪器,cpu 频率等 | 108| cpu_usage | - | cpu-plugin | cpu 使用率 | 109| data_dict | 通用的 | - | 所有字符串的记录 | 110| data_type | 通用的 | - | 辅助表 | 111| device_info | - | ftrace-plugin | 记录设备分辨率和帧率 | 112| device_state | 通用的 | hisysevent-plugin | 记录设备屏幕亮度,蓝牙,位置等信息 | 113| dynamic_frame | - | ftrace-plugin | 动效帧的分辨率和结束时间等 | 114| ebpf_callstack | - | - | 磁盘读写相关的数据 | 115| file_system_callstack | - | - | ebpf 文件系统 | 116| file_system_sample | - | - | ebpf 文件系统 | 117| frame_maps | - | ftrace-plugin | 帧渲染数据,app 到 RS 的映射 | 118| frame_slice | - | ftrace-plugin | 帧渲染数据 | 119| gpu_slice | - | ftrace-plugin | gpu 渲染时长 | 120| hidump | - | hidump-plugin | FPS 数据 | 121| hisys_event_measure | - | hisysevent-plugin | JSON 数据源 | 122| instant | - | ftrace-plugin | waking 和 wakeup 事件 | 123| irq | - | ftrace-plugin | 记录中断事件 | 124| js_config | - | arkts-plugin | arkTs 数据采集的配置 | 125| js_cpu_profiler_node | - | arkts-plugin | 记录了 cpu profiler 中 node 节点的数据 | 126| js_cpu_profiler_sample | - | arkts-plugin | 记录了 cpu profiler 中 sample 节点的数据 | 127| js_heap_edges | - | arkts-plugin | js 内存数据 | 128| js_heap_files | - | arkts-plugin | js 内存数据 | 129| js_heap_info | - | arkts-plugin | js 内存数据 | 130| js_heap_location | - | arkts-plugin | js 内存数据 | 131| js_heap_nodes | - | arkts-plugin | js 内存数据 | 132| js_heap_sample | - | arkts-plugin | js 内存数据 | 133| js_heap_string | - | arkts-plugin | js 内存数据 | 134| js_heap_trace_function_info | - | arkts-plugin | js 内存数据 | 135| js_heap_trace_node | - | arkts-plugin | js 内存数据 | 136| app_startup | - | ftrace-plugin | 应用启动数据 | 137| static_initalize | - | ftrace-plugin | so 初始化数据 | 138| live_process | - | process-plugin | Monitor 数据 | 139| network | - | network-plugin | Monitor 数据 | 140| diskio | - | diskio-plugin | Monitor 数据 | 141| log | - | hilog-plugin | 系统日志 | 142| measure | 通用的 | - | 系统中的计量值(数值型) | 143| measure_filter | 通用的 | - | 计量值的查询辅助表 | 144| memory_ashmem | - | memory-plugin | 进程所占用 ashmem 相关信息 | 145| memory_dma | - | memory-plugin | 进程占用的 DMA 内存相关信息 | 146| memory_process_gpu | - | memory-plugin | 进程占用 GPU 内存相关信息 | 147| memory_window_gpu | - | memory-plugin | 窗口占用 GPU 内存相关信息 | 148| meta | 通用的 | - | 记录解析现场数据(解析时间,数据类型,解析工具等) | 149| native_hook | - | nativehook/hookdaemon | malloc && mmap 内存数据 | 150| native_hook_frame | - | nativehook/hookdaemon | native_hook 调用栈数据 | 151| native_hook_statistic | - | nativehook/hookdaemon | malloc && mmap 统计数据 | 152| paged_memory_sample | - | - | 网络数据传输相关的信息 | 153| perf_callchain | - | perf-plugin | perf 数据(非插件模式) | 154| perf_files | - | - | perf 数据(非插件模式) | 155| perf_report | - | - | perf 数据(非插件模式) | 156| perf_sample | - | - | perf 数据(非插件模式) | 157| perf_thread | - | - | perf 数据(非插件模式) | 158| process | - | ftrace-plugin | 进程信息 | 159| process_filter | - | ftrace-plugin | 进程计量表的辅助表 | 160| process_measure | - | ftrace-plugin | 进程内存 | 161| process_measure_filter | - | ftrace-plugin | process_measure 的辅助表 | 162| raw | - | ftrace-plugin | 线程唤醒信息 | 163| sched_slice | - | ftrace-plugin | 配合现场状态表使用,dsched_switch 的原始数据 | 164| smaps | - | memory-plugin | 进程的内存消耗 | 165| stat | 通用的 | - | 记录不同种类数据的数据量 | 166| symbols | - | ftrace-plugin | 符号表(地址到字符串的映射) | 167| syscall | - | ftrace-plugin | 系统调用 sys_enter/exit | 168| sys_event_filter | - | ftrace-plugin | | 169| sys_mem_measure | - | memory-plugin | 系统内存 | 170| thread | 通用的 | - | 线程信息(常用) | 171| thread_state | 通用的 | ftrace-plugin | 线程调度图(常用) | 172| trace_config | 通用的 | hisysevent-plugin | 记录 trace 数据源 | 173| trace_range | 通用的 | - | trace 数据的时长 | 174| thread_filter | 通用的 | ftrace-plugin | 线程计量跟踪表(比较少用) | 175| clock_snapshot | 通用的 | 通用的 | 时钟号和时间,时钟名的映射表 | 176| datasource_clockid | 通用的 | 通用的 | 数据源和时钟号的映射表 | 177| task_pool | - | - | 任务池数据 | 178 179## **_表格关系图_** 180 181--- 182 183### 进程表与线程表关系 184 185当一个进程或者线程结束后,系统可能再次将该进程号或者线程号分配给其他进程或者线程,造成一个进程号或线程号代表多个进程或线程的情况。 186Process 和 Thread 表中的 id 字段可以唯一标识进程和线程。process 表中的 id 在其他表中用作 ipid 字段。thread 表中的 id 在其他表中用作 itid 字段。 187thread 表通过 ipid 字段关联 process 表的 id 字段,可以查询线程归属进程。 188![GitHub Logo](../../figures/traceStreamer/process_thread.png) 189 190### 查询举例 191 192- 已知 pid = 123,查看当前进程下的所有线程信息,可以使用如下 SQL 语句: 193 `select thread.* from thread, process where process.pid = 123 and thread.ipid = process.id` 194 195### 线程表与线程运行状态表关系图 196 197thread_state 表记录所有线程的运行状态信息,包含 ts(状态起始时间),dur(状态持续时间),cpu, itid, state(线程状态)。 thread 表的 id 字段与 thread_state 表的 itid 字段相关联。 198![GitHub Logo](../../figures/traceStreamer/thread_state.png) 199 200### 查询举例 201 202- 已知 tid = 123, 查看当前线程的所有运行状态信息,可以使用如下 SQL 语句: 203 `select thread_state.* from thread, thread_state where thread.tid = 123 and thread.id = thread_state.itid` 204 205### 堆内存数据变化表关系图 206 207native_hook 表记录堆内存申请(AllocEvent)和释放(FreeEvent)数据。native_hook 表通过 ipid 和 itid 字段分别与 process 和 thread 表的 id 字段关联,通过 callChainId 与 native_hook_frame 表的 callChainId 字段相关联。 208native_hook 表字段解释如下: 209 210- callChainId:唯一标识一次堆内存申请或释放, 通过与 native_hook_frame 表关联可以拿到当前申请或释放的函数调用堆栈。 211- addr:堆内存申请/释放的地址。 212- native_hook_size:堆内存申请/释放的大小。 213 214native_hook_frame 表记录内存申请/释放的调用堆栈。通过 callChainId 区分一组调用堆栈,depth 为堆栈深度,depth 为 0 时,表示当前行为栈顶数据。 215![GitHub Logo](../../figures/traceStreamer/dump_and_mem.png) 216 217native_hook_statistic 表记录内存申请/释放的统计信息。通过 callChainId 区分一组调用堆栈。每个统计事件将记录当前事件的 callChainId,并统计当前调用栈内存分配/释放的总次数和总大小。 218![GitHub Logo](../../figures/traceStreamer/db_native_hook_statistic.png) 219 220### 查询举例 221 222- 已知 tid = 123,查看当前线程的所有堆内存变化信息,可以使用如下 SQL 语句: 223 `select native_hook.* from thread, native_hook where thread.tid = 123 and thread.id = native_hook.itid` 224- 已知 callchainid = 1, 查看当前内存变化调用堆栈 225 `select * from native_hook_frame where callchain_id = 1` 226- 已知 callchainid = 1, 查看当前内存变化调用堆栈对应的统计信息 227 `select * from native_hook_statistic where callchain_id = 1` 228 229### 日志表与进程线程表关系图 230 231log 表记录日志信息。可以根据 seq 字段的连续性,来判断是否存在日志丢失的情况。 232![GitHub Logo](../../figures/traceStreamer/log.png) 233 234### 查询举例 235 236- 已知 tid = 123,查看当前线程的所有 error 级别的日志,可以使用如下 SQL 语句: 237 `select * from log where tid = 123 and level = "error"` 238 239### perf 表之间关系图 240 241- perf_report:此表记录 Hiperf 工具采集数据时的配置信息。 242- perf_thread:此表记录 hiperf 采集到的进程和线程数据。 243- perf_sample:此表中记录 Hiperf 工具的采样信息。sample_id 唯一表识一次采样记录,与 perf_callchain 表中的 sample_id 字段相关联。thread_id 为线程号。与 perf_thread 表中的 thread_id 字段相关联。event_type_id 为当前采样的事件类型 id,与 perf_report 表中的 id 字段相关联。 244- perf_callchain:此表格记录的是调用栈信息。 245- Perf_files:此表格主要存放着获取到的函数符号表和文件信息。file_id 唯一表识一个文件,与 perf_callchain 表中的 file_id 字段相关联。 246 247![GitHub Logo](../../figures/traceStreamer/perf.png) 248 249### 查询举例 250 251- 已知同步后的时间戳为 28463134340470,查询采样数据 252 `select * from perf_sample where timestamp_trace = 28463134340470` 253 254- 已知同步后的时间戳为 28463134340470,查询采样数据对应的的调用栈信息 255 `select A.* from perf_callchain as A, perf_sample as B where B.timestamp_trace = 28463134340470 and A.sample_id = B.sample_id` 256 257- 已知同步后的时间戳为 28463134277762,查询采样数据的函数名及文件路径 258 `select A.*, B.name, C.path from perf_sample as A, perf_callchain as B, perf_files as C where A.timestamp_trace = 28463134277762 and B.sample_id = A.sample_id and B.callchain_id = 0 and B.file_id = C.file_id and C.serial_id = 0` 259 260- 已知线程号为 6700,查询所有的采样记录 261 `select * from perf_sample where thread_id = 6700` 262 263- 已知进程号为 7863,查询所有的采样记录 264 `select A.* from perf_sample as A, perf_thread as B where B.process_id = 7863 and A.thread_id = B.thread_id` 265 266- 查询所有采样对应的事件类型 267 `select A.*, B.report_value from perf_sample as A, perf_report as B where A.event_type_id = B.id` 268 269### 帧渲染表之间的关系图 270 271frame_slice: 记录 RS(RenderService)和应用的帧渲染。 272gpu_slice: 记录 RS 的帧对应的 gpu 渲染时长。 273frame_maps: 记录应用到 RS 的帧的映射关系。 274![GitHub Logo](../../figures/traceStreamer/frames.jpg) 275 276### 查询示例 277 278- 已知进程,查询进程对应的实际渲染帧 279 `select * from frame_slice where ipid = 1` 280 281- 已知进程的实际渲染帧的 dst 为 12,求其对应的 RS 进程的渲染帧 282 `select * from frame_slice where id = 12 ` 283 284- 已知 RS 的渲染帧在 frame_slice 中所在行是 14,求其对应的 GPU 渲染时长 285 `select * from gpu_slice where frame_row = 14` 286 287### JS 内存数据表关系图 288 289js_heap_files:记录 js 内存数据的文件名和文件索引 290 291![1683163158954](image/des_tables/js_heap_files.png) 292 293js_heap_nodes: 记录 js 内存类对象数据 294js_heap_edges: 记录 js 内存类对象的成员数据 295js_heap_trace_node: 记录 timeline 的调用栈信息 296js_heap_sample: 记录 timeline 的时间轴信息 297![1683163373206](image/des_tables/js_heap_nodes.png) 298 299## TraceStreamer 输出数据库表格详细介绍 300 301### app_name 表 302 303#### 表结构 304 305| Columns Name | SQL TYPE | 306| ------------ | -------- | 307| id | INT | 308| flag | INT | 309| app_name | INT | 310| app_key | INT | 311 312#### 表描述 313 314记录 HiSysevent 上报事件中的 IDE 相关事件中 APPNAME 的表关联信息。 315 316#### 字段详细描述 317 318- id:用于与表 hisys_event_measure 表中的 key_id 字段做对应 319- app_name:对应的事件的信息 ID 320- app_key:对应的事件的 APPNAME 字段的信息 ID 321 322### args 表 323 324#### 表结构 325 326| Columns Name | SQL TYPE | 327| ------------ | -------- | 328| id | INT | 329| key | INT | 330| datatype | INT | 331| value | INT | 332| argset | INT | 333 334#### 表描述 335 336记录方法的参数集合。 337 338#### 字段详细描述 339 340- key:键 341- datatype:数据类型 342- value:取值 343- argset:参数集合 344 345### bio_latency_sample 表 346 347#### 表结构 348 349| Columns Name | SQL TYPE | 350| ------------ | -------- | 351| id | INT | 352| callchain_id | INT | 353| datatype | INT | 354| type | INT | 355| ipid | INT | 356| itid | INT | 357| start_ts | INT | 358| end_ts | INT | 359| latency_dur | INT | 360| tier | INT | 361| size | INT | 362| block_number | TEXT | 363| path | TEXT | 364| dur_per_4k | INT | 365 366#### 表描述 367 368记录 IO 操作相关方法调用,及调用栈数据。 369 370#### 字段详细描述 371 372- callchain_id:调用栈的唯一标识。与 ebpf_callstack 表中 Callchain_id 字段关联 373- type:事件类型其取值为枚举类型(DATA_READ,DATA_WRITE,METADATA_READ,- METADATA_WRITE,PAGE_IN,PAGE_OUT) 374- ipid:TS 内部进程号 375- itid:TS 内部线程号 376- start_ts:开始时间 377- end_ts:结束时间 378- latency_dur:总延迟 379- tier:优先级 380- size:文件大小 381- block_number:数据量大小(一般为 4K) 382- path:路径 id 383- dur_per_4k:每 4k 数据的平均延迟 384 385### callstack 表 386 387#### 表结构 388 389| Columns Name | SQL TYPE | 390| ------------ | -------- | 391| id | INT | 392| ts | INT | 393| dur | INT | 394| callid | INT | 395| cat | TEXT | 396| identify | INT | 397| name | TEXT | 398| depth | INT | 399| cookie | INT | 400| parent_id | INT | 401| argsetid | INT | 402| chainId | TEXT | 403| spanId | TEXT | 404| parentSpanId | TEXT | 405| flag | TEXT | 406| args | TEXT | 407 408#### 表描述 409 410记录调用堆栈和异步调用信息,其中 depth,stack_id 和 parent_stack_id 仅在非异步的调用中有效。当 cookid 不为空时,为异步调用,此时 callid 为进程唯一号,否则为线程唯一号。 411 412#### 字段详细描述 413 414- dur:调用时长 415- callid:调用者的 ID,比如针对线程表里面的 id 416- identify:调用栈的名字,与表 dataDict 相关联能够取出其 string 值 417- name:调用名称 418- depth:调用深度 419- parent_id:父调用的 id 420- spanId:分布式调用关联关系 421- flag:C 表示分布式调用发送方,S 表示接受方 422- args:分布式调用函数参数 423 424### clk_event_filter 表 425 426#### 表结构 427 428| Columns Name | SQL TYPE | 429| ------------ | -------- | 430| id | INT | 431| type | TEXT | 432| name | TEXT | 433| cpu | INT | 434 435#### 表描述 436 437记录时钟信息。 438 439#### 字段详细描述 440 441- Type:时钟事件类型 442- Name:时钟事件名称 443 444### clock_event_filter 表 445 446#### 表结构 447 448| Columns Name | SQL TYPE | 449| ------------ | -------- | 450| id | INT | 451| type | TEXT | 452| name | TEXT | 453| cpu | INT | 454 455#### 表描述 456 457此结构用来维护时钟事件,cpu 与唯一的 ID 做关联。 458 459#### 主要字段描述 460 461- Type:时钟事件类型 462- Name:时钟事件名称 463 464### cpu_measure_filter 表 465 466#### 表结构 467 468| Columns Name | SQL TYPE | 469| ------------ | -------- | 470| id | INT | 471| type | TEXT | 472| name | TEXT | 473| cpu | INT | 474 475#### 表描述 476 477将 cpu 号作为 key1,cpu 的频率,空闲等状态作为 key2,唯一确定一个 filter_id。 478 479#### 主要字段描述 480 481- Id(filterid), cpu:事件名称,cpu 号 482 483### cpu_usage 表 484 485#### 表结构 486 487| Columns Name | SQL TYPE | 488| ------------ | -------- | 489| ts | INT | 490| dur | INT | 491| total_load | REAL | 492| user_load | REAL | 493| system_load | REAL | 494| process_num | INT | 495 496#### 表描述 497 498记录了与 CPU 使用率相关的数据。 499 500#### 主要字段描述 501 502- total_load:总负荷 503- user_load:用户负载 504- system_load:系统负载 505- process_num:线程数 506 507### data_dict 表 508 509#### 表结构 510 511| Columns Name | SQL TYPE | 512| ------------ | -------- | 513| id | INT | 514| data | TEXT | 515 516#### 表描述 517 518此表记录了一个数据类型 ID 和字符串的映射。 519 520#### 主要字段描述 521 522- id:索引值 523- data:字符串 524 525### data_type 表 526 527#### 表结构 528 529| Columns Name | SQL TYPE | 530| ------------ | -------- | 531| id | INT | 532| typeId | INT | 533| desc | TEXT | 534 535#### 表描述 536 537此表记录了一个数据类型 ID 和数据描述的映射。 538 539#### 主要字段描述 540 541- typeId::数据类型 id 542- Desc:数据类型描述 543 544### diskio 表 545 546#### 表结构 547 548| Columns Name | SQL TYPE | 549| -------------- | -------- | 550| ts | INT | 551| dur | INT | 552| rd | INT | 553| wr | INT | 554| rd_speed | REAL | 555| wr_speed | REAL | 556| rd_count | INT | 557| wr_count | INT | 558| rd_count_speed | REAL | 559| wr_count_speed | REAL | 560 561#### 表描述 562 563记录了与磁盘读写相关的数据。 564 565#### 主要字段描述 566 567- rd_sectors_kb:读数据的速度 568- wr_sectors_kb:写入数据的速度 569- ts:时间戳 570 571### ebpf_callstack 表 572 573#### 表结构 574 575| Columns Name | SQL TYPE | 576| ------------ | -------- | 577| id | INT | 578| callchain_id | INT | 579| depth | TEXT | 580| ip | TEXT | 581| symbols_id | INT | 582| file_path_id | INT | 583 584#### 表描述 585 586记录了与磁盘读写相关的数据。 587 588#### 主要字段描述 589 590- callchain_id:调用栈的唯一标识 591- depth:调用栈深度。取值为零时表示栈顶 592- ip:调用栈 ip 593- symbols_id:调用栈函数名称, 与 data_dict 中的 id 字段关联 594- file_path_id:调用栈函数所属文件路径, 与 data_dict 中的 id 字段关联 595 596### file_system_sample 表 597 598#### 表结构 599 600| Columns Name | SQL TYPE | 601| --------------- | -------- | 602| callchain_id | INT | 603| type | INT | 604| ipid | INT | 605| itid | INT | 606| start_ts | INT | 607| end_ts | INT | 608| dur | INT | 609| return_value | TEXT | 610| error_code | TEXT | 611| fd | INT | 612| file_id | INT | 613| size | INT | 614| first_argument | TEXT | 615| second_argument | TEXT | 616| third_argument | TEXT | 617| fourth_argument | TEXT | 618 619#### 表描述 620 621记录了调用栈的相关信息。 622 623#### 主要字段描述 624 625- callchain_id:调用栈信息 ID 与 file_system_callstack 表中 call_chain_id 字段相关联 626- type:对应文件操作 open,close,read,write 627- ipid:线程所属的进程 ID 628- start_ts:开始时间 629- end_ts:结束时间 630- dur:耗时 631- return_value:文件操作的返回值 632- error_code:文件操作发生错误时的错误码 633- fd:文件描述符 fd 634- file_id:当 type 为 open,close 时为其操作的文件路径,当 type 为 read,write 时为固定字段(null) 635- size:在 type 为 read,write 时对应的文件的读或者写的大小 636- first_argument:参数一 637- second_argument:参数二 638- third_argument:参数三 639- fourth_argument:参数四 640 641### hidump 表 642 643#### 表结构 644 645| Columns Name | SQL TYPE | 646| ------------ | -------- | 647| id | INT | 648| ts | INT | 649| fps | INT | 650 651#### 表描述 652 653此表记录了设备的帧率信息,fps。 654 655#### 相关字段描述 656 657- fps:帧率值 658 659### hisys_event_measure 表 660 661#### 表结构 662 663| Columns Name | SQL TYPE | 664| ------------ | -------- | 665| serial | INT | 666| ts | INT | 667| name_id | INT | 668| key_id | INT | 669| type | INT | 670| int_value | REAL | 671| string_value | TEXT | 672 673#### 表描述 674 675记录所有的 system event 事件的相关数据,及其相关表的映射信息。 676 677#### 相关字段描述 678 679- serial:每条数据过来携带唯一一条 id 作为标识 680- name_id:存放事件对应的 ID,与 data_dict 表相关联可以取出对应的字段 681- key_id:存放事件包含的字段的 ID,与表 app_name 的 id 字段相关联,找到 app_name 表的 id 字段对应行的 app_key 字段与表 data_dict 表相关联取出对应的字段 682- type:存放事件所包含的字段的值所属的类型为 int 型还是 string(0 为 int,1 为 string) 683- int_value:存放本事件所包含的字段的 int 型的值 684- string_value:存放本事件所包含的字段的 string 型的值 685 686### instant 表 687 688#### 表结构 689 690| Columns Name | SQL TYPE | 691| ------------ | -------- | 692| ts | INT | 693| name | TEXT | 694| ref | INT | 695| wakeup_from | INT | 696| ref_type | TEXT | 697| value | REAL | 698 699#### 表描述 700 701记录了系统中的 waking 和 wakeup 事件。 702 703#### 字段描述 704 705- ts:唤醒时间 706- name:唤醒事件的名称 707- ref:索引号 708- wakeup_from:唤醒当前线程的内部线程号(itid) 709- ref_type:描述了 value 字段的类型(一般取值为 itid) 710- value:一般为当前线程的内部线程号取值 711 712### irq 表 713 714#### 表结构 715 716| Columns Name | SQL TYPE | 717| ------------ | -------- | 718| id | INT | 719| ts | INT | 720| dur | INT | 721| callid | INT | 722| cat | TEXT | 723| name | TEXT | 724| depth | INT | 725| cookie | INT | 726| parent_id | INT | 727| argsetid | INT | 728| chainId | TEXT | 729| spanId | TEXT | 730| parentSpanId | TEXT | 731| flag | TEXT | 732| args | TEXT | 733 734#### 表描述 735 736记录中断相关事件。 737 738#### 相关字段描述 739 740- dur:调用中断时长 741- callid:调用中断者的 ID,比如针对线程表里面的 id 742- cat:调用栈数据类型(取值范围:irq,softirq...) 743- name:调用中断的名称 744- depth:中断调用的深度 745- parent_id:父调用中断的 id 746- spanId:分布式调用中断关联关系 747 748### js_config 表 749 750#### 表结构 751 752| Columns Name | SQL TYPE | 753| --------------------- | -------- | 754| pid | INT | 755| type | INT | 756| interval | INT | 757| capture_numeric_value | INT | 758| trace_allocation | INT | 759| enable_cpu_profiler | INT | 760| cpu_profiler_interval | INT | 761 762#### 表描述 763 764记录 arkTs 数据采集的相关配置。 765 766#### 相关字段描述 767 768- pid: 目标进程 ID。 769- type: JS 数据类型,取值与枚举 HeapType 对应,0 表示 JS 内存数据为 snapshot 类型,1 表示 JS 内存数据为 timeline 类型,-1 表示没有 JS 内存数据。 770- interval: 当 type=0 时生效,单位是秒,表示一次 snapshot 事件和下一次 snapshot 事件之间的间隔。 771- capture_numeric_value: 当 type=0 时生效,表示是否同时抓取 numeric。 772- track_allocation: 当 type=1 时生效,表示是否抓取 allocations。 773- enable_cpu_profiler: 表示是否存在 cpuprofiler 的数据。 774- cpu_profiler_interval: 表示 cpuprofiler 数据的采集间隔。 775 776### js_cpu_profiler_node 表 777 778#### 表结构 779 780| Columns Name | SQL TYPE | 781| -------------- | -------- | 782| function_id | INT | 783| function_index | INT | 784| script_id | INT | 785| url_index | INT | 786| line_number | INT | 787| column_number | INT | 788| hit_count | INT | 789| children | INT | 790| parent_id | INT | 791 792#### 表描述 793 794记录 cpu profiler 中 node 节点的数据。 795 796#### 相关字段描述 797 798- function_id: 函数的 ID 号。 799- function_index: 函数名称在 data_dict 中的索引号。 800- script_id: 关联到的类对象所在文件的绝对路径 ID。 801- url_index: 关联到的类对象所在文件的绝对路径名称在 data_dict 中的索引号。 802- line_number: 类对象所在文件的行号。 803- column_number: 类对象所在文件的列号。 804- hit_count: 采样次数。 805- children: 子节点的 id 号。 806- parent_id: 父节点的 id 号。 807 808### js_cpu_profiler_sample 表 809 810#### 表结构 811 812| Columns Name | SQL TYPE | 813| ------------ | -------- | 814| id | INT | 815| function_id | INT | 816| start_time | INT | 817| end_time | INT | 818| dur | INT | 819 820#### 表描述 821 822记录了 cpu profiler 中 sample 节点的数据。 823 824#### 相关字段描述 825 826- id: ts 内部 ID 号。 827- function_id: 函数的 ID 号。 828- start_time: 数据上报的起始时间。 829- end_time: 数据上报的终止时间。 830- dur: 数据上报的间隔时间。 831 832### js_heap_edges 表 833 834#### 表结构 835 836| Columns Name | SQL TYPE | 837| ------------- | -------- | 838| file_id | INT | 839| edge_index | INT | 840| type | INT | 841| name_or_index | INT | 842| to_node | INT | 843| from_node_id | INT | 844| to_node_id | INT | 845 846#### 表描述 847 848记录 js 内存数据类对象对应的成员的信息。 849 850#### 相关字段描述 851 852- file_id:文件 ID 853- edge_index:成员的索引号 854- type:成员的类型,取值范围为 js_heap_info 表中的 edge_types 855- name_or_index:数据名称,取值为 js_heap_string 表中的下标索引 856- to_node:此成员指向的类对象在 nodes 数组中的索引 857- from_node_id:类对象 ID,该类对象指向此成员数据 858- to_node_id:此成员指向到的类对象 nodes 数组中的 ID 859 860### js_heap_files 表 861 862#### 表结构 863 864| Columns Name | SQL TYPE | 865| ------------ | -------- | 866| id | INT | 867| file_name | TEXT | 868| start_time | INT | 869| end_time | INT | 870| pid | INT | 871 872#### 表描述 873 874记录了 js 内存数据的文件名称和时间。 875 876#### 相关字段描述 877 878- id:文件 ID 879- file_name:文件名称 880- start_time:数据抓取的起始时间 881- end_time:数据抓取的终止时间 882- pid:进程号 883 884### js_heap_info 表 885 886#### 表结构 887 888| Columns Name | SQL TYPE | 889| ------------ | -------- | 890| file_id | INT | 891| key | TEXT | 892| type | INT | 893| int_value | INT | 894| str_value | TEXT | 895 896#### 表描述 897 898记录了 js 内存数据类型,如 nodes 和 edges 的字段类型和数据总数。 899 900#### 相关字段描述 901 902- file_id:文件 ID 903- key:类型名称 904- type:数据类型索引 905- int_value:int 类型的数据值,如 count 类型数据 906- str_value:string 类型的数据值,如 typename 907 908### js_heap_location 表 909 910#### 表结构 911 912| Columns Name | SQL TYPE | 913| ------------ | -------- | 914| file_id | INT | 915| object_index | INT | 916| script_id | INT | 917| line | INT | 918| column | INT | 919 920#### 表描述 921 922记录了 js 内存 location 节点相关数据,此表目前无抓取到的数据。 923 924#### 相关字段描述 925 926- file_id:文件 ID 927- object_index:与 location 关联的类对象的索引,取值为 js_heap_nodes 的下标索引 928- script_id:关联到的类对象所在文件的绝对路径 ID 929- line:在类对象所在的文件中的行号 930- column:在类对象所在的文件中的列号 931 932### js_heap_nodes 表 933 934#### 表结构 935 936| Columns Name | SQL TYPE | 937| ------------- | -------- | 938| file_id | INT | 939| node_index | TEXT | 940| type | INT | 941| name | INT | 942| id | TEXT | 943| self_size | INT | 944| edge_count | INT | 945| trace_node_id | INT | 946| detachedness | INT | 947 948#### 表描述 949 950记录了 js 内存数据中类对象的数据。 951 952#### 相关字段描述 953 954- file_id:文件 ID 955- node_index:类对象的索引 956- type:类对象的类型 957- name:类对象的名称 958- id:类对象的唯一 ID 959- self_size:该类对象所有成员的大小(以字节为单位) 960- edge_count:该类对象指向的类成员的个数 961- trace_node_id:该类对象关联到 js_heap_trace_node 表中的调用栈 ID 962- detachedness:是否可以从 window 全局对象访问此节点,0 表示是,1 表示否 963 964### js_heap_sample 表 965 966#### 表结构 967 968| Columns Name | SQL TYPE | 969| ---------------- | -------- | 970| file_id | INT | 971| timestamp_us | INT | 972| last_assigned_id | INT | 973 974#### 表描述 975 976记录了 timeline 模式下的时间轴信息。 977 978#### 相关字段描述 979 980- file_id:文件 ID 981- timestamp_us:时间信息 982- last_assigned_id:当前时间点的 id 983 984### js_heap_string 表 985 986#### 表结构 987 988| Columns Name | SQL TYPE | 989| ------------ | -------- | 990| file_id | INT | 991| file_index | INT | 992| string | TEXT | 993 994#### 表描述 995 996记录了 js 内存数据中的字符串。 997 998#### 相关字段描述 999 1000- file_id:文件 ID 1001- file_index:索引 1002- string:对应的字符串信息 1003 1004### js_heap_trace_function_info 表 1005 1006#### 表结构 1007 1008| Columns Name | SQL TYPE | 1009| -------------- | -------- | 1010| file_id | INT | 1011| function_index | INT | 1012| function_id | INT | 1013| name | INT | 1014| script_name | INT | 1015| script_id | INT | 1016| line | INT | 1017| column | INT | 1018 1019#### 表描述 1020 1021记录了 timeline 模式下的调用栈的每个函数信息。 1022 1023#### 相关字段描述 1024 1025- file_id:文件 ID 1026- function_index:函数索引 1027- function_id:函数 ID 1028- name:函数名称 1029- script_name:关联到的类对象所在文件的绝对路径名称 1030- script_id:关联到的类对象所在文件的绝对路径 ID 1031- line:在类对象所在的文件中的行号 1032- column:在类对象所在的文件中的列号 1033 1034### js_heap_trace_node 表 1035 1036#### 表结构 1037 1038| Columns Name | SQL TYPE | 1039| ------------------- | -------- | 1040| file_id | INT | 1041| id | INT | 1042| function_info_index | INT | 1043| count | INT | 1044| size | INT | 1045| parent_id | INT | 1046 1047#### 表描述 1048 1049记录了 timeline 模式下的调用栈的信息。 1050 1051#### 相关字段描述 1052 1053- file_id:文件 ID 1054- id:调用栈节点索引 1055- function_info_index:函数信息索引 1056- count:调用栈个数 1057- size:调用栈大小 1058- parent_id:调用栈父节点 1059 1060### app_startup 表 1061 1062#### 表结构 1063 1064| Columns Name | SQL TYPE | 1065| ------------ | -------- | 1066| call_id | INT | 1067| ipid | INT | 1068| tid | INT | 1069| start_time | INT | 1070| end_time | INT | 1071| start_name | INT | 1072| packed_name | INT | 1073 1074#### 表描述 1075 1076记录了应用启动的相关信息。 1077 1078#### 相关字段描述 1079 1080- call_id:调用者的 ID,比如针对线程表里面的 id 1081- ipid:内部进程号 1082- tid:内部线程号 1083- start_time:阶段开始时间 1084- end_time:阶段结束时间 1085- start_name:阶段名称 1086- packed_name:应用名称 1087 1088### static_intialize 表 1089 1090#### 表结构 1091 1092| Columns Name | SQL TYPE | 1093| ------------ | -------- | 1094| call_id | INT | 1095| ipid | INT | 1096| tid | INT | 1097| start_time | INT | 1098| end_time | INT | 1099| so_name | INT | 1100| depth | INT | 1101 1102#### 表描述 1103 1104记录了 so 初始化的相关信息。 1105 1106#### 相关字段描述 1107 1108- call_id:调用者的 ID,比如针对线程表里面的 id 1109- ipid:内部进程号 1110- tid:内部线程号 1111- start_time:阶段开始时间 1112- end_time:阶段结束时间 1113- so_name:so 文件名称 1114- depth:泳道图的深度 1115 1116### live_process 表 1117 1118#### 表结构 1119 1120| Columns Name | SQL TYPE | 1121| ----------------- | -------- | 1122| ts | INT | 1123| dur | INT | 1124| cpu_time | INT | 1125| process_id | INT | 1126| process_name | TEXT | 1127| parent_process_id | INT | 1128| uid | INT | 1129| user_name | TEXT | 1130| cpu_usage | REAL | 1131| pss_info | INT | 1132| thread_num | INT | 1133| disk_writes | INT | 1134| disk_reads | INT | 1135 1136#### 表描述 1137 1138记录了一些实时的进程中执行的一些数据(Monitor)。 1139 1140#### 主要字段描述 1141 1142- process_id:进程 id 1143- process_name:进程名 1144- parent_process_id:父进程的 id 1145- uid:用户 id 1146- user_name:用户名 1147- cpu_usage:cpu 使用率 1148- pss_info:进程信息 1149- thread_num:线程数量 1150- disk_writes:磁盘写量 1151- disk_reads:磁盘读量 1152 1153### log 表 1154 1155#### 表结构 1156 1157| Columns Name | SQL TYPE | 1158| ------------ | -------- | 1159| seq | INT | 1160| ts | INT | 1161| pid | INT | 1162| tid | INT | 1163| level | TEXT | 1164| tag | TEXT | 1165| context | TEXT | 1166| origints | INT | 1167 1168#### 表描述 1169 1170记录日志信息。 1171 1172#### 关键字段描述 1173 1174- Seq:日志序号,保证日志解析的准确性 1175- Ts:打印日志时间 1176- Pid:日志的进程号 1177- Tid:日志的线程号 1178- Level:日志级别 1179- Tag:日志标签 1180- Context:日志内容 1181 1182### measure 表 1183 1184#### 表结构 1185 1186| Columns Name | SQL TYPE | 1187| ------------ | -------- | 1188| type | TEXT | 1189| ts | INT | 1190| dur | INT | 1191| value | INT | 1192| filter_id | INT | 1193 1194#### 表描述 1195 1196记录所有的计量值。 1197 1198#### 关键字段描述 1199 1200- type:固定字段(measure) 1201- ts:事件时间 1202- dur:该值持续的时长 1203- value:数值 1204- filter_id:对应 filter 表中的 ID 1205 1206### measure_filter 表 1207 1208#### 表结构 1209 1210| Columns Name | SQL TYPE | 1211| ----------------- | -------- | 1212| id | INT | 1213| type | TEXT | 1214| name | TEXT | 1215| source_arg_set_id | INT | 1216 1217#### 表描述 1218 1219记录一个递增的 filterid 队列,所有其他的 filter 类型在获取过程中,均从此数据列表中获取下一个可用的 filter_id 并做记录。 1220 1221#### 字段详细描述 1222 1223过滤分类(type),过滤名称(key2),数据 ID(key1)。 1224数据 ID 在 process_measure_filter, sys_event_filter 中作为 id。 1225 1226### meta 表 1227 1228#### 表结构 1229 1230| Columns Name | SQL TYPE | 1231| ------------ | -------- | 1232| name | TEXT | 1233| value | TEXT | 1234 1235#### 表描述 1236 1237此表记录了数据解析或导出时的一些现场数据,比如使用的 TraceStreamer 版本, 工具的发布时间,数据解析的时间,数据的持续时长,以及原始数据的格式。 1238 1239#### 主要字段描述 1240 1241- Name:指定元数据的 key 1242- Value:指定元数据的 value 1243 1244### native_hook 表 1245 1246#### 表结构 1247 1248| Columns Name | SQL TYPE | 1249| ---------------- | -------- | 1250| id | INT | 1251| callChainId | INT | 1252| ipid | INT | 1253| itid | INT | 1254| event_type | TEXT | 1255| sub_type_id | NUM | 1256| start_ts | INT | 1257| end_ts | INT | 1258| dur | INT | 1259| addr | INT | 1260| heap_size | INT | 1261| all_heap_size | INT | 1262| current_size_dur | INT | 1263| last_lib_id | INT | 1264 1265#### 表描述 1266 1267记录 native_hook 抓取的某个进程的堆内存,内存映射相关数据。 1268 1269#### 关键字段描述 1270 1271- callChainId:唯一标识一条 native_hook 数据 1272- event_type:事件类型取值范围(AllocEvent,FreeEvent,MmapEvent, MunmapEvent) 1273- sub_type_id:子事件类型(只有 sub_type 字段为 MmapEvent 时,该字段才会有值) 1274- start_ts:申请内存开始时间 1275- end_ts:释放内存时间 1276- Dur:申请内存活跃时间 1277- Addr:申请内存地址 1278- mem_size:申请或释放内存大小 1279- all_mem_size:从采集数据开始到当前时刻,申请并活跃的内存总量。 event_type 为 AllocEvent 或者 FreeEvent 时,表示活跃的堆内存总量。当 event_type 为 MmapEvent 或者 MunmapEvent 时,表示活跃的映射内存总量 1280- current_size_dur:表示当前活跃内存总量的持续时间 1281- last_lib_id:函数调用栈他最后一个函数所属的文件路径,除了文件名中带 musl 和 libc++ 1282 1283### native_hook_frame 表 1284 1285#### 表结构 1286 1287| Columns Name | SQL TYPE | 1288| ------------- | -------- | 1289| id | INT | 1290| callchain_id | INT | 1291| depth | INT | 1292| symbol_id | INT | 1293| file_id | INT | 1294| offset | INT | 1295| symbol_offset | INT | 1296 1297#### 表描述 1298 1299记录了内存的申请和释放的堆栈。 1300 1301#### 相关字段描述 1302 1303- callchain_id:标识一组调用堆栈 1304- depth:调用栈深度 1305- symbol_id:函数名 1306- file_id:函数所属文件 1307 1308### native_hook_statistic 表 1309 1310#### 表结构 1311 1312| Columns Name | SQL TYPE | 1313| ------------- | -------- | 1314| id | INT | 1315| callchain_id | INT | 1316| ipid | INT | 1317| ts | INT | 1318| type | INT | 1319| apply_count | INT | 1320| release_count | INT | 1321| apply_size | INT | 1322| release_size | INT | 1323 1324#### 表描述 1325 1326该表记录了内存申请/释放的统计信息。 1327 1328#### 关键字段描述 1329 1330- callchain_id:内存分配的回调链 id 1331- ipid:进程 id 1332- ts:统计数据上报时间 1333- type:事件类型,0 代表 malloc 事件,1 代表 mmap 事件 1334- apply_count:当前调用栈内存分配总次数 1335- release_count:当前调用栈内存释放总次数 1336- apply_size:当前调用栈累计分配总大小 1337- release_size:当前调用栈累计释放总大小 1338 1339### network 表 1340 1341#### 表结构 1342 1343| Columns Name | SQL TYPE | 1344| -------------- | -------- | 1345| ts | INT | 1346| dur | INT | 1347| tx | INT | 1348| rx | INT | 1349| tx_speed | REAL | 1350| rx_speed | REAL | 1351| packet_in | INT | 1352| packet_in_sec | REAL | 1353| packet_out | INT | 1354| packet_out_sec | REAL | 1355| net_type | TEXT | 1356 1357#### 表描述 1358 1359记录了网络数据传输相关的信息。 1360 1361#### 主要字段描述 1362 1363- tv_sec:时间,秒为单位 1364- tv_nsec:时间,纳秒为单位 1365- tx_bytes:网络数据的写入量 1366- rx_bytes:网络数据的读取量 1367 1368### paged_memory_sample 表 1369 1370#### 表结构 1371 1372| Columns Name | SQL TYPE | 1373| ------------ | -------- | 1374| id | INT | 1375| callchain_id | INT | 1376| type | INT | 1377| ipid | INT | 1378| start_ts | INT | 1379| end_ts | INT | 1380| dur | INT | 1381| size | INT | 1382| addr | TEXT | 1383| itid | INT | 1384 1385#### 表描述 1386 1387记录了网络数据传输相关的信息。 1388 1389#### 主要字段描述 1390 1391- callchain_id: 取值相同的一组数据,表示一个完整的调用栈 1392- type:事件类型 1393- ipid:TS 内部进程号 1394- start_ts:开始时间 1395- end_ts:结束时间 1396- dur:持续时间 1397- size:操作页数 1398- itid:TS 内部线程号 1399 1400### perf_callchain 表 1401 1402#### 表结构 1403 1404| Columns Name | SQL TYPE | 1405| ------------- | -------- | 1406| id | INT | 1407| callchain_id | INT | 1408| depth | INT | 1409| vaddr_in_file | INT | 1410| file_id | INT | 1411| symbol_id | INT | 1412| name | TEXT | 1413 1414#### 表描述 1415 1416记录了 Hiperf 采样数据的调用栈信息。 1417 1418#### 主要字段描述 1419 1420- callchain_id:标识一组调用堆栈 1421- depth:调用栈深度 1422- vaddr_in_file:函数在文件中的虚拟地址 1423- file_id:与 PerfFiles 中的 file_id 字段相关联 1424- symbol_id:与 PerfFiles 中的 symbol_id 相关联 1425- name:函数名 1426 1427### perf_files 表 1428 1429#### 表结构 1430 1431| Columns Name | SQL TYPE | 1432| ------------ | -------- | 1433| id | INT | 1434| file_id | INT | 1435| serial_id | INT | 1436| symbol | TEXT | 1437| path | TEXT | 1438 1439#### 表描述 1440 1441记录 Hiperf 工具采集到的函数符号表和文件名。 1442 1443#### 主要字段描述 1444 1445- file_id:文件编号 1446- serial_id:一个文件中可能有多个函数,serial_id 表示函数的编号 1447- symbol:函数名 1448- path:文件路径 1449 1450### perf_report 表 1451 1452#### 表结构 1453 1454| Columns Name | SQL TYPE | 1455| ------------ | -------- | 1456| id | INT | 1457| report_type | TEXT | 1458| report_value | TEXT | 1459 1460#### 表描述 1461 1462记录 Hiperf 工具采集数据时的配置信息。包括:抓取的事件类型,抓取数据的命令, 抓数据时指定的进程名称。 1463 1464#### 主要字段描述 1465 1466- report_type:数据类型。取值只有三种类型:config_name(事件类型), workload(抓取的进程名), cmdline(抓取命令) 1467- report_value:对应类型的取值 1468 1469### perf_sample 表 1470 1471#### 表结构 1472 1473| Columns Name | SQL TYPE | 1474| --------------- | -------- | 1475| id | INT | 1476| callchain_id | INT | 1477| timestamp | INT | 1478| thread_id | INT | 1479| event_count | INT | 1480| event_type_id | INT | 1481| timestamp_trace | INT | 1482| cpu_id | INT | 1483| thread_state | TEXT | 1484 1485#### 表描述 1486 1487记录 Hiperf 工具的采样信息。 1488 1489#### 主要字段描述 1490 1491- timestamp:未进行时钟源同步的时间戳 1492- thread_id:线程号 1493- event_count:采样统计 1494- event_type_id:事件类型编号。与 PerfReport 表的 id 字段相关联 1495- timestamp_trace:时钟源同步后的时间戳 1496- cpu_id:cpu 核编号 1497- thread_state:线程状态。采样对应 Sched_Waking 事件时,为 Runing;对应 Sched_Switch 事件时,为 Suspend。其余事件类型,为“-” 1498 1499### perf_thread 表 1500 1501#### 表结构 1502 1503| Columns Name | SQL TYPE | 1504| ------------ | -------- | 1505| id | INT | 1506| thread_id | INT | 1507| process_id | INT | 1508| thread_name | TEXT | 1509 1510#### 表描述 1511 1512记录 Hiperf 工具采集到的进程和线程数据。 1513 1514#### 主要字段描述 1515 1516- thread_id:线程号 1517- process_id:进程号 1518- thread_name:线程名 1519 1520### process 表 1521 1522#### 表结构 1523 1524| Columns Name | SQL TYPE | 1525| ------------ | -------- | 1526| id | INT | 1527| ipid | INT | 1528| type | TEXT | 1529| pid | INT | 1530| name | TEXT | 1531| start_ts | INT | 1532| switch_count | INT | 1533| thread_count | INT | 1534| slice_count | INT | 1535| mem_count | INT | 1536 1537#### 表描述 1538 1539记录了进程相关数据。 1540 1541#### 关键字段描述 1542 1543- id:进程在数据库重新重新定义的 id,从 0 开始序列增长 1544- ipid:TS 内部进程 id 1545- type:固定取值:process 1546- pid:进程的真实 id 1547- name:进程名字 1548- start_ts:开始时间 1549- switch_count:统计内部有多少个线程有切换 1550- thread_count:统计其线程个数 1551- slice_count:进程内有多个线程有 slice 数据 1552- mem_count:进程是否有内存数据 1553 1554### process_filter 表 1555 1556#### 表结构 1557 1558| Columns Name | SQL TYPE | 1559| ------------ | -------- | 1560| id | INT | 1561| type | TEXT | 1562| name | TEXT | 1563| ipid | INT | 1564 1565#### 表描述 1566 1567将进程 ID 作为 key1,进程的内存,界面刷新,屏幕亮度等信息作为 key2,唯一确定一个 filter_id, filter_id 同时被记录在 filter 表中。 1568 1569#### 主要字段描述 1570 1571- id:进程 id 1572- type:固定取值:process_filter 1573- name:进程名 1574- ipid:该进程表中的 id 与 process 表中的 id 相关联 1575 1576### process_measure 表 1577 1578#### 表结构 1579 1580| Columns Name | SQL TYPE | 1581| ------------ | -------- | 1582| type | TEXT | 1583| ts | INT | 1584| value | NUM | 1585| filter_id | INT | 1586 1587#### 表描述 1588 1589保存进程的内存,堆栈值等所有计量值信息。 1590 1591#### 字段详细描述 1592 1593- ts:事件时间 1594- value:数值 1595- filter_id:对应 process_measure_filter 表中的 ID 1596 1597### process_measure_filter 表 1598 1599#### 表结构 1600 1601| Columns Name | SQL TYPE | 1602| ------------ | -------- | 1603| id | INT | 1604| type | TEXT | 1605| name | TEXT | 1606| ipid | INT | 1607 1608#### 表描述 1609 1610将进程 ID 作为 key1,进程的内存,界面刷新,屏幕亮度等信息作为 key2,唯一确定一个 filter_id, filter_id 同时被记录在 measure_filter 表中。 1611 1612#### 字段详细描述 1613 1614- type:固定取值:process_measure_filter 1615- name:cpu 状态名 1616- ipid:进程内部编号 1617 1618### raw 表 1619 1620#### 表结构 1621 1622| Columns Name | SQL TYPE | 1623| ------------ | -------- | 1624| id | INT | 1625| type | TEXT | 1626| ts | INT | 1627| name | TEXT | 1628| cpu | INT | 1629| itid | INT | 1630 1631#### 表描述 1632 1633记录了系统中的 waking、wakup、cpu_idel、cpu_frequency 数据。 1634 1635#### 相关字段描述 1636 1637- type:固定字段(raw) 1638- name:调度名称(取值:cpu_idle,sched_wakeup,sched_waking) 1639- cpu:事件发生在哪个 CPU 1640- itid:时间对应哪个 utid 1641 1642### sched_slice 表 1643 1644#### 表结构 1645 1646| Columns Name | SQL TYPE | 1647| ------------ | -------- | 1648| id | INT | 1649| type | TEXT | 1650| ts | INT | 1651| dur | INT | 1652| ts_end | INT | 1653| cpu | INT | 1654| itid | INT | 1655| end_state | TEXT | 1656| priority | INT | 1657 1658#### 表描述 1659 1660此数据结构主要作为 ThreadState 的上下文使用,这张表是 sched_switch 事件的原始记录。 1661 1662#### 主要字段描述 1663 1664- ts:事件发生事件 1665- type:固定字段(sched_slice) 1666- dur:状态持续时长 1667- ts_end:状态结束时长 1668- cpu:事件发生在哪个 cpu 1669- itid:事件对应哪个 utid 1670- end_state:线程的终结状态 1671 1672### smaps 表 1673 1674#### 表结构 1675 1676| Columns Name | SQL TYPE | 1677| ------------- | -------- | 1678| id | INT | 1679| timestamp | INT | 1680| start_addr | TEXT | 1681| end_addr | TEXT | 1682| dirty | INT | 1683| swapper | INT | 1684| resident_size | INT | 1685| pss | INT | 1686| virtaul_size | INT | 1687| reside | REAL | 1688| protection_id | INT | 1689| path_id | INT | 1690 1691#### 表描述 1692 1693记录进程的内存消耗的相关信息采样。 1694 1695#### 主要字段描述 1696 1697- id:状态持续时长 1698- timestamp:事件发生事件 1699- start_addr:内存段地址的起始位置 1700- end_addr:内存段地址的结束位置 1701- dirty:其他进程共享的被写的页的大小 + 已被改写的私有页面的大小 1702- swapper:存在于交换分区的数据大小 1703- resident_size:实际分配的内存大小 1704- pss:平摊计算后的实际物理使用内存 1705- virtaul_size:虚拟内存空间的大小 1706- reside:实际分配的内存大小与虚拟内存空间的大小的比 1707- protection_id:内存段的权限 id 与表 data_dict 的 id 字段相关联 1708- path_id:如果区域是从文件映射的,则这是文件的名称对应的 id 序号与表 data_dict 的 id 字段相关联 1709 1710### stat 表 1711 1712#### 表结构 1713 1714| Columns Name | SQL TYPE | 1715| ------------ | -------- | 1716| event_name | TEXT | 1717| stat_type | TEXT | 1718| count | INT | 1719| serverity | TEXT | 1720| source | TEXT | 1721 1722#### 表描述 1723 1724此结果用来统计数据解析中各类数据的数据条数,数据和合法性,数据的匹配程度(begin-end),数据的损失等,查看此结构对应的表,可对数据源有基本的了解。 1725 1726#### 主要字段描述 1727 1728- event_name:数据类型 1729- stat_type:数据状态 1730- count:数据条数 1731- severity:严重级别 1732- source:数据来源 1733 1734### symbols 表 1735 1736#### 表结构 1737 1738| Columns Name | SQL TYPE | 1739| ------------ | -------- | 1740| id | INT | 1741| funcname | TEXT | 1742| addr | INT | 1743 1744#### 表描述 1745 1746此表记录了被调用函数与其地址的映射关系。 1747 1748#### 相关字段描述 1749 1750- funcname:系统调用名称 1751- adr:系统调用地址 1752 1753### syscall 表 1754 1755#### 表结构 1756 1757| Columns Name | SQL TYPE | 1758| ------------ | -------- | 1759| syscall_num | INT | 1760| type | TEXT | 1761| ipid | INT | 1762| ts | INT | 1763| ret | INT | 1764 1765#### 表描述 1766 1767记录用户空间函数与内核空间函数相互调用记录。 1768 1769#### 相关字段描述 1770 1771- syscall_num:系统调用的序号 1772- type:固定取值:enter 或者 exit 1773- ipid:线程所属的进程 ID 1774- ts:时间戳 1775- ret:返回值,在 type 为 exit 时有效 1776 1777### sys_event_filter 表 1778 1779#### 表结构 1780 1781| Columns Name | SQL TYPE | 1782| ------------ | -------- | 1783| id | INT | 1784| type | TEXT | 1785| name | TEXT | 1786 1787#### 表描述 1788 1789记录所有的 filter。 1790 1791#### 相关字段描述 1792 1793- type:文件类型 1794- name:文件名 1795 1796### sys_mem_measure 表 1797 1798#### 表结构 1799 1800| Columns Name | SQL TYPE | 1801| ------------ | -------- | 1802| type | TEXT | 1803| ts | INT | 1804| value | INT | 1805| filter_id | INT | 1806 1807#### 表描述 1808 1809记录系统内存与系统虚拟内存。 1810 1811#### 相关字段描述 1812 1813- ts:事件时间 1814- value:数值 1815- filter_id:对应 filter 表中的 ID 1816 1817### thread 表 1818 1819#### 表结构 1820 1821| Columns Name | SQL TYPE | 1822| -------------- | -------- | 1823| id | INT | 1824| itid | INT | 1825| type | TEXT | 1826| tid | INT | 1827| name | TEXT | 1828| start_ts | INT | 1829| end_ts | INT | 1830| ipid | INT | 1831| is_main_thread | INT | 1832| switch_count | INT | 1833 1834#### 表描述 1835 1836记录了线程相关数据。 1837 1838#### 字段详细描述 1839 1840- id:线程在数据库重新重新定义的 id,从 0 开始序列增长 1841- itid:TS 内部线程 id 1842- type:固定字段(thread) 1843- tid:线程号 1844- name:线程名 1845- start_ts:开始时间 1846- end_ts:结束时间 1847- ipid:线程所属的进程 id, 关联 process 表中的 ID 1848- is_main_thread:是否主线程,主线程即该线程实际就是进程本身 1849- switch_count:当前线程的切换次数 1850 1851### thread_filter 表 1852 1853#### 表结构 1854 1855| Columns Name | SQL TYPE | 1856| ------------ | -------- | 1857| id | INT | 1858| type | TEXT | 1859| name | TEXT | 1860| itid | INT | 1861 1862#### 表描述 1863 1864将线程 ID 作为 key1,线程的内存,界面刷新,屏幕亮度等信息作为 key2,唯一确定一个 filter_id, filter_id 同时被记录在 filter 表中。 1865 1866#### 主要字段描述 1867 1868- id:线程 id 1869- type:线程类型 1870- name:线程名称 1871- itid:该表中的 tid 与 thread 表中的 tid 相关联 1872 1873### thread_state 表 1874 1875#### 表结构 1876 1877| Columns Name | SQL TYPE | 1878| ------------ | -------- | 1879| id | INT | 1880| type | TEXT | 1881| ts | INT | 1882| dur | INT | 1883| cpu | INT | 1884| itid | INT | 1885| tid | INT | 1886| pid | INT | 1887| state | TEXT | 1888 1889#### 表描述 1890 1891记录了线程状态相关的数据。 1892 1893#### 字段详细描述 1894 1895- id:线程状态在数据库中的 id,从 0 开始序列增长 1896- ts:该线程状态的起始时间 1897- dur:该线程状态的持续时间 1898- cpu:该线程在哪个 cpu 上执行(针对 running 状态的线程) 1899- itid:该状态所属的线程 id, 关联线程表中的 id 1900- tid:线程号 1901- pid:进程号 1902- state:线程实际的的状态值 1903 1904``` 1905'R', Runnable状态 1906"S", interruptible sleep 1907"D", uninterruptible sleep 1908"D-IO", uninterruptible io 1909"D-NIO", uninterruptible nio 1910"Runing", Runing状态 1911"T", Task stoped. 1912"t" Traced. 1913"X", ExitedDead 1914"Z", Zombie 1915"P", Parked 1916"I", Task_Dead 1917"DK", 1918"DK-IO", 1919"DK-NIO", 1920"TK", TracedKill 1921"R+", WakeKill 1922"R+", TaskNew 1923"R-B", Task runnable binder. 1924``` 1925 1926### clock_snapshot 表 1927 1928#### 表结构 1929 1930| Columns Name | SQL TYPE | 1931| ------------ | -------- | 1932| clock_id | INT | 1933| ts | INT | 1934| clock_name | TEXT | 1935 1936#### 表描述 1937 1938时钟号和时间,时钟名的映射表。 1939 1940#### 关键字段描述 1941 1942- clock_id:时钟号 1943- ts:时钟快照报的时间 1944- clock_name:时钟号对应的时钟名字 1945 时钟快照是用来对齐不同时钟号的时间 1946 比如,时钟号 1 的时间 100,和时钟号 2 的时间 200 对齐 1947 则时钟号为 2 的 250,转换为时钟号 1 的时间后,为 150 1948 1949### datasource_clockid 表 1950 1951#### 表结构 1952 1953| Columns Name | SQL TYPE | 1954| ---------------- | -------- | 1955| data_source_name | TEXT | 1956| clock_id | INT | 1957 1958#### 表描述 1959 1960数据源和时钟号的映射表。 1961 1962#### 关键字段描述 1963 1964- data_source_name:数据源的名称,和数据源的插件名保持一致 1965- clock_id:时钟号,对应 clock_snapshot 中的时钟号 1966 这个表是用来告诉 IDE,不同的事件源的事件,原始时钟号是多少,在数据库中保存的事件,通常是转换为 boottime 后的时间,但有些情况下,IDE 仍然需要知道原始的时钟号是怎样的 1967 1968### frame_slice 表 1969 1970### 表结构 1971 1972| Columns Name | SQL TYPE | 1973| ------------ | -------- | 1974| ts | INT | 1975| vsync | INT | 1976| ipid | INT | 1977| itid | INT | 1978| callstack_id | INT | 1979| dur | INT | 1980| src | TEXT | 1981| dst | INT | 1982| type | INT | 1983| flag | INT | 1984| depth | INT | 1985| frame_no | INT | 1986 1987#### 表描述 1988 1989应用的实际渲染帧和期望渲染帧的开始时间,持续时长,以及 RenderService 和 App 之间的关联关系。 1990 1991#### 关键字段描述 1992 1993- callstack_id:该帧数据对应着 callstack 表的调用栈所在的行数 1994- dur:该帧渲染时长(当数据不完整时,改行数据为空) 1995- src:该帧是被哪一帧(该表中对应的行数)触发的,有多个值时,用逗号分割 1996- dst:该帧对应的渲染帧是哪一行 1997- type: 0 说明该行数据是实际渲染帧, 1 说明该行数据是期望渲染帧 1998- flag: 空时,为不完整的数据;0 表示实际渲染帧不卡帧, 1 表示实际渲染帧卡帧(expectEndTime < actualEndTime 为异常), 2 表示数据不需要绘制(没有 frameNum 信息),3 表示 rs 进程与 app 进程起止异常(|expRsStartTime - expUiEndTime| < 1ms 正常,否则异常。这里使用期待帧的时间差做判断,给实际帧打标签) 1999- depth:预留 2000- frame_no:预留 2001 2002### frame_maps 表 2003 2004### 表结构 2005 2006| Columns Name | SQL TYPE | 2007| ------------ | -------- | 2008| ts | INT | 2009| src_row | INT | 2010| dst_row | INT | 2011 2012#### 表描述 2013 2014该表记录了 app 到 RenderService 的帧的映射关系,同 frame_slice 表中的 src 映射到 dst 的关系。 2015 2016#### 关键字段描述 2017 2018- src_row:frame_slice 表中 app 的帧所在的行 2019- dst_row:frame_slice 表中 RenderService 的帧所在的行 2020 2021### gpu_slice 表 2022 2023### 表结构 2024 2025| Columns Name | SQL TYPE | 2026| ------------ | -------- | 2027| frame_row | INT | 2028| dur | INT | 2029 2030#### 表描述 2031 2032该表记录了每一帧数据在 GPU 上的渲染时长。 2033 2034#### 关键字段描述 2035 2036- frame_row:frame_slice 表中渲染帧所在的行 2037- dur:帧渲染时长 2038 2039### trace_range 表 2040 2041#### 表结构 2042 2043| Columns Name | SQL TYPE | 2044| ------------ | -------- | 2045| start_ts | INT | 2046| end_ts | INT | 2047 2048#### 表描述 2049 2050该表记录了解析开始时间以及结束时间。 2051 2052#### 关键字段描述 2053 2054- start_ts:trace 的开始时间,纳秒为单位 2055- end_ts:trace 的结束时间,纳秒为单位 2056 2057### task_pool 表 2058 2059#### 表结构 2060 2061| Columns Name | SQL TYPE | 2062| ------------------- | -------- | 2063| id | INT | 2064| allocation_task_row | INT | 2065| execute_task_row | INT | 2066| return_task_row | INT | 2067| allocation_itid | INT | 2068| execute_itid | INT | 2069| return_itid | INT | 2070| execute_id | INT | 2071| priority | INT | 2072| execute_state | INT | 2073| return_state | INT | 2074| timeout_row | INT | 2075 2076#### 表描述 2077 2078该表记录了任务池相关数据,与 callstack 表关联。 2079 2080#### 关键字段描述 2081 2082- allocation_task_row:与 callstack 表 id 号相关联 2083- execute_task_row:与 callstack 表 id 号相关联 2084- return_task_row:与 callstack 表 id 号相关联 2085- allocation_itid:任务分发的 itid 2086- execute_itid:任务执行的 itid 2087- return_itid:任务返回的 itid 2088- execute_id:任务执行 id 2089- priority:任务分发独有的,优先级{HIGH : 0,MEDIUM : 1,LOW : 2} 2090- execute_state:任务执行独有的执行状态{NOT_FOUND : 0,WAITING : 1,RUNNING : 2,CANCELED : 3} 2091- return_state:任务返回独有的任务返回状态[IsCanceled DeserializeFailed Successful Unsuccessful] 2092- timeout_row:任务执行超时时更新此列,将对应的 callstack 表行号存于对应的任务行 2093 2094### animation 表 2095 2096#### 表结构 2097 2098| Columns Name | SQL TYPE | 2099| ------------ | -------- | 2100| id | INT | 2101| input_time | INT | 2102| start_point | INT | 2103| end_point | INT | 2104 2105#### 表描述 2106 2107该表记录动效的响应时延和完成时延等信息。 2108 2109#### 关键字段描述 2110 2111- input_time:输入时间点 2112- start_point:开始时间点 2113- end_point:结束时间点 2114 2115### dynamic_frame 表 2116 2117#### 表结构 2118 2119| Columns Name | SQL TYPE | 2120| ------------ | -------- | 2121| id | INT | 2122| x | INT | 2123| y | INT | 2124| width | INT | 2125| height | INT | 2126| alpha | TEXT | 2127| name | INT | 2128| end_time | INT | 2129 2130#### 表描述 2131 2132该表记录动效帧的坐标、分辨率、结束时间等信息。 2133 2134#### 关键字段描述 2135 2136- x:坐标 x 2137- y:坐标 y 2138- width:宽 2139- height:高 2140- alpha:透明度 2141- name:当前动效帧名字 2142- end_time:结束时间 2143 2144### device_info 表 2145 2146#### 表结构 2147 2148| Columns Name | SQL TYPE | 2149| ------------------- | -------- | 2150| id | INT | 2151| physical_width | INT | 2152| physical_height | INT | 2153| physical_frame_rate | INT | 2154 2155#### 表描述 2156 2157该表记录设备分辨率和帧率等信息。 2158 2159#### 关键字段描述 2160 2161- physical_width:设备宽 2162- physical_height:设备高 2163- physical_frame_rate:设备帧率 2164 2165### device_state 表 2166 2167#### 表结构 2168 2169| Columns Name | SQL TYPE | 2170| ---------------- | -------- | 2171| id | INT | 2172| brightness | INT | 2173| bt_state | INT | 2174| location | INT | 2175| wifi | INT | 2176| stream_default | INT | 2177| voice_call | INT | 2178| music | INT | 2179| stream_ring | INT | 2180| media | INT | 2181| voice_assistant | INT | 2182| system | INT | 2183| alarm | INT | 2184| notification | INT | 2185| bt_sco | INT | 2186| enforced_audible | INT | 2187| stream_dtmf | INT | 2188| stream_tts | INT | 2189| accessibility | INT | 2190| recording | INT | 2191| stream_all | INT | 2192 2193#### 表描述 2194 2195该表记录设备屏幕亮度,蓝牙,位置,wifi,音乐,媒体等信息。 2196 2197#### 关键字段描述 2198 2199- brightness:屏幕亮度 2200- bt_state:蓝牙状态 2201- location:位置信息 2202- wifi:无线网络状态 2203- voice_call:语音通话 2204- music:音乐播放 2205- media:多媒体 2206- voice_assistant:语音助手 2207- system:系统 2208- alarm:闹钟 2209- notification:消息通知 2210- bt_sco:蓝牙语音 2211- accessibility:访问权限 2212- recording:录音 2213 2214### trace_config 表 2215 2216#### 表结构 2217 2218| Columns Name | SQL TYPE | 2219| ------------ | -------- | 2220| id | INT | 2221| trace_source | INT | 2222| key | INT | 2223| value | INT | 2224 2225#### 表描述 2226 2227该表记录 trace 数据源,proto 的事件-plugin 与其 process_name(目前只有 HisysEvent 事件在用)。 2228 2229#### 关键字段描述 2230 2231- trace_source:事件源 2232- key:事件需要关注的信息名 2233- value:事件需要关注的信息名对应的信息值 2234 2235### memory_ashmem 表 2236 2237#### 表结构 2238 2239| Columns Name | SQL TYPE | 2240| -------------- | -------- | 2241| id | INT | 2242| ts | INT | 2243| ipid | INT | 2244| adj | INT | 2245| fd | INT | 2246| ashmem_name_id | INT | 2247| size | INT | 2248| pss | INT | 2249| ashmem_id | INT | 2250| time | INT | 2251| ref_count | INT | 2252| purged | INT | 2253| flag | INT | 2254 2255#### 表描述 2256 2257该表记录 trace 数据源,proto 的事件-plugin 与其 process_name(目前只有 HisysEvent 事件在用)。 2258 2259#### 关键字段描述 2260 2261- ts:时间戳 2262- ipid:内部进程号 2263- fd:共享内存文件描述符 2264- ashmem_name_id:共享内存名 2265- size:共享内存大小 2266- pss:PSS 内存大小 2267- ashmem_id:共享内存 ID 2268- ref_count:引用计数 2269- flag:去重标记,0 表示正常,1 表示进程内部重复数据,2 表示进程间重复数据 2270 2271### memory_dma 表 2272 2273#### 表结构 2274 2275| Columns Name | SQL TYPE | 2276| ---------------- | -------- | 2277| id | INT | 2278| ts | INT | 2279| ipid | INT | 2280| fd | INT | 2281| size | INT | 2282| ino | INT | 2283| exp_pid | INT | 2284| exp_task_comm_id | INT | 2285| buf_name_id | INT | 2286| exp_name_id | INT | 2287| flag | INT | 2288 2289#### 表描述 2290 2291该表记录 trace 数据源,proto 的事件-plugin 与其 process_name(目前只有 HisysEvent 事件在用)。 2292 2293#### 关键字段描述 2294 2295- ts:时间戳 2296- ipid:内部进程号 2297- fd:dma 内存文件描述符 2298- size:dma 内存大小 2299- exp_pid:申请者的进程号 2300- buf_name_id:dma 内存名 2301- exp_name_id:申请者进程名 2302- flag:去重标记,0 表示正常,1 表示进程内部重复数据,2 表示进程间重复数据 2303 2304### memory_process_gpu 表 2305 2306#### 表结构 2307 2308| Columns Name | SQL TYPE | 2309| ------------- | -------- | 2310| id | INT | 2311| ts | INT | 2312| gpu_name_id | INT | 2313| all_gpu_size | INT | 2314| addr | TEXT | 2315| ipid | INT | 2316| itid | INT | 2317| used_gpu_size | INT | 2318 2319#### 表描述 2320 2321该表记录 trace 数据源,proto 的事件-plugin 与其 process_name(目前只有 HisysEvent 事件在用)。 2322 2323#### 关键字段描述 2324 2325- ts:时间戳 2326- gpu_name_id:gpu 内存名称 2327- all_gpu_size:进程占用 gpu 总大小 2328- addr:gpu 内存地址 2329- ipid:内部进程号 2330- itid:内部线程号 2331- used_gpu_size:已使用的 gpu 大小 2332 2333### memory_window_gpu 表 2334 2335#### 表结构 2336 2337| Columns Name | SQL TYPE | 2338| ---------------- | -------- | 2339| id | INT | 2340| ts | INT | 2341| window_name_id | INT | 2342| window_id | INT | 2343| module_name_id | INT | 2344| category_name_id | INT | 2345| size | INT | 2346| count | INT | 2347| purgeable_size | INT | 2348 2349#### 表描述 2350 2351该表记录 trace 数据源,proto 的事件-plugin 与其 process_name(目前只有 HisysEvent 事件在用)。 2352 2353#### 关键字段描述 2354 2355- ts:时间戳 2356- window_name_id:窗口名 2357- window_id:窗口 id 2358- module_name_id:模块名 2359- category_name_id:目录名 2360- size:内存大小 2361- count:内存申请个数 2362 2363### static_initalize 表 2364 2365#### 表结构 2366 2367| Columns Name | SQL TYPE | 2368| ------------ | -------- | 2369| id | INT | 2370| ipid | INT | 2371| tid | INT | 2372| call_id | INT | 2373| start_time | INT | 2374| end_time | INT | 2375| so_name | TEXT | 2376| depth | INT | 2377 2378#### 表描述 2379 2380该表记录了 so 初始化相关数据。 2381 2382#### 关键字段描述 2383 2384- ipid:内部进程号 2385- tid:内部线程号 2386- call_id:调用者的 ID,对应线程表里面的 itid 2387- start_time:阶段开始时间 2388- end_time:阶段结束时间 2389- so_name:so 文件名称 2390- depth:泳道图的深度 2391