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