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