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