TraceStreamer数据表概述

TraceStreamer可以将trace数据源转化为易于理解和使用的数据库。用户可以通过SmartPerf界面直观的研究系统跟踪数据,也可在理解TraceStreamer生成的数据库的基础上,在TraceStreamer的交互模式或者Smartperf的数据库查询模式下,使用SQL查询语句自由组装查看用户关心的数据。下文将对TraceStreamer生成的数据库进行详细描述,给用户使用SQL查询系统跟踪数据提供帮助。

TraceStreamer输出的数据表分类

TraceStreamer输出数据库包含以下表格

表名称 作用
animation 记录动效的响应时延和完成时延
app_name 记录HiSysEvent事件的事件名与IDE部分事件的字段名为APPNAME中存放的相关信息的映射关系
app_startup 记录了应用启动相关数据
args 记录方法参数集合
bio_latency_sample 记录IO操作相关方法调用,及调用栈数据
callstack 记录调用堆栈和异步调用信息,其中depth,stack_id和parent_stack_id仅在非异步调用中有效。当cookid不为空时,为异步调用,此时callid为进程唯一号,否则为线程唯一号
clk_event_filter 记录时钟相关的信息
clock_event_filter 此结构用来维护时钟事件,cpu与唯一的ID做关联
clock_snapshot 时钟号和时间,时钟名的映射表
cpu_measure_filter cpu事件过滤器表
cpu_usage 记录CPU使用率事件
datasource_clockid 数据源和时钟号的映射表
data_dict 记录常用的字符串,将字符串和索引关联,降低程序运行的内存占用,用作辅助数据
data_type 记录数据类型和typeId的关联关系
device_info 记录设备分辨率和帧率
device_state 记录设备屏幕亮度,蓝牙,位置,wifi,音乐,媒体等信息
diskio 记录磁盘读写数据事件
dynamic_frame 记录动效帧的分辨率和结束时间等
ebpf_callstack 记录了采样相关信息
file_system_sample 记录了调用栈的相关信息
frame_maps 记录应用到RS的帧的映射关系
frame_slice 记录RS(RenderService)和应用的帧渲染
gpu_slice 记录RS的帧对应的gpu渲染时长
hidump 记录FPS(Frame Per Second)数据
hisys_all_event 记录了所有HiSysEvent事件相关的原始数据
hisys_event_measure 记录了HiSysEvent事件相关数据,目前HiSysEvent事件包括了异常事件,IDE事件,器件状态事件
instant 记录Sched_waking, sched_wakeup事件, 用作ThreadState表的上下文使用
irq 记录中断相关事件
js_config 记录了arkTs数据采集的相关配置
js_cpu_profiler_node 记录了cpu profiler中node节点的数据
js_cpu_profiler_sample 记录了cpu profiler中sample节点的数据
js_heap_edges 记录了js内存数据类对象对应的成员的信息
js_heap_files 记录了js内存数据的名称和时间
js_heap_info 记录了js内存数据类型,如nodes和edges的字段类型和数据总数
js_heap_location 记录了js内存location节点相关数据
js_heap_nodes 记录了js内存类对象和其成员的对应关系
js_heap_sample 记录了timeline模式下的时间轴信息
js_heap_string 记录了js内存数据中的字符串
js_heap_trace_function_info 记录了timeline模式下的调用栈的每个函数信息
js_heap_trace_node 记录了timeline模式下的调用栈信息
live_process 记录了一些实时的进程中执行的一些数据
log 记录hilog打印日志数据
measure 记录所有的计量值
measure_filter 记录一个递增的filterid队列,所有其他的filter类型在获取过程中,均从此数据列表中获取下一个可用的filter_id并做记录
memory_ashmem 记录了进程所占用的ashmem相关信息
memory_dma 记录了进程占用的DMA内存相关信息
memory_process_gpu 记录进程占用GPU内存相关信息
memory_window_gpu 记录窗口占用GPU内存相关信息
meta 记录执行解析操作相关的基本信息
native_hook 记录堆内存申请与释放相关的数据
native_hook_frame 记录堆内存申请与释放相关的调用栈
native_hook_statistic 记录堆内存申请与释放相关的统计信息
network 抓取网络信息传输时产生的一些相关信息
paged_memory_sample 记录内存操作相关方法调用,及调用栈数据
perf_callchain 记录Hiperf采样数据的调用栈信息
perf_files 记录Hiperf工具采集到的函数符号表和文件名
perf_report 记录Hiperf工具采集数据时的配置信息。包括抓取的事件类型,抓取数据的命令, 抓数据时指定的进程名称
perf_sample 记录Hiperf工具的采样信息
perf_thread 记录Hiperf工具采集到的进程和线程数据
process 记录所有的进程信息
process_measure 保存进程的所有计量值
process_measure_filter 将进程ID作为key1,进程的内存,界面刷新,屏幕亮度等信息作为key2,唯一确定一个filter_id
raw 此数据结构主要作为ThreadState的上下文使用,这张表是sched_waking,sched_wakup, cpu_idle事件的原始记录
sched_slice 此数据结构主要作为ThreadState的上下文使用,这张表是sched_switch事件的原始记录
smaps 记录进程的内存消耗的相关信息采样
stat 此结果用来统计数据解析中各类数据的数据条数,数据和合法性,数据的匹配程度(begin-end),数据的损失等,查看此结构对应的表,可对数据源有基本的了解
static_initalize 记录了so初始化相关数据
memory_cpu 记录了cpu内存数据
memory_profile 记录了sys/kernel/debug/mali0/ctx/$(pidof xxx)/mem_profile节点相关数据
memory_rs_image 记录了hidumper抓取的界面的内存大小相关数据
symbols 记录系统调用名称和其函数指针的对应关系,trace中用addr来映射function_name来节省存储空间
syscall 记录用户空间函数与内核空间函数相互调用记录
sys_event_filter 记录所有的filter
sys_mem_measure 记录了所有的系统内存相关的测量信息
task_pool 记录任务池相关数据,与callstack表相关联
thread 记录所有的线程信息
thread_state 记录线程状态信息
trace_config 记录trace数据源,proto的事件-plugin与其process_name
trace_range 记录ftrace数据与其他类型数据的时间交集,供前端展示数据时使用

