外观
如何理解多份 Trace 的 SQL 对比?
标准回答
先固定场景起止窗口和目标进程实例,按upid/utid关联线程,避免只凭相同进程名把不同生命周期混在一起。利用slice、thread_state和sched相关表计算阶段耗时及线程状态占比。
跨窗口切片要裁剪到重叠区间,过滤未结束或无效duration,注意纳秒与毫秒转换。统计后保留慢样本回看,避免把总时间误算为平均值,或者多层嵌套切片重复相加。
批量结果应带设备、提交、采集配置和失败原因。SQL查不到数据时先检查schema和采集覆盖,不把空结果当零耗时。后面工具章节提供可改参数的查询示例。
追问与回答
为什么不用 tid直接关联
操作系统ID可以复用,Perfetto的utid/upid用来区分时间线中的实例;批量分析还必须绑定正确进程窗口。
参考资料
内容来源
- Android 与 AI 工程 Wiki · 原条目
q034