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初始化相关数据。
-