表与事件来源

表名称 事件源 插件名 备注
animation - ftrace-plugin 记录动效的响应时延和完成时延
app_name - hisysevent-plugin JSON数据源
args - ftrace-plugin 配合callstack使用
bio_latency_sample - - IO操作相关方法调用,及调用栈数据
callstack - ftrace-plugin 异步或非异步的调用
cpu_measure_filter - ftrace-plugin cpu跟踪器,cpu频率等
cpu_usage - cpu-plugin cpu使用率
data_dict 通用的 - 所有字符串的记录
data_type 通用的 - 辅助表
device_info - ftrace-plugin 记录设备分辨率和帧率
device_state 通用的 hisysevent-plugin 记录设备屏幕亮度,蓝牙,位置等信息
dynamic_frame - ftrace-plugin 动效帧的分辨率和结束时间等
ebpf_callstack - - 磁盘读写相关的数据
file_system_callstack - - ebpf文件系统
file_system_sample - - ebpf文件系统
frame_maps - ftrace-plugin 帧渲染数据,app到RS的映射
frame_slice - ftrace-plugin 帧渲染数据
gpu_slice - ftrace-plugin gpu渲染时长
hidump - hidump-plugin FPS数据
hisys_all_event - hisysevent-plugin JSON数据源
hisys_event_measure - hisysevent-plugin JSON数据源
instant - ftrace-plugin waking和wakeup事件
irq - ftrace-plugin 记录中断事件
js_config - arkts-plugin arkTs数据采集的配置
js_cpu_profiler_node - arkts-plugin 记录了cpu profiler中node节点的数据
js_cpu_profiler_sample - arkts-plugin 记录了cpu profiler中sample节点的数据
js_heap_edges - arkts-plugin js内存数据
js_heap_files - arkts-plugin js内存数据
js_heap_info - arkts-plugin js内存数据
js_heap_location - arkts-plugin js内存数据
js_heap_nodes - arkts-plugin js内存数据
js_heap_sample - arkts-plugin js内存数据
js_heap_string - arkts-plugin js内存数据
js_heap_trace_function_info - arkts-plugin js内存数据
js_heap_trace_node - arkts-plugin js内存数据
app_startup - ftrace-plugin 应用启动数据
static_initalize - ftrace-plugin so初始化数据
memory_cpu - hidumper-plugin cpu内存数据
memory_profile - hidumper-plugin /sys/kernel/debug/mali0/ctx/$(pidof xxx)/mem_profile节点相关数据
memory_rs_image - hidumper-plugin hidumper抓取的界面内存大小数据
live_process - process-plugin Monitor数据
network - network-plugin Monitor数据
diskio - diskio-plugin Monitor数据
log - hilog-plugin 系统日志
measure 通用的 - 系统中的计量值(数值型)
measure_filter 通用的 - 计量值的查询辅助表
memory_ashmem - memory-plugin 进程所占用ashmem相关信息
memory_dma - memory-plugin 进程占用的DMA内存相关信息
memory_process_gpu - memory-plugin 进程占用GPU内存相关信息
memory_window_gpu - memory-plugin 窗口占用GPU内存相关信息
meta 通用的 - 记录解析现场数据(解析时间,数据类型,解析工具等)
native_hook - nativehook/hookdaemon malloc && mmap内存数据
native_hook_frame - nativehook/hookdaemon native_hook调用栈数据
native_hook_statistic - nativehook/hookdaemon malloc && mmap统计数据
paged_memory_sample - - 网络数据传输相关的信息
perf_callchain - perf-plugin perf数据(非插件模式)
perf_files - - perf数据(非插件模式)
perf_report - - perf数据(非插件模式)
perf_sample - - perf数据(非插件模式)
perf_thread - - perf数据(非插件模式)
process - ftrace-plugin 进程信息
process_measure - ftrace-plugin 进程内存
process_measure_filter - ftrace-plugin process_measure的辅助表
raw - ftrace-plugin 线程唤醒信息
sched_slice - ftrace-plugin 配合线程状态表使用,sched_switch的原始数据
smaps - memory-plugin 进程的内存消耗
stat 通用的 - 记录不同种类数据的数据量
symbols - ftrace-plugin 符号表(地址到字符串的映射)
syscall - ftrace-plugin 系统调用 sys_enter/exit
sys_event_filter - ftrace-plugin
sys_mem_measure - memory-plugin 系统内存
thread 通用的 - 线程信息(常用)
thread_state 通用的 ftrace-plugin 线程调度图(常用)
trace_config 通用的 hisysevent-plugin 记录trace数据源
trace_range 通用的 - trace数据的时长
clock_snapshot 通用的 通用的 时钟号和时间,时钟名的映射表
datasource_clockid 通用的 通用的 数据源和时钟号的映射表
task_pool - - 任务池数据

