• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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