Skip to content
阅读进度

如何理解多份 Trace 的 SQL 对比? ​

返回 性能与稳定性 目录

标准回答 ​

先固定场景起止窗口和目标进程实例,按upid/utid关联线程,避免只凭相同进程名把不同生命周期混在一起。利用slice、thread_state和sched相关表计算阶段耗时及线程状态占比。

跨窗口切片要裁剪到重叠区间,过滤未结束或无效duration,注意纳秒与毫秒转换。统计后保留慢样本回看,避免把总时间误算为平均值,或者多层嵌套切片重复相加。

批量结果应带设备、提交、采集配置和失败原因。SQL查不到数据时先检查schema和采集覆盖,不把空结果当零耗时。后面工具章节提供可改参数的查询示例。

追问与回答 ​

为什么不用 tid直接关联 ​

操作系统ID可以复用,Perfetto的utid/upid用来区分时间线中的实例;批量分析还必须绑定正确进程窗口。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。