表格关系图


进程表与线程表关系

当一个进程或者线程结束后,系统可能再次将该进程号或者线程号分配给其他进程或者线程,造成一个进程号或线程号代表多个进程或线程的情况。
Process和Thread表中的id字段可以唯一标识进程和线程。process表中的id在其他表中用作ipid字段。thread表中的id在其他表中用作itid字段。
thread表通过ipid字段关联process表的id字段,可以查询线程归属进程。
GitHub Logo

查询举例

线程表与线程运行状态表关系图

thread_state表记录所有线程的运行状态信息,包含ts(状态起始时间),dur(状态持续时间),cpu, itid, state(线程状态)。 thread表的id字段与thread_state表的itid字段相关联。
GitHub Logo

查询举例

堆内存数据变化表关系图

native_hook表记录堆内存申请(AllocEvent)和释放(FreeEvent)数据。native_hook表通过ipid和itid字段分别与process和thread表的id字段关联,通过callchain_id与native_hook_frame表的callchain_id字段相关联。
native_hook表字段解释如下:

native_hook_frame表记录内存申请/释放的调用堆栈。通过callchain_id区分一组调用堆栈,depth为堆栈深度,depth为0时,表示当前行为栈顶数据。
GitHub Logo

native_hook_statistic表记录内存申请/释放的统计信息。通过callchain_id区分一组调用堆栈。每个统计事件将记录当前事件的callchain_id,并统计当前调用栈内存分配/释放的总次数和总大小。
GitHub Logo

查询举例

日志表与进程线程表关系图

log表记录日志信息。可以根据seq字段的连续性,来判断是否存在日志丢失的情况。
GitHub Logo

查询举例

perf表之间关系图

GitHub Logo

查询举例

帧渲染表之间的关系图

frame_slice: 记录RS(RenderService)和应用的帧渲染。
gpu_slice: 记录RS的帧对应的gpu渲染时长。
frame_maps:记录应用到RS的帧的映射关系。
GitHub Logo

查询示例

JS内存数据表关系图

js_heap_files:记录js内存数据的文件名和文件索引

1683163158954

js_heap_nodes:记录js内存类对象数据
js_heap_edges:记录js内存类对象的成员数据
js_heap_trace_node:记录timeline的调用栈信息
js_heap_sample:记录timeline的时间轴信息
1683163373206

TraceStreamer输出数据库表格详细介绍

app_name表

表结构

