1# TraceStreamer数据表概述 2TraceStreamer可以将trace数据源转化为易于理解和使用的数据库。用户可以通过SmartPerf界面直观的研究系统跟踪数据,也可在理解TraceStreamer生成的数据库的基础上,在TraceStreamer的交互模式或者Smartperf的数据库查询模式下,使用SQL查询语句自由组装查看用户关心的数据。下文将对TraceStreamer生成的数据库进行详细描述,给用户使用SQL查询系统跟踪数据提供帮助。 3 4## TraceStreamer输出的数据表分类 5* 常规泳道图数据表 6 7* native memory数据源相关表 8 9* perf相关数据表 10 11* hisysevent相关数据表 12 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 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 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 208 209native_hook_statistic表记录内存申请/释放的统计信息。通过callchain_id区分一组调用堆栈。每个统计事件将记录当前事件的callchain_id,并统计当前调用栈内存分配/释放的总次数和总大小。 210 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 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 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 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 274 275js_heap_nodes:记录js内存类对象数据 276js_heap_edges:记录js内存类对象的成员数据 277js_heap_trace_node:记录timeline的调用栈信息 278js_heap_sample:记录timeline的时间轴信息 279 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