【问题标题】:Construct flamegraph with start and end timestamps使用开始和结束时间戳构造火焰图
【发布时间】:2022-01-18 05:08:22
【问题描述】:

我正在收集具有每个功能的自定义检测的配置文件,格式很简单。配置文件转储中的每一行都有以下数据:

symbol address, start time, end time

是否可以将其转换为火焰图图表工具可消耗的格式?框架图工具使用哪些格式?

【问题讨论】:

    标签: performance profiling flamegraph


    【解决方案1】:

    a) 不,因为火焰图需要调用堆栈,并且 b) 火焰图很漂亮,但对于寻找加速没有用。速度问题很容易hide in them,而且他们通常忽略 I/O。还有here

    【讨论】:

    • 假设一切都是单线程的,是否可以从时间戳构造调用堆栈?
    • 不,因为在进入或退出例程时,您不知道从哪里调用它。听着,忘记火焰图。它们很受欢迎,因为它们很漂亮,但仅此而已。您需要的是在随机挂钟时间获取的堆栈样本(代码行级别),用户可以看到,而不是汇总。它们将直接导致任何需要花费时间的事情。
    • 假设单线程应用程序,调用顺序将按时间顺序排列。所以只要一个函数foo在另一个函数bar的[开始时间,结束时间]范围内,我们就不能安全地说bar调用foo...传递吗?
    • @A.K.我想。弄清楚层次结构是什么是一件苦差事。
    猜你喜欢
    • 1970-01-01
    • 2021-01-26
    • 2020-02-22
    • 2012-10-29
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多