Columns Name SQL TYPE
id INT
app_name INT
app_key INT

表描述

记录HiSysevent上报事件中的IDE相关事件中APPNAME的表关联信息。

字段详细描述

args表

表结构

Columns Name SQL TYPE
id INT
key INT
datatype INT
value INT
argset INT

表描述

记录方法的参数集合。

字段详细描述

bio_latency_sample表

表结构

Columns Name SQL TYPE
id INT
callchain_id INT
type INT
ipid INT
itid INT
start_ts INT
end_ts INT
latency_dur INT
tier INT
size INT
block_number TEXT
path TEXT
dur_per_4k INT

表描述

记录IO操作相关方法调用,及调用栈数据。

字段详细描述

callstack表

表结构

Columns Name SQL TYPE
id INT
ts INT
dur INT
callid INT
cat TEXT
name TEXT
depth INT
cookie INT
parent_id INT
argsetid INT
chainId TEXT
spanId TEXT
parentSpanId TEXT
flag TEXT

表描述

记录调用堆栈和异步调用信息,其中depth,stack_id和parent_stack_id仅在非异步的调用中有效。当cookid不为空时,为异步调用,此时callid为进程唯一号,否则为线程唯一号。

字段详细描述

clk_event_filter表

表结构

Columns Name SQL TYPE
id INT
type TEXT
name TEXT
cpu INT

表描述

记录时钟信息。

字段详细描述

clock_event_filter表

表结构

Columns Name SQL TYPE
id INT
type TEXT
name TEXT
cpu INT

表描述

此结构用来维护时钟事件,cpu与唯一的ID做关联。

主要字段描述

cpu_measure_filter表

表结构

Columns Name SQL TYPE
id INT
name TEXT
cpu INT

表描述

将cpu号作为key1,cpu的频率,空闲等状态作为key2,唯一确定一个filter_id。

主要字段描述

cpu_usage表

表结构

Columns Name SQL TYPE
ts INT
dur INT
total_load REAL
user_load REAL
system_load REAL
process_num INT

表描述

记录了/proc/pid/stat与CPU使用率相关的数据。

主要字段描述

data_dict表

表结构

Columns Name SQL TYPE
id INT
data TEXT

表描述

此表记录了一个数据类型ID和字符串的映射。

主要字段描述

data_type表

表结构

Columns Name SQL TYPE
id INT
typeId INT
desc TEXT

表描述

此表记录了一个数据类型ID和数据描述的映射。

主要字段描述

diskio表

表结构

Columns Name SQL TYPE
ts INT
dur INT
rd INT
wr INT
rd_speed REAL
wr_speed REAL
rd_count INT
wr_count INT
rd_count_speed REAL
wr_count_speed REAL

表描述

记录了与磁盘读写相关的数据。

主要字段描述

ebpf_callstack表

表结构

Columns Name SQL TYPE
id INT
callchain_id INT
depth TEXT
ip TEXT
symbols_id INT
file_path_id INT

表描述

记录了与磁盘读写相关的数据。

主要字段描述

file_system_sample表

表结构

Columns Name SQL TYPE
callchain_id INT
type INT
ipid INT
itid INT
start_ts INT
end_ts INT
dur INT
return_value TEXT
error_code TEXT
fd INT
file_id INT
size INT
first_argument TEXT
second_argument TEXT
third_argument TEXT
fourth_argument TEXT

表描述

记录了调用栈的相关信息。

主要字段描述

hidump表

表结构

Columns Name SQL TYPE
id INT
ts INT
fps INT

表描述

此表记录了设备的帧率信息,fps。

相关字段描述

hisys_event_measure表

表结构

Columns Name SQL TYPE
serial INT
ts INT
name_id INT
key_id INT
type INT
int_value REAL
string_value TEXT

表描述

记录所有的system event事件的相关数据,及其相关表的映射信息。

相关字段描述

instant表

表结构

Columns Name SQL TYPE
ts INT
name TEXT
ref INT
wakeup_from INT
ref_type TEXT
value REAL

表描述

记录了系统中的waking和wakeup事件。

字段描述

irq表

表结构

Columns Name SQL TYPE
id INT
ts INT
dur INT
callid INT
cat TEXT
name TEXT
depth INT
cookie INT
parent_id INT
argsetid INT
flag TEXT

表描述

记录中断相关事件。

相关字段描述

js_config表

表结构

Columns Name SQL TYPE
pid INT
type INT
interval INT
capture_numeric_value INT
trace_allocation INT
enable_cpu_profiler INT
cpu_profiler_interval INT

