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