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