表描述

记录arkTs数据采集的相关配置。

相关字段描述

js_cpu_profiler_node表

表结构

Columns Name SQL TYPE
function_id INT
function_index INT
script_id INT
url_index INT
line_number INT
column_number INT
hit_count INT
children INT
parent_id INT

表描述

记录cpu profiler中node节点的数据。

相关字段描述

js_cpu_profiler_sample表

表结构

Columns Name SQL TYPE
id INT
function_id INT
start_time INT
end_time INT
dur INT

表描述

记录了cpu profiler 中sample节点的数据。

相关字段描述

js_heap_edges表

表结构

Columns Name SQL TYPE
file_id INT
edge_index INT
type INT
name_or_index INT
to_node INT
from_node_id INT
to_node_id INT

表描述

记录js内存数据类对象对应的成员的信息。

相关字段描述

js_heap_files表

表结构

Columns Name SQL TYPE
id INT
file_name TEXT
start_time INT
end_time INT
self_size INT

表描述

记录了js内存数据的文件名称和时间。

相关字段描述

js_heap_info表

表结构

Columns Name SQL TYPE
file_id INT
key TEXT
type INT
int_value INT
str_value TEXT

表描述

记录了js内存数据类型,如nodes和edges的字段类型和数据总数。

相关字段描述

js_heap_location表

表结构

Columns Name SQL TYPE
file_id INT
object_index INT
script_id INT
line INT
column INT

表描述

记录了js内存location节点相关数据,此表目前无抓取到的数据。

相关字段描述

js_heap_nodes表

表结构

Columns Name SQL TYPE
file_id INT
node_index TEXT
type INT
name INT
id TEXT
self_size INT
edge_count INT
trace_node_id INT
detachedness INT

表描述

记录了js内存数据中类对象的数据。

相关字段描述

js_heap_sample表

表结构

Columns Name SQL TYPE
file_id INT
timestamp_us INT
last_assigned_id INT

表描述

记录了timeline模式下的时间轴信息。

相关字段描述

js_heap_string表

表结构

Columns Name SQL TYPE
file_id INT
file_index INT
string TEXT

表描述

记录了js内存数据中的字符串。

相关字段描述

js_heap_trace_function_info表

表结构

Columns Name SQL TYPE
file_id INT
function_index INT
function_id INT
name INT
script_name INT
script_id INT
line INT
column INT

表描述

记录了timeline模式下的调用栈的每个函数信息。

相关字段描述

js_heap_trace_node表

表结构

Columns Name SQL TYPE
file_id INT
id INT
function_info_index INT
count INT
size INT
parent_id INT

表描述

记录了timeline模式下的调用栈的信息。

相关字段描述

app_startup表

表结构

Columns Name SQL TYPE
call_id INT
ipid INT
tid INT
start_time INT
end_time INT
start_name INT
packed_name INT

表描述

记录了应用启动的相关信息。

相关字段描述

static_intialize表

表结构

Columns Name SQL TYPE
call_id INT
ipid INT
tid INT
start_time INT
end_time INT
so_name INT
depth INT

表描述

记录了so初始化的相关信息。

相关字段描述

live_process表

表结构

Columns Name SQL TYPE
ts INT
dur INT
cpu_time INT
process_id INT
process_name TEXT
parent_process_id INT
uid INT
user_name TEXT
cpu_usage REAL
pss_info INT
thread_num INT
disk_writes INT
disk_reads INT

表描述

记录了一些实时的进程中(/proc/ P I D / s t a t u s / p r o c / PID/status、/proc/ PID/stat、/proc/stat)执行的一些数据(Monitor)。

主要字段描述

log表

表结构

Columns Name SQL TYPE
seq INT
ts INT
pid INT
tid INT
level TEXT
tag TEXT
context TEXT
origints INT

表描述

记录日志信息。

关键字段描述

measure表

表结构

Columns Name SQL TYPE
type TEXT
ts INT
dur INT
value INT
filter_id INT

表描述

记录所有的计量值。

关键字段描述

measure_filter表

表结构

Columns Name SQL TYPE
id INT
type TEXT
name TEXT
source_arg_set_id INT

表描述

记录一个递增的filterid队列,所有其他的filter类型在获取过程中,均从此数据列表中获取下一个可用的filter_id并做记录。

字段详细描述

