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