diff --git a/ide/src/base-ui/chart/pie/LitChartPie.ts b/ide/src/base-ui/chart/pie/LitChartPie.ts index ebca8cfee0e0886cda422c6bfb7ca5b2b1217804..560893146b932e392852f614dc61fb57d4416385 100644 --- a/ide/src/base-ui/chart/pie/LitChartPie.ts +++ b/ide/src/base-ui/chart/pie/LitChartPie.ts @@ -155,10 +155,10 @@ export class LitChartPie extends BaseElement { return; } this.litChartPieConfig = litChartPieCfg; - (this.shadowRoot!.querySelector('#root') as HTMLDivElement).className = - litChartPieCfg && litChartPieCfg.data.length > 0 ? 'bg_hasdata' : 'bg_nodata'; this.measure(); this.render(); + (this.shadowRoot!.querySelector('#root') as HTMLDivElement).className = + this.data.length > 0 ? 'bg_hasdata' : 'bg_nodata'; } set dataSource(litChartPieArr: unknown[]) { @@ -214,7 +214,7 @@ export class LitChartPie extends BaseElement { 0 ); let labelArray: string[] = []; - this.litChartPieConfig.data.forEach((pieItem, index) => { + sum && this.litChartPieConfig.data.forEach((pieItem, index) => { let item: Sector = { id: `id-${Utils.uuid()}`, color: this.litChartPieConfig!.label.color diff --git a/ide/src/base-ui/chart/scatter/LitChartScatter.ts b/ide/src/base-ui/chart/scatter/LitChartScatter.ts index a18416fb70b98b7164db4319081427af5a1c6ca4..b962e9f8009b20971b9d394cb2aa66ef2d2c3f65 100644 --- a/ide/src/base-ui/chart/scatter/LitChartScatter.ts +++ b/ide/src/base-ui/chart/scatter/LitChartScatter.ts @@ -411,6 +411,9 @@ export class LitChartScatter extends BaseElement { } else if (canvasHeight - data.y < miniHeight && canvasWidth - data.x > minWidth) { this.scatterTipEL!.style.top = `${data.y - miniHeight}px`; this.scatterTipEL!.style.left = `${data.x}px`; + } else if (canvasWidth - data.x < minWidth && canvasHeight - data.y < miniHeight) { + this.scatterTipEL!.style.top = `${data.y - miniHeight}px`; + this.scatterTipEL!.style.left = `${data.x - minWidth}px`; } else { this.scatterTipEL!.style.top = `${data.y}px`; this.scatterTipEL!.style.left = `${data.x}px`; diff --git a/ide/src/base-ui/menu/LitMainMenu.ts b/ide/src/base-ui/menu/LitMainMenu.ts index a89732b0e114c1d443862909abbfc85b892615e4..1410109dac9177b65d88a1d6a4cd6f488af3c08e 100644 --- a/ide/src/base-ui/menu/LitMainMenu.ts +++ b/ide/src/base-ui/menu/LitMainMenu.ts @@ -185,25 +185,22 @@ export class LitMainMenu extends BaseElement { } // @ts-ignore if (v.fileChoose) { th.setAttribute('file', ''); - th.addEventListener('file-change', (e) => { + th.addEventListener('file-change', (e): void => { // @ts-ignore - if (v.fileHandler && !th.disabled) { - // @ts-ignore + if (v.fileHandler && !th.disabled) { // @ts-ignore v.fileHandler(e); } }); } else { th.removeAttribute('file'); - th.addEventListener('click', (e) => { + th.addEventListener('click', (e): void => { // @ts-ignore - if (v.clickHandler && !th.disabled) { - // @ts-ignore + if (v.clickHandler && !th.disabled) { // @ts-ignore v.clickHandler(v); } }); } // @ts-ignore - if (v.disabled !== undefined) { - // @ts-ignore + if (v.disabled !== undefined) { // @ts-ignore th.disabled = v.disabled; } secondGroup.appendChild(th); @@ -246,7 +243,12 @@ export class LitMainMenu extends BaseElement { item.clickHandler(item); } }); - } // @ts-ignore + } + // @ts-ignore + if (item.multi) { + th.multi = true; + } + // @ts-ignore if (item.disabled !== undefined) { // @ts-ignore th.disabled = item.disabled; @@ -294,7 +296,7 @@ export interface MenuGroup { describe: string; second: boolean; collapsed: boolean; - children: unknown; + children: MenuItem[]; icon: string; } @@ -302,6 +304,7 @@ export interface MenuItem { icon: string; title: string; fileModel?: string; + multi?: boolean; disabled?: boolean; fileChoose?: boolean; clickHandler?: Function; diff --git a/ide/src/base-ui/menu/LitMainMenuGroup.ts b/ide/src/base-ui/menu/LitMainMenuGroup.ts index d2df1984f16a6ef93a8cada1b7644156ce3e2178..1b8c9fb9a4d1f23e38ae633ff420dd9cb9efccc2 100644 --- a/ide/src/base-ui/menu/LitMainMenuGroup.ts +++ b/ide/src/base-ui/menu/LitMainMenuGroup.ts @@ -71,7 +71,7 @@ const initHtmlStyle: string = ` :host([describe]) .group-describe{ padding: 4px 24px 0 24px; color: #999 !important; - font-size: 1rem; + font-size: 12px; } :host([describe]) .group-name{ margin-top: 10px; diff --git a/ide/src/base-ui/menu/LitMainMenuItem.ts b/ide/src/base-ui/menu/LitMainMenuItem.ts index a4c1d9088db4071a833769534889ae6c5b7c268a..813c3988ff8d420af5807f4ea400e8ea555eaf53 100644 --- a/ide/src/base-ui/menu/LitMainMenuItem.ts +++ b/ide/src/base-ui/menu/LitMainMenuItem.ts @@ -91,7 +91,7 @@ export class LitMainMenuItem extends BaseElement { private fileEL: HTMLInputElement | undefined | null; static get observedAttributes(): string[] { - return ['title', 'icon', 'file', 'disabled']; + return ['title', 'icon', 'file', 'multi', 'disabled']; } get title(): string { @@ -102,6 +102,18 @@ export class LitMainMenuItem extends BaseElement { this.setAttribute('title', val); } + get multi(): boolean { + return this.hasAttribute('multi'); + } + + set multi(val: boolean) { + if (val) { + this.setAttribute('multi', ''); + } else { + this.removeAttribute('multi'); + } + } + get disabled(): boolean { return this.hasAttribute('disabled'); } @@ -150,7 +162,7 @@ export class LitMainMenuItem extends BaseElement { this.fileEL!.addEventListener('change', (event) => { let files = this.fileEL!.files; if (files && files.length > 0) { - if (this.titleEl!.textContent!.includes('long trace')) { + if (this.titleEl!.textContent!.includes('long trace') || this.multi) { this.dispatchEvent( new CustomEvent('file-change', { // @ts-ignore @@ -212,6 +224,17 @@ export class LitMainMenuItem extends BaseElement { } } break; + case 'multi': + if (this.hasAttribute('multi')) { + this.fileEL!.setAttribute('multiple', ''); + this.fileEL!.setAttribute('webkitdirectory', ''); + this.fileEL!.setAttribute('directory', ''); + } else { + this.fileEL!.removeAttribute('multiple'); + this.fileEL!.removeAttribute('webkitdirectory'); + this.fileEL!.removeAttribute('directory'); + } + break; case 'icon': if (this.iconEl) { this.iconEl.setAttribute('name', newValue); diff --git a/ide/src/base-ui/radiobox/LitRadioBox.ts b/ide/src/base-ui/radiobox/LitRadioBox.ts index 93e003a7aaffc06694c7efc83c911d12c83a14f0..00e25dcf856d54417d4a3b61596788855a8fa3b3 100644 --- a/ide/src/base-ui/radiobox/LitRadioBox.ts +++ b/ide/src/base-ui/radiobox/LitRadioBox.ts @@ -228,7 +228,7 @@ export class LitRadioBox extends BaseElement { this.radio = this.shadowRoot?.getElementById('radio') as HTMLInputElement; this.checked = this.checked; this.radio.addEventListener('change', () => { - const selector = this.group ? 'lit-radio[checked]' : 'lit-radio[name="${this.name}"][checked]'; + const selector = this.group ? 'lit-radio[checked]' : `lit-radio[name='${this.name}'][checked]`; const siblingNode = this.parent?.querySelector(selector) as LitRadioBox; if (siblingNode) { siblingNode.checked = false; diff --git a/ide/src/base-ui/select/LitSelect.ts b/ide/src/base-ui/select/LitSelect.ts index 505c018625e32e6a7d892adc6a2b162b6b6227d2..2623052e730b968a689b6cd4d6c3c240182d478c 100644 --- a/ide/src/base-ui/select/LitSelect.ts +++ b/ide/src/base-ui/select/LitSelect.ts @@ -29,6 +29,7 @@ export class LitSelect extends BaseElement { private bodyEl: unknown; private selectSearchEl: unknown; private selectMultipleRootEl: unknown; + private currentSelectedValue: string = ''; static get observedAttributes(): string[] { return [ @@ -166,27 +167,27 @@ export class LitSelect extends BaseElement { if (selectDataSource.length > 0) { // @ts-ignore this.bodyEl!.style.display = 'flex'; - this.querySelectorAll('lit-select-option').forEach((a) => this.removeChild(a)); // @ts-ignore + this.querySelectorAll('lit-select-option').forEach((a) => { + this.removeChild(a) + }); + // @ts-ignore selectDataSource.forEach((dateSourceBean: unknown) => { - let selectOption = document.createElement('lit-select-option'); // @ts-ignore - if (dateSourceBean.name) { - // @ts-ignore - selectOption.textContent = dateSourceBean.name; // @ts-ignore - selectOption.setAttribute('value', dateSourceBean.name); - } else if (dateSourceBean) { - // @ts-ignore - selectOption.textContent = dateSourceBean; // @ts-ignore - selectOption.setAttribute('value', dateSourceBean); - if ( - this.selectItem !== '' && - this.selectItem === this.value && - this.selectItem === selectOption.textContent - ) { + if (dateSourceBean) { + let selectOption = document.createElement('lit-select-option'); + let optionData = { + // @ts-ignore + value: dateSourceBean.value ? dateSourceBean.value : dateSourceBean.name || dateSourceBean, // @ts-ignore + name: dateSourceBean.name ? dateSourceBean.name : dateSourceBean, + }; + selectOption.textContent = optionData.name; + selectOption.setAttribute('value', optionData.value); + if (this.currentSelectedValue === optionData.value) { selectOption.setAttribute('selected', ''); - } // @ts-ignore + } + // @ts-ignore this.selectInputEl!.value = ''; + this.append(selectOption); } - this.append(selectOption); }); this.initOptions(); } else { @@ -220,8 +221,8 @@ export class LitSelect extends BaseElement { ${selectHtmlStr(this.listHeight)}
+ TraceStreamer可以将trace数据源转化为易于理解和使用的数据库。用户可以通过SmartPerf界面直观的研究系统跟踪数据,也可在理解TraceStreamer生成的数据库的基础上,在TraceStreamer的交互模式或者Smartperf的数据库查询模式下,使用SQL查询语句自由组装查看用户关心的数据。下文将对TraceStreamer生成的数据库进行详细描述,给用户使用SQL查询系统跟踪数据提供帮助。 +
+表名称 | +作用 | +
---|---|
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字段,可以查询线程归属进程。
+
+
select thread.* from thread, process where process.pid = 123 and
+ thread.ipid = process.id
+ thread_state表记录所有线程的运行状态信息,包含ts(状态起始时间),dur(状态持续时间),cpu,
+ itid, state(线程状态)。 thread表的id字段与thread_state表的itid字段相关联。
+
+
select thread_state.* from thread, thread_state where thread.tid = 123
+ and thread.id = thread_state.itid
+
+ 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时,表示当前行为栈顶数据。
+
+
+ native_hook_statistic表记录内存申请/释放的统计信息。通过callchain_id区分一组调用堆栈。每个统计事件将记录当前事件的callchain_id,并统计当前调用栈内存分配/释放的总次数和总大小。
+
+
select native_hook.* from thread, native_hook where thread.tid = 123
+ and thread.id = native_hook.itid
+ select * from native_hook_frame where callchain_id = 1
+ select * from native_hook_statistic where callchain_id = 1
+ log表记录日志信息。可以根据seq字段的连续性,来判断是否存在日志丢失的情况。
+
+
select * from log where tid = 123 and level = "error"
+ 已知同步后的时间戳为28463134340470,查询采样数据
+ select * from perf_sample where timestamp_trace =
+ 28463134340470
+
已知同步后的时间戳为28463134340470,查询采样数据对应的的调用栈信息
+ select A.* from perf_callchain as A, perf_sample as B where
+ B.timestamp_trace = 28463134340470 and A.callchain_id = B.callchain_id
+
已知同步后的时间戳为28463134277762,查询采样数据的函数名及文件路径
+ 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
+
已知线程号为6700,查询所有的采样记录
+ select * from perf_sample where thread_id = 6700
+
已知进程号为7863,查询所有的采样记录
+ select A.* from perf_sample as A, perf_thread as B where
+ B.process_id = 7863 and A.thread_id = B.thread_id
+
查询所有采样对应的事件类型
+ select A.*, B.report_value from perf_sample as A, perf_report as B
+ where A.event_type_id = B.id
+
frame_slice: 记录RS(RenderService)和应用的帧渲染。
+ gpu_slice: 记录RS的帧对应的gpu渲染时长。
+ frame_maps:记录应用到RS的帧的映射关系。
+
+
已知进程,查询进程对应的实际渲染帧
+ select * from frame_slice where ipid = 1
+
已知进程的实际渲染帧的dst为12,求其对应的RS进程的渲染帧
+ select * from frame_slice where id = 12
+
已知RS的渲染帧在frame_slice中所在行是14,求其对应的GPU渲染时长
+ select * from gpu_slice where frame_row = 14
+
js_heap_files:记录js内存数据的文件名和文件索引
+js_heap_nodes:记录js内存类对象数据
+ js_heap_edges:记录js内存类对象的成员数据
+ js_heap_trace_node:记录timeline的调用栈信息
+ js_heap_sample:记录timeline的时间轴信息
+
+
Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
app_name | +INT | +
app_key | +INT | +
记录HiSysevent上报事件中的IDE相关事件中APPNAME的表关联信息。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
key | +INT | +
datatype | +INT | +
value | +INT | +
argset | +INT | +
记录方法的参数集合。
+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操作相关方法调用,及调用栈数据。
+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为进程唯一号,否则为线程唯一号。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
type | +TEXT | +
name | +TEXT | +
cpu | +INT | +
记录时钟信息。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
type | +TEXT | +
name | +TEXT | +
cpu | +INT | +
此结构用来维护时钟事件,cpu与唯一的ID做关联。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
name | +TEXT | +
cpu | +INT | +
将cpu号作为key1,cpu的频率,空闲等状态作为key2,唯一确定一个filter_id。
+Columns Name | +SQL TYPE | +
---|---|
ts | +INT | +
dur | +INT | +
total_load | +REAL | +
user_load | +REAL | +
system_load | +REAL | +
process_num | +INT | +
记录了/proc/pid/stat与CPU使用率相关的数据。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
data | +TEXT | +
此表记录了一个数据类型ID和字符串的映射。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
typeId | +INT | +
desc | +TEXT | +
此表记录了一个数据类型ID和数据描述的映射。
+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 | +
记录了与磁盘读写相关的数据。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
callchain_id | +INT | +
depth | +TEXT | +
ip | +TEXT | +
symbols_id | +INT | +
file_path_id | +INT | +
记录了与磁盘读写相关的数据。
+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 | +
记录了调用栈的相关信息。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
ts | +INT | +
fps | +INT | +
此表记录了设备的帧率信息,fps。
+Columns Name | +SQL TYPE | +
---|---|
serial | +INT | +
ts | +INT | +
name_id | +INT | +
key_id | +INT | +
type | +INT | +
int_value | +REAL | +
string_value | +TEXT | +
记录所有的system event事件的相关数据,及其相关表的映射信息。
+Columns Name | +SQL TYPE | +
---|---|
ts | +INT | +
name | +TEXT | +
ref | +INT | +
wakeup_from | +INT | +
ref_type | +TEXT | +
value | +REAL | +
记录了系统中的waking和wakeup事件。
+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 | +
记录中断相关事件。
+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数据采集的相关配置。
+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节点的数据。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
function_id | +INT | +
start_time | +INT | +
end_time | +INT | +
dur | +INT | +
记录了cpu profiler 中sample节点的数据。
+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内存数据类对象对应的成员的信息。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
file_name | +TEXT | +
start_time | +INT | +
end_time | +INT | +
self_size | +INT | +
记录了js内存数据的文件名称和时间。
+Columns Name | +SQL TYPE | +
---|---|
file_id | +INT | +
key | +TEXT | +
type | +INT | +
int_value | +INT | +
str_value | +TEXT | +
记录了js内存数据类型,如nodes和edges的字段类型和数据总数。
+Columns Name | +SQL TYPE | +
---|---|
file_id | +INT | +
object_index | +INT | +
script_id | +INT | +
line | +INT | +
column | +INT | +
记录了js内存location节点相关数据,此表目前无抓取到的数据。
+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内存数据中类对象的数据。
+Columns Name | +SQL TYPE | +
---|---|
file_id | +INT | +
timestamp_us | +INT | +
last_assigned_id | +INT | +
记录了timeline模式下的时间轴信息。
+Columns Name | +SQL TYPE | +
---|---|
file_id | +INT | +
file_index | +INT | +
string | +TEXT | +
记录了js内存数据中的字符串。
+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模式下的调用栈的每个函数信息。
+Columns Name | +SQL TYPE | +
---|---|
file_id | +INT | +
id | +INT | +
function_info_index | +INT | +
count | +INT | +
size | +INT | +
parent_id | +INT | +
记录了timeline模式下的调用栈的信息。
+Columns Name | +SQL TYPE | +
---|---|
call_id | +INT | +
ipid | +INT | +
tid | +INT | +
start_time | +INT | +
end_time | +INT | +
start_name | +INT | +
packed_name | +INT | +
记录了应用启动的相关信息。
+Columns Name | +SQL TYPE | +
---|---|
call_id | +INT | +
ipid | +INT | +
tid | +INT | +
start_time | +INT | +
end_time | +INT | +
so_name | +INT | +
depth | +INT | +
记录了so初始化的相关信息。
+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/PID/stat、/proc/stat)执行的一些数据(Monitor)。 +
+Columns Name | +SQL TYPE | +
---|---|
seq | +INT | +
ts | +INT | +
pid | +INT | +
tid | +INT | +
level | +TEXT | +
tag | +TEXT | +
context | +TEXT | +
origints | +INT | +
记录日志信息。
+Columns Name | +SQL TYPE | +
---|---|
type | +TEXT | +
ts | +INT | +
dur | +INT | +
value | +INT | +
filter_id | +INT | +
记录所有的计量值。
+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编号。
Columns Name | +SQL TYPE | +
---|---|
name | +TEXT | +
value | +TEXT | +
此表记录了数据解析或导出时的一些现场数据,比如使用的TraceStreamer版本, + 工具的发布时间,数据解析的时间,数据的持续时长,以及原始数据的格式。
+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抓取的某个进程的堆内存,内存映射相关数据。
+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 | +
记录了内存的申请和释放的堆栈。
+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 | +
该表记录了内存申请/释放的统计信息。
+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 | +
记录了网络数据传输相关的信息。
+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 | +
记录了网络数据传输相关的信息。
+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采样数据的调用栈信息。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
file_id | +INT | +
serial_id | +INT | +
symbol | +TEXT | +
path | +TEXT | +
记录Hiperf工具采集到的函数符号表和文件名。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
report_type | +TEXT | +
report_value | +TEXT | +
记录Hiperf工具采集数据时的配置信息。包括:抓取的事件类型,抓取数据的命令, + 抓数据时指定的进程名称。
+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工具的采样信息。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
thread_id | +INT | +
process_id | +INT | +
thread_name | +TEXT | +
记录Hiperf工具采集到的进程和线程数据。
+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 | +
记录了进程相关数据。
+Columns Name | +SQL TYPE | +
---|---|
type | +TEXT | +
ts | +INT | +
dur | +INT | +
value | +NUM | +
filter_id | +INT | +
保存进程的内存,堆栈值等所有计量值信息。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
name | +TEXT | +
ipid | +INT | +
将进程ID作为key1,进程的内存,界面刷新,屏幕亮度等信息作为key2,唯一确定一个filter_id, + filter_id同时被记录在measure_filter表中。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
ts | +INT | +
name | +TEXT | +
cpu | +INT | +
itid | +INT | +
记录了系统中的waking、wakup、cpu_idel、cpu_frequency数据。
+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事件的原始记录。
+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节点。
+Columns Name | +SQL TYPE | +
---|---|
event_name | +TEXT | +
stat_type | +TEXT | +
count | +INT | +
serverity | +TEXT | +
source | +TEXT | +
+ 此结果用来统计数据解析中各类数据的数据条数,数据和合法性,数据的匹配程度(begin-end),数据的损失等,查看此结构对应的表,可对数据源有基本的了解。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
funcname | +TEXT | +
addr | +INT | +
此表记录了被调用函数与其地址的映射关系。
+Columns Name | +SQL TYPE | +
---|---|
syscall_num | +INT | +
type | +TEXT | +
ipid | +INT | +
ts | +INT | +
ret | +INT | +
记录用户空间函数与内核空间函数相互调用记录。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
type | +TEXT | +
name | +TEXT | +
记录所有的filter。
+Columns Name | +SQL TYPE | +
---|---|
type | +TEXT | +
ts | +INT | +
dur | +INT | +
value | +INT | +
filter_id | +INT | +
记录系统内存与系统虚拟内存。
+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 | +
记录了线程相关数据。
+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.
+
+ Columns Name | +SQL TYPE | +
---|---|
clock_id | +INT | +
ts | +INT | +
clock_name | +TEXT | +
时钟号和时间,时钟名的映射表。
+Columns Name | +SQL TYPE | +
---|---|
data_source_name | +TEXT | +
clock_id | +INT | +
数据源和时钟号的映射表。
+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之间的关联关系。
+Columns Name | +SQL TYPE | +
---|---|
ts | +INT | +
src_row | +INT | +
dst_row | +INT | +
+ 该表记录了app到RenderService的帧的映射关系,同frame_slice表中的src映射到dst的关系。
+Columns Name | +SQL TYPE | +
---|---|
frame_row | +INT | +
dur | +INT | +
该表记录了每一帧数据在GPU上的渲染时长。
+Columns Name | +SQL TYPE | +
---|---|
start_ts | +INT | +
end_ts | +INT | +
该表记录了解析开始时间以及结束时间。
+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表关联。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
input_time | +INT | +
start_point | +INT | +
end_point | +INT | +
frame_info | +TEXT | +
name | +TEXT | +
该表记录动效的响应时延和完成时延等信息。
+实际帧个数:实际帧帧率
H:APP_LIST_FLING, com.taobao.taobao
Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
x | +INT | +
y | +INT | +
width | +INT | +
height | +INT | +
alpha | +TEXT | +
name | +INT | +
end_time | +INT | +
该表记录动效帧的坐标、分辨率、结束时间等信息。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
physical_width | +INT | +
physical_height | +INT | +
physical_frame_rate | +INT | +
该表记录设备分辨率和帧率等信息。
+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,音乐,媒体等信息。该表目前暂未被使用。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
trace_source | +INT | +
key | +INT | +
value | +INT | +
+ 该表记录trace数据源,proto的事件-plugin与其process_name(目前只有HisysEvent事件在用)。
+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事件在用)。
+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事件在用)。
+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节点
+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
+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初始化相关数据。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
ts | +INT | +
total_size | +INT | +
该表记录了hidumper抓取的cpu的内存大小的相关数据。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
ts | +INT | +
channel_id | +INT | +
total_size | +INT | +
该表记录了读取/sys/kernel/debug/mali0/ctx/$(pidof + xxx)_0/mem_profile节点相关数据。
+Columns Name | +SQL TYPE | +
---|---|
id | +INT | +
ts | +INT | +
ipid | +INT | +
mem_size | +INT | +
type_id | +INT | +
surface_name_id | +INT | +
该表记录了hidumper抓取的界面的内存大小的相关数据。
+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采集到的原始数据。
+- TraceStreamer可以将trace数据源转化为易于理解和使用的数据库。用户可以通过SmartPerf界面直观的研究系统跟踪数据,也可在理解TraceStreamer生成的数据库的基础上,在TraceStreamer的交互模式或者Smartperf的数据库查询模式下,使用SQL查询语句自由组装查看用户关心的数据。下文将对TraceStreamer生成的数据库进行详细描述,给用户使用SQL查询系统跟踪数据提供帮助。 -
-表名称 | -作用 | -
---|---|
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_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_filter | -过滤进程 | -
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初始化相关数据 | -
symbols | -记录系统调用名称和其函数指针的对应关系,trace中用addr来映射function_name来节省存储空间 | -
syscall | -记录用户空间函数与内核空间函数相互调用记录 | -
sys_event_filter | -记录所有的filter | -
sys_mem_measure | -记录了所有的系统内存相关的测量信息 | -
task_pool | -记录任务池相关数据,与callstack表相关联 | -
thread | -记录所有的线程信息 | -
thread_filter | -过滤线程 | -
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_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初始化数据 | -
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_filter | -- | -ftrace-plugin | -进程计量表的辅助表 | -
process_measure | -- | -ftrace-plugin | -进程内存 | -
process_measure_filter | -- | -ftrace-plugin | -process_measure的辅助表 | -
raw | -- | -ftrace-plugin | -线程唤醒信息 | -
sched_slice | -- | -ftrace-plugin | -配合现场状态表使用,dsched_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数据的时长 | -
thread_filter | -通用的 | -ftrace-plugin | -线程计量跟踪表(比较少用) | -
clock_snapshot | -通用的 | -通用的 | -时钟号和时间,时钟名的映射表 | -
datasource_clockid | -通用的 | -通用的 | -数据源和时钟号的映射表 | -
task_pool | -- | -- | -任务池数据 | -
- 当一个进程或者线程结束后,系统可能再次将该进程号或者线程号分配给其他进程或者线程,造成一个进程号或线程号代表多个进程或线程的情况。
-
- Process和Thread表中的id字段可以唯一标识进程和线程。process表中的id在其他表中用作ipid字段。thread表中的id在其他表中用作itid字段。
-
- thread表通过ipid字段关联process表的id字段,可以查询线程归属进程。
-
-
-
- select thread.* from thread, process where process.pid = 123 and thread.ipid = process.id
-
-
- thread_state表记录所有线程的运行状态信息,包含ts(状态起始时间),dur(状态持续时间),cpu, itid,
- state(线程状态)。 thread表的id字段与thread_state表的itid字段相关联。
-
-
-
- select thread_state.* from thread, thread_state where thread.tid = 123 and thread.id = thread_state.itid
-
-
- native_hook表记录堆内存申请(AllocEvent)和释放(FreeEvent)数据。native_hook表通过ipid和itid字段分别与process和thread表的id字段关联,通过callChainId与native_hook_frame表的callChainId字段相关联。
-
- native_hook表字段解释如下:
-
- native_hook_frame表记录内存申请/释放的调用堆栈。通过callChainId区分一组调用堆栈,depth为堆栈深度,depth为0时,表示当前行为栈顶数据。
-
-
-
- native_hook_statistic表记录内存申请/释放的统计信息。通过callChainId区分一组调用堆栈。每个统计事件将记录当前事件的callChainId,并统计当前调用栈内存分配/释放的总次数和总大小。
-
-
-
- select native_hook.* from thread, native_hook where thread.tid = 123 and thread.id = native_hook.itid
-
- select * from native_hook_frame where callchain_id = 1
- select * from native_hook_statistic where callchain_id = 1
-
- log表记录日志信息。可以根据seq字段的连续性,来判断是否存在日志丢失的情况。
-
-
-
select * from log where tid = 123 and level = "error"
-
- 已知同步后的时间戳为28463134340470,查询采样数据
-
- select * from perf_sample where timestamp_trace = 28463134340470
-
- 已知同步后的时间戳为28463134340470,查询采样数据对应的的调用栈信息
-
-
- select A.* from perf_callchain as A, perf_sample as B where B.timestamp_trace = 28463134340470 and
- A.sample_id = B.sample_id
-
-
- 已知同步后的时间戳为28463134277762,查询采样数据的函数名及文件路径
-
-
- 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
-
-
- 已知线程号为6700,查询所有的采样记录
-
- select * from perf_sample where thread_id = 6700
-
- 已知进程号为7863,查询所有的采样记录
-
-
- select A.* from perf_sample as A, perf_thread as B where B.process_id = 7863 and A.thread_id = B.thread_id
-
-
- 查询所有采样对应的事件类型
-
-
- select A.*, B.report_value from perf_sample as A, perf_report as B where A.event_type_id = B.id
-
-
- frame_slice: 记录RS(RenderService)和应用的帧渲染。
-
- gpu_slice: 记录RS的帧对应的gpu渲染时长。
-
- frame_maps:记录应用到RS的帧的映射关系。
-
-
-
- 已知进程,查询进程对应的实际渲染帧
-
- select * from frame_slice where ipid = 1
-
- 已知进程的实际渲染帧的dst为12,求其对应的RS进程的渲染帧
-
- select * from frame_slice where id = 12
-
- 已知RS的渲染帧在frame_slice中所在行是14,求其对应的GPU渲染时长
-
- select * from gpu_slice where frame_row = 14
-
js_heap_files:记录js内存数据的文件名和文件索引
-
- js_heap_nodes:记录js内存类对象数据
-
- js_heap_edges:记录js内存类对象的成员数据
-
- js_heap_trace_node:记录timeline的调用栈信息
-
- js_heap_sample:记录timeline的时间轴信息
-
-
-
Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
flag | -INT | -
app_name | -INT | -
app_key | -INT | -
记录HiSysevent上报事件中的IDE相关事件中APPNAME的表关联信息。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
key | -INT | -
datatype | -INT | -
value | -INT | -
argset | -INT | -
记录方法的参数集合。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
callchain_id | -INT | -
datatype | -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操作相关方法调用,及调用栈数据。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
ts | -INT | -
dur | -INT | -
callid | -INT | -
cat | -TEXT | -
identify | -INT | -
name | -TEXT | -
depth | -INT | -
cookie | -INT | -
parent_id | -INT | -
argsetid | -INT | -
chainId | -TEXT | -
spanId | -TEXT | -
parentSpanId | -TEXT | -
flag | -TEXT | -
args | -TEXT | -
- 记录调用堆栈和异步调用信息,其中depth,stack_id和parent_stack_id仅在非异步的调用中有效。当cookid不为空时,为异步调用,此时callid为进程唯一号,否则为线程唯一号。 -
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
type | -TEXT | -
name | -TEXT | -
cpu | -INT | -
记录时钟信息。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
type | -TEXT | -
name | -TEXT | -
cpu | -INT | -
此结构用来维护时钟事件,cpu与唯一的ID做关联。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
type | -TEXT | -
name | -TEXT | -
cpu | -INT | -
将cpu号作为key1,cpu的频率,空闲等状态作为key2,唯一确定一个filter_id。
-Columns Name | -SQL TYPE | -
---|---|
ts | -INT | -
dur | -INT | -
total_load | -REAL | -
user_load | -REAL | -
system_load | -REAL | -
process_num | -INT | -
记录了与CPU使用率相关的数据。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
data | -TEXT | -
此表记录了一个数据类型ID和字符串的映射。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
typeId | -INT | -
desc | -TEXT | -
此表记录了一个数据类型ID和数据描述的映射。
-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 | -
记录了与磁盘读写相关的数据。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
callchain_id | -INT | -
depth | -TEXT | -
ip | -TEXT | -
symbols_id | -INT | -
file_path_id | -INT | -
记录了与磁盘读写相关的数据。
-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 | -
记录了调用栈的相关信息。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
ts | -INT | -
fps | -INT | -
此表记录了设备的帧率信息,fps。
-Columns Name | -SQL TYPE | -
---|---|
serial | -INT | -
ts | -INT | -
name_id | -INT | -
key_id | -INT | -
type | -INT | -
int_value | -REAL | -
string_value | -TEXT | -
记录所有的system event事件的相关数据,及其相关表的映射信息。
-Columns Name | -SQL TYPE | -
---|---|
ts | -INT | -
name | -TEXT | -
ref | -INT | -
wakeup_from | -INT | -
ref_type | -TEXT | -
value | -REAL | -
记录了系统中的waking和wakeup事件。
-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 | -
args | -TEXT | -
记录中断相关事件。
-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数据采集的相关配置。
-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节点的数据。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
function_id | -INT | -
start_time | -INT | -
end_time | -INT | -
dur | -INT | -
记录了cpu profiler 中sample节点的数据。
-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内存数据类对象对应的成员的信息。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
file_name | -TEXT | -
start_time | -INT | -
end_time | -INT | -
pid | -INT | -
记录了js内存数据的文件名称和时间。
-Columns Name | -SQL TYPE | -
---|---|
file_id | -INT | -
key | -TEXT | -
type | -INT | -
int_value | -INT | -
str_value | -TEXT | -
记录了js内存数据类型,如nodes和edges的字段类型和数据总数。
-Columns Name | -SQL TYPE | -
---|---|
file_id | -INT | -
object_index | -INT | -
script_id | -INT | -
line | -INT | -
column | -INT | -
记录了js内存location节点相关数据,此表目前无抓取到的数据。
-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内存数据中类对象的数据。
-Columns Name | -SQL TYPE | -
---|---|
file_id | -INT | -
timestamp_us | -INT | -
last_assigned_id | -INT | -
记录了timeline模式下的时间轴信息。
-Columns Name | -SQL TYPE | -
---|---|
file_id | -INT | -
file_index | -INT | -
string | -TEXT | -
记录了js内存数据中的字符串。
-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模式下的调用栈的每个函数信息。
-Columns Name | -SQL TYPE | -
---|---|
file_id | -INT | -
id | -INT | -
function_info_index | -INT | -
count | -INT | -
size | -INT | -
parent_id | -INT | -
记录了timeline模式下的调用栈的信息。
-Columns Name | -SQL TYPE | -
---|---|
call_id | -INT | -
ipid | -INT | -
tid | -INT | -
start_time | -INT | -
end_time | -INT | -
start_name | -INT | -
packed_name | -INT | -
记录了应用启动的相关信息。
-Columns Name | -SQL TYPE | -
---|---|
call_id | -INT | -
ipid | -INT | -
tid | -INT | -
start_time | -INT | -
end_time | -INT | -
so_name | -INT | -
depth | -INT | -
记录了so初始化的相关信息。
-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 | -
记录了一些实时的进程中执行的一些数据(Monitor)。
-Columns Name | -SQL TYPE | -
---|---|
seq | -INT | -
ts | -INT | -
pid | -INT | -
tid | -INT | -
level | -TEXT | -
tag | -TEXT | -
context | -TEXT | -
origints | -INT | -
记录日志信息。
-Columns Name | -SQL TYPE | -
---|---|
type | -TEXT | -
ts | -INT | -
dur | -INT | -
value | -INT | -
filter_id | -INT | -
记录所有的计量值。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
type | -TEXT | -
name | -TEXT | -
source_arg_set_id | -INT | -
- 记录一个递增的filterid队列,所有其他的filter类型在获取过程中,均从此数据列表中获取下一个可用的filter_id并做记录。 -
-
- 过滤分类(type),过滤名称(key2),数据ID(key1)。
-
- 数据ID在process_measure_filter, sys_event_filter中作为id。
-
Columns Name | -SQL TYPE | -
---|---|
name | -TEXT | -
value | -TEXT | -
- 此表记录了数据解析或导出时的一些现场数据,比如使用的TraceStreamer版本, - 工具的发布时间,数据解析的时间,数据的持续时长,以及原始数据的格式。 -
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
callChainId | -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 | -
记录native_hook抓取的某个进程的堆内存,内存映射相关数据。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
callchain_id | -INT | -
depth | -INT | -
symbol_id | -INT | -
file_id | -INT | -
offset | -INT | -
symbol_offset | -INT | -
记录了内存的申请和释放的堆栈。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
callchain_id | -INT | -
ipid | -INT | -
ts | -INT | -
type | -INT | -
apply_count | -INT | -
release_count | -INT | -
apply_size | -INT | -
release_size | -INT | -
该表记录了内存申请/释放的统计信息。
-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 | -
记录了网络数据传输相关的信息。
-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 | -
记录了网络数据传输相关的信息。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
callchain_id | -INT | -
depth | -INT | -
vaddr_in_file | -INT | -
file_id | -INT | -
symbol_id | -INT | -
name | -TEXT | -
记录了Hiperf采样数据的调用栈信息。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
file_id | -INT | -
serial_id | -INT | -
symbol | -TEXT | -
path | -TEXT | -
记录Hiperf工具采集到的函数符号表和文件名。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
report_type | -TEXT | -
report_value | -TEXT | -
- 记录Hiperf工具采集数据时的配置信息。包括:抓取的事件类型,抓取数据的命令, 抓数据时指定的进程名称。 -
-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工具的采样信息。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
thread_id | -INT | -
process_id | -INT | -
thread_name | -TEXT | -
记录Hiperf工具采集到的进程和线程数据。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
ipid | -INT | -
type | -TEXT | -
pid | -INT | -
name | -TEXT | -
start_ts | -INT | -
switch_count | -INT | -
thread_count | -INT | -
slice_count | -INT | -
mem_count | -INT | -
记录了进程相关数据。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
type | -TEXT | -
name | -TEXT | -
ipid | -INT | -
- 将进程ID作为key1,进程的内存,界面刷新,屏幕亮度等信息作为key2,唯一确定一个filter_id, - filter_id同时被记录在filter表中。 -
-Columns Name | -SQL TYPE | -
---|---|
type | -TEXT | -
ts | -INT | -
value | -NUM | -
filter_id | -INT | -
保存进程的内存,堆栈值等所有计量值信息。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
type | -TEXT | -
name | -TEXT | -
ipid | -INT | -
- 将进程ID作为key1,进程的内存,界面刷新,屏幕亮度等信息作为key2,唯一确定一个filter_id, - filter_id同时被记录在measure_filter表中。 -
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
type | -TEXT | -
ts | -INT | -
name | -TEXT | -
cpu | -INT | -
itid | -INT | -
记录了系统中的waking、wakup、cpu_idel、cpu_frequency数据。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
type | -TEXT | -
ts | -INT | -
dur | -INT | -
ts_end | -INT | -
cpu | -INT | -
itid | -INT | -
end_state | -TEXT | -
priority | -INT | -
此数据结构主要作为ThreadState的上下文使用,这张表是sched_switch事件的原始记录。
-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 | -
记录进程的内存消耗的相关信息采样。
-Columns Name | -SQL TYPE | -
---|---|
event_name | -TEXT | -
stat_type | -TEXT | -
count | -INT | -
serverity | -TEXT | -
source | -TEXT | -
- 此结果用来统计数据解析中各类数据的数据条数,数据和合法性,数据的匹配程度(begin-end),数据的损失等,查看此结构对应的表,可对数据源有基本的了解。 -
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
funcname | -TEXT | -
addr | -INT | -
此表记录了被调用函数与其地址的映射关系。
-Columns Name | -SQL TYPE | -
---|---|
syscall_num | -INT | -
type | -TEXT | -
ipid | -INT | -
ts | -INT | -
ret | -INT | -
记录用户空间函数与内核空间函数相互调用记录。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
type | -TEXT | -
name | -TEXT | -
记录所有的filter。
-Columns Name | -SQL TYPE | -
---|---|
type | -TEXT | -
ts | -INT | -
value | -INT | -
filter_id | -INT | -
记录系统内存与系统虚拟内存。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
itid | -INT | -
type | -TEXT | -
tid | -INT | -
name | -TEXT | -
start_ts | -INT | -
end_ts | -INT | -
ipid | -INT | -
is_main_thread | -INT | -
switch_count | -INT | -
记录了线程相关数据。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
type | -TEXT | -
name | -TEXT | -
itid | -INT | -
- 将线程ID作为key1,线程的内存,界面刷新,屏幕亮度等信息作为key2,唯一确定一个filter_id, - filter_id同时被记录在filter表中。 -
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
type | -TEXT | -
ts | -INT | -
dur | -INT | -
cpu | -INT | -
itid | -INT | -
tid | -INT | -
pid | -INT | -
state | -TEXT | -
记录了线程状态相关的数据。
-'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.
-
- Columns Name | -SQL TYPE | -
---|---|
clock_id | -INT | -
ts | -INT | -
clock_name | -TEXT | -
时钟号和时间,时钟名的映射表。
-Columns Name | -SQL TYPE | -
---|---|
data_source_name | -TEXT | -
clock_id | -INT | -
数据源和时钟号的映射表。
-Columns Name | -SQL TYPE | -
---|---|
ts | -INT | -
vsync | -INT | -
ipid | -INT | -
itid | -INT | -
callstack_id | -INT | -
dur | -INT | -
src | -TEXT | -
dst | -INT | -
type | -INT | -
flag | -INT | -
depth | -INT | -
frame_no | -INT | -
应用的实际渲染帧和期望渲染帧的开始时间,持续时长,以及RenderService和App之间的关联关系。
-Columns Name | -SQL TYPE | -
---|---|
ts | -INT | -
src_row | -INT | -
dst_row | -INT | -
该表记录了app到RenderService的帧的映射关系,同frame_slice表中的src映射到dst的关系。
-Columns Name | -SQL TYPE | -
---|---|
frame_row | -INT | -
dur | -INT | -
该表记录了每一帧数据在GPU上的渲染时长。
-Columns Name | -SQL TYPE | -
---|---|
start_ts | -INT | -
end_ts | -INT | -
该表记录了解析开始时间以及结束时间。
-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 | -
execute_id | -INT | -
priority | -INT | -
execute_state | -INT | -
return_state | -INT | -
timeout_row | -INT | -
该表记录了任务池相关数据,与callstack表关联。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
input_time | -INT | -
start_point | -INT | -
end_point | -INT | -
该表记录动效的响应时延和完成时延等信息。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
x | -INT | -
y | -INT | -
width | -INT | -
height | -INT | -
alpha | -TEXT | -
name | -INT | -
end_time | -INT | -
该表记录动效帧的坐标、分辨率、结束时间等信息。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
physical_width | -INT | -
physical_height | -INT | -
physical_frame_rate | -INT | -
该表记录设备分辨率和帧率等信息。
-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,音乐,媒体等信息。
-Columns Name | -SQL TYPE | -
---|---|
id | -INT | -
trace_source | -INT | -
key | -INT | -
value | -INT | -
该表记录trace数据源,proto的事件-plugin与其process_name(目前只有HisysEvent事件在用)。
-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数据源,proto的事件-plugin与其process_name(目前只有HisysEvent事件在用)。
-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数据源,proto的事件-plugin与其process_name(目前只有HisysEvent事件在用)。
-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数据源,proto的事件-plugin与其process_name(目前只有HisysEvent事件在用)。
-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 | -
该表记录trace数据源,proto的事件-plugin与其process_name(目前只有HisysEvent事件在用)。
-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初始化相关数据。
-