过滤分类(type),过滤名称(key2),数据ID(key1)。
id: 唯一的filterId,与process_measure_filter, sys_event_filter中的id关联。
type:各种类型(cpu_measure_filter,clk_rate_filter,process_measure_filter...)
name: type的子类型。
source_arg_set_id: 同一个source_arg_set_id代表一组数据,一般取得是itid或者cpu编号。

meta表

表结构

Columns Name SQL TYPE
name TEXT
value TEXT

表描述

此表记录了数据解析或导出时的一些现场数据,比如使用的TraceStreamer版本, 工具的发布时间,数据解析的时间,数据的持续时长,以及原始数据的格式。

主要字段描述

native_hook表

表结构

Columns Name SQL TYPE
id INT
callchain_id INT
ipid INT
itid INT
event_type TEXT
sub_type_id NUM
start_ts INT
end_ts INT
dur INT
addr INT
heap_size INT
all_heap_size INT
current_size_dur INT
last_lib_id INT
last_symbol_id INT

表描述

记录native_hook抓取的某个进程的堆内存,内存映射相关数据。

关键字段描述

native_hook_frame表

表结构

Columns Name SQL TYPE
id INT
callchain_id INT
depth INT
ip INT
symbol_id INT
file_id INT
offset INT
symbol_offset INT
vaddr INT

表描述

记录了内存的申请和释放的堆栈。

相关字段描述

native_hook_statistic表

表结构

Columns Name SQL TYPE
id INT
callchain_id INT
ipid INT
ts INT
type INT
sub_type_id INT
apply_count INT
release_count INT
apply_size INT
release_size INT
last_lib_id INT
last_symbol_id INT

表描述

该表记录了内存申请/释放的统计信息。

关键字段描述

network表

表结构

Columns Name SQL TYPE
ts INT
dur INT
tx INT
rx INT
tx_speed REAL
rx_speed REAL
packet_in INT
packet_in_sec REAL
packet_out INT
packet_out_sec REAL
net_type TEXT

表描述

记录了网络数据传输相关的信息。

主要字段描述

paged_memory_sample表

表结构

Columns Name SQL TYPE
id INT
callchain_id INT
type INT
ipid INT
start_ts INT
end_ts INT
dur INT
size INT
addr TEXT
itid INT

表描述

记录了网络数据传输相关的信息。

主要字段描述

perf_callchain表

表结构

Columns Name SQL TYPE
id INT
callchain_id INT
depth INT
ip INT
vaddr_in_file INT
file_id INT
symbol_id INT
name TEXT

表描述

记录了Hiperf采样数据的调用栈信息。

主要字段描述

perf_files表

表结构

Columns Name SQL TYPE
id INT
file_id INT
serial_id INT
symbol TEXT
path TEXT

表描述

记录Hiperf工具采集到的函数符号表和文件名。

主要字段描述

perf_report表

表结构

Columns Name SQL TYPE
id INT
report_type TEXT
report_value TEXT

表描述

记录Hiperf工具采集数据时的配置信息。包括:抓取的事件类型,抓取数据的命令, 抓数据时指定的进程名称。

主要字段描述

perf_sample表

表结构

Columns Name SQL TYPE
id INT
callchain_id INT
timestamp INT
thread_id INT
event_count INT
event_type_id INT
timestamp_trace INT
cpu_id INT
thread_state TEXT

表描述

记录Hiperf工具的采样信息。

主要字段描述

perf_thread表

表结构

Columns Name SQL TYPE
id INT
thread_id INT
process_id INT
thread_name TEXT

表描述

记录Hiperf工具采集到的进程和线程数据。

主要字段描述

process表

表结构

Columns Name SQL TYPE
id INT
ipid INT
pid INT
name TEXT
start_ts INT
switch_count INT
thread_count INT
slice_count INT
mem_count INT

表描述

记录了进程相关数据。

关键字段描述

process_measure表

表结构

Columns Name SQL TYPE
type TEXT
ts INT
dur INT
value NUM
filter_id INT

表描述

保存进程的内存,堆栈值等所有计量值信息。

字段详细描述

process_measure_filter表

表结构

Columns Name SQL TYPE
id INT
name TEXT
ipid INT

表描述

将进程ID作为key1,进程的内存,界面刷新,屏幕亮度等信息作为key2,唯一确定一个filter_id, filter_id同时被记录在measure_filter表中。

字段详细描述

raw表

表结构

Columns Name SQL TYPE
id INT
ts INT
name TEXT
cpu INT
itid INT

表描述

记录了系统中的waking、wakup、cpu_idel、cpu_frequency数据。

相关字段描述

sched_slice表

