Linux 缺少 `perf record --append` 选项

Linux `perf record --append` option missing

https://linux.die.net/man/1/perf-record这样的联机联机帮助页建议 Linux perf 命令有一个选项支持增量分析,即合并来自多个不同运行的分析数据,通过 perf record --append.但是,在我的 perf 版本 4.15.18 的系统上,缺少该选项。我的 perf 版本太新还是太旧,无法使用 --append 选项?或者,如果缺少 --append 选项,我是否有另一种方法可以 merge/append 执行多次运行的结果并进行增量分析?

这个问题是在使用 LLVM 进行基于采样的分析时出现的。在 LLVM 中,基于检测的分析支持跨多个运行合并分析数据,我想知道我们是否可以用 perf.

做同样的事情

它很久以前就被删除了,参见 https://lore.kernel.org/patchwork/patch/391730/ and related discussion here: https://marc.info/?l=linux-kernel&m=137031146932578&w=2。看起来 --append 的实现方式相当简单:只需将分析数据的写入模式更改为“附加”,并且它在 perf report 上效果不佳,因此他们决定将其删除。

似乎有选项 --timestamp-filename 可以为输出文件名加上时间戳,这对于使用 perf 的批处理样本程序可能很有用。在 LLVM 中进行基于采样的优化时,我们可以使用 AutoFDO 将配置文件转换为 LLVM 可读的配置文件,并使用 llvm-profdata merge 合并所有内容。