火焰图能按时间顺序生成吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nyxsonsleep

火焰图能按时间顺序生成吗?

  •  
  •   nyxsonsleep 2024 年 8 月 20 日 1159 次点击
    这是一个创建于 612 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的实质需求:因为 perf 测试的软件是多个组件组合成的,我只负责其中一个小组件,我该怎么判断哪些是我的组件的函数呢?

    我 perf 之后的数据生成的火焰图看上去不是按照时间顺序排列的函数。我在组件的开始和结束位置添加了两个耗时函数,但是这两个函数在火焰图上直接相邻了,我的组件执行时间是这两个函数的几倍,如果是按时间顺序排列的话应该不会在相邻的位置上。又或者说他们应该是时间顺序的,但是大部分组件都基于 util 组件,导致函数被拆散排列到前面去了。

    6 条回复    2024-08-21 10:29:12 +08:00
    lumingsun
        1
    lumingsun  
       2024 年 8 月 20 日 via Android
    火焰图是没办法按执行顺序排序的,但是用浏览器打开火焰图是可以搜索函数名等等的,可以搜一下看看你的部分的占比。看你描述不太确定添加的耗时函数是否是你的组件内,如果是你的组件内,那火焰图的堆栈关系,这俩函数的下一层就是你的组件吧。
    nyxsonsleep
        2
    nyxsonsleep  
    OP
       2024 年 8 月 20 日
    @lumingsun 因为最后会被整合到一个文件里面去,函数名直接定位到 util 里面去了,基本不可用。下一层堆栈直接就是系统函数了。
    nyxsonsleep
        3
    nyxsonsleep  
    OP
       2024 年 8 月 20 日
    @lumingsun 我看到 perf 里面有 timestamp 这个不是时间戳吗?火焰图没法利用这个数据吗?
    lumingsun
        4
    lumingsun  
       2024 年 8 月 21 日
    @nyxsonsleep 关于 timestamp 和火焰图可以参考这些资料 https://www.brendangregg.com/FlameGraphs/cpuflamegraphs.html#FlameGraph
    nyxsonsleep
        6
    nyxsonsleep  
    OP
       2024 年 8 月 21 日
    @lumingsun #5 入口搜不到
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2796 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 01:25 PVG 09:25 LAX 18:25 JFK 21:25
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86