表结构

Columns Name SQL TYPE
id INT
ts INT
dur INT
ts_end INT
cpu INT
itid INT
ipid INT
end_state TEXT
priority INT
arg_setid INT

表描述

此数据结构主要作为ThreadState的上下文使用,这张表是sched_switch事件的原始记录。

主要字段描述

smaps表

表结构

Columns Name SQL TYPE
id INT
timestamp INT
start_addr TEXT
end_addr TEXT
dirty INT
swapper INT
resident_size INT
pss INT
virtaul_size INT
reside REAL
protection_id INT
path_id INT
shared_clean INT
shared_dirty INT
private_clean INT
private_dirty INT
swap INT
swap_pss INT
type INT

表描述

记录进程的内存消耗的相关信息采样,读取/proc/${pid}/smaps节点。

主要字段描述

stat表

表结构

Columns Name SQL TYPE
event_name TEXT
stat_type TEXT
count INT
serverity TEXT
source TEXT

表描述

此结果用来统计数据解析中各类数据的数据条数,数据和合法性,数据的匹配程度(begin-end),数据的损失等,查看此结构对应的表,可对数据源有基本的了解。

主要字段描述

symbols表

表结构

Columns Name SQL TYPE
id INT
funcname TEXT
addr INT

表描述

此表记录了被调用函数与其地址的映射关系。

相关字段描述

syscall表

表结构

Columns Name SQL TYPE
syscall_num INT
type TEXT
ipid INT
ts INT
ret INT

表描述

记录用户空间函数与内核空间函数相互调用记录。

相关字段描述

sys_event_filter表

表结构

Columns Name SQL TYPE
id INT
type TEXT
name TEXT

表描述

记录所有的filter。

相关字段描述

sys_mem_measure表

表结构

Columns Name SQL TYPE
type TEXT
ts INT
dur INT
value INT
filter_id INT

表描述

记录系统内存与系统虚拟内存。

相关字段描述

thread表

表结构

Columns Name SQL TYPE
id INT
itid INT
tid INT
name TEXT
start_ts INT
end_ts INT
ipid INT
is_main_thread INT
switch_count INT

表描述

记录了线程相关数据。

字段详细描述

thread_state表

表结构

Columns Name SQL TYPE
id INT
ts INT
dur INT
cpu INT
itid INT
tid INT
pid INT
state TEXT
argset_id INT

表描述

记录了线程状态相关的数据。

字段详细描述

'R', Runnable状态
  "S", interruptible sleep
  "D", uninterruptible sleep
  "D-IO", uninterruptible io
  "D-NIO", uninterruptible nio
  "Runing", Runing状态
  "T", Task stoped.
  "t"  Traced.
  "X", ExitedDead
  "Z", Zombie
  "P", Parked
  "I", Task_Dead
  "DK",
  "DK-IO",
  "DK-NIO",
  "TK", TracedKill
  "R+", WakeKill
  "R+", TaskNew
  "R-B", Task runnable binder.
  

clock_snapshot表

表结构

Columns Name SQL TYPE
clock_id INT
ts INT
clock_name TEXT

表描述

时钟号和时间,时钟名的映射表。

关键字段描述

datasource_clockid表

表结构

Columns Name SQL TYPE
data_source_name TEXT
clock_id INT

表描述

数据源和时钟号的映射表。

关键字段描述

frame_slice表

表结构

Columns Name SQL TYPE
ts INT
vsync INT
ipid INT
itid INT
callstack_id INT
dur INT
src TEXT
dst INT
type INT
type_desc TEXT
flag INT
depth INT
frame_no INT

表描述

应用的实际渲染帧和期望渲染帧的开始时间,持续时长,以及RenderService和App之间的关联关系。

关键字段描述

frame_maps表

表结构

Columns Name SQL TYPE
ts INT
src_row INT
dst_row INT

表描述

该表记录了app到RenderService的帧的映射关系,同frame_slice表中的src映射到dst的关系。

关键字段描述

gpu_slice表

表结构

Columns Name SQL TYPE
frame_row INT
dur INT

表描述

该表记录了每一帧数据在GPU上的渲染时长。

关键字段描述

trace_range表

表结构

Columns Name SQL TYPE
start_ts INT
end_ts INT

表描述

该表记录了解析开始时间以及结束时间。

关键字段描述

task_pool表

表结构

Columns Name SQL TYPE
id INT
allocation_task_row INT
execute_task_row INT
return_task_row INT
allocation_itid INT
execute_itid INT
return_itid INT
task_id INT
priority INT
execute_state INT
return_state INT
timeout_row INT

