如何使用Perfetto通过trace分析性能问题(二)——使用SQL查询

本文章为官方文档译文,仅供个人日后复习使用,如有需求请移步至 https://perfetto.dev/docs/

数据表的继承规则

具体而言,表之间的继承规则如下( 感觉所谓"继承",更像是"子集"的概念 ):

  • 表中的每一行都有一个 id,这个 id 对于表的层次结构来说是唯一的。
    • 例如,每一个 track 都有一个 id ,它在所有轨道之间都是唯一的。(无论track的类型)
  • 如果表C从表P继承,则C中的每一行也将在P中具有相同的id
    • 这允许 id 作为行的“指针”; 可以对包含该行的任何表执行 id 查找
    • 例如,每个 process_counter_track 行都将在 counter_track 中具有一个匹配行,该行本身将在轨道中具有匹配行( 个人理解:process_counter_track 是 counter_track 的子表 )
  • 如果包含列 A 和 B 的表 C 继承自包含列 A 的 P,则 C 和 P 中的 A 将具有相同的数据
    • 例如
      • process_counter_track 有 name, unit, upid
      • counter_track 有 name, unit
      • track 有 name
    • Process _ counter _ track 中的每一行对于 track 和 counter _ track 中具有相同 id 的 name 都是相同
    • 类似地,process _ counter _ track 中的每一行对于 counter _ track 中具有相同 id 的 name 和 unit 都相同
  • 表中的每一行都有一个类型列。这指定了该行所属的更具体的表
    • 这允许将 每行 动态强制转换为其最特定的类型
    • 例如,如果 trace 中的一行实际上是 process_counter_track,那么它的类型列将是 “process_counter_track”

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过以上两个查询结果可以更加形象地理解表之间的继承关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值