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