表描述

该表记录了任务池相关数据,与callstack表关联。

关键字段描述

animation表

表结构

Columns Name SQL TYPE
id INT
input_time INT
start_point INT
end_point INT
frame_info TEXT
name TEXT

表描述

该表记录动效的响应时延和完成时延等信息。

关键字段描述

dynamic_frame表

表结构

Columns Name SQL TYPE
id INT
x INT
y INT
width INT
height INT
alpha TEXT
name INT
end_time INT

表描述

该表记录动效帧的坐标、分辨率、结束时间等信息。

关键字段描述

device_info表

表结构

Columns Name SQL TYPE
id INT
physical_width INT
physical_height INT
physical_frame_rate INT

表描述

该表记录设备分辨率和帧率等信息。

关键字段描述

device_state表

表结构

Columns Name SQL TYPE
id INT
brightness INT
bt_state INT
location INT
wifi INT
stream_default INT
voice_call INT
music INT
stream_ring INT
media INT
voice_assistant INT
system INT
alarm INT
notification INT
bt_sco INT
enforced_audible INT
stream_dtmf INT
stream_tts INT
accessibility INT
recording INT
stream_all INT

表描述

该表记录设备屏幕亮度,蓝牙,位置,wifi,音乐,媒体等信息。该表目前暂未被使用。

关键字段描述

trace_config表

表结构

Columns Name SQL TYPE
id INT
trace_source INT
key INT
value INT

表描述

该表记录trace数据源,proto的事件-plugin与其process_name(目前只有HisysEvent事件在用)。

关键字段描述

memory_ashmem表

表结构

Columns Name SQL TYPE
id INT
ts INT
ipid INT
adj INT
fd INT
ashmem_name_id INT
size INT
pss INT
ashmem_id INT
time INT
ref_count INT
purged INT
flag INT

表描述

该表记录trace数据源/proc/purgeable_ashmem_trigger,proto的事件-plugin与其process_name(目前只有HisysEvent事件在用)。

关键字段描述

memory_dma表

表结构

Columns Name SQL TYPE
id INT
ts INT
ipid INT
fd INT
size INT
ino INT
exp_pid INT
exp_task_comm_id INT
buf_name_id INT
exp_name_id INT
flag INT

表描述

该表记录trace数据源取/proc/process_dmabuf_info节点,proto的事件-plugin与其process_name(目前只有HisysEvent事件在用)。

关键字段描述

memory_process_gpu表

表结构

Columns Name SQL TYPE
id INT
ts INT
gpu_name_id INT
all_gpu_size INT
addr TEXT
ipid INT
itid INT
used_gpu_size INT

表描述

该表记录trace数据源读取/proc/gpu_memory节点

关键字段描述

memory_window_gpu表

表结构

Columns Name SQL TYPE
id INT
ts INT
window_name_id INT
window_id INT
module_name_id INT
category_name_id INT
size INT
count INT
purgeable_size INT
ipid INT

表描述

该表记录trace数据源/sys/kernel/debug/mali0/ctx/$(pidof xxx)_0/mem_profile

关键字段描述

static_initalize表

表结构

Columns Name SQL TYPE
id INT
ipid INT
tid INT
call_id INT
start_time INT
end_time INT
so_name TEXT
depth INT

表描述

该表记录了so初始化相关数据。

关键字段描述

memory_cpu表

表结构

Columns Name SQL TYPE
id INT
ts INT
total_size INT

表描述

该表记录了hidumper抓取的cpu的内存大小的相关数据。

关键字段描述

memory_profile表

表结构

Columns Name SQL TYPE
id INT
ts INT
channel_id INT
total_size INT

表描述

该表记录了读取/sys/kernel/debug/mali0/ctx/$(pidof xxx)_0/mem_profile节点相关数据。

关键字段描述

memory_rs_image表

表结构

Columns Name SQL TYPE
id INT
ts INT
ipid INT
mem_size INT
type_id INT
surface_name_id INT

表描述

该表记录了hidumper抓取的界面的内存大小的相关数据。

关键字段描述

hisys_all_event表

表结构

Columns Name SQL TYPE
id INT
domain_id INT
event_name_id INT
ts INT
type INT
time_zone TEXT
pid INT
tid INT
uid INT
level TEXT
tag TEXT
event_id INT
seq INT
info TEXT
contents TEXT

表描述

该表记录所有hisysevent采集到的原始数据。

关键字段描述