如何使用 Intel Processor Trace 工具查看任意函数执行时间

在上一篇文章 PT_PERF: 基于 Intel PT 的时延性能分析工具 中,我们介绍了 Intel Processor Trace 时延分析工具的背景,功能和实现。 本篇文章我们主要介绍一下如何使用 PT_PERF 工具查看任意函数的执行时间,包括 on-cpu 和 off-cpu 的时间。 1 背景 时延是我们最直接判断一个函数执行效率的方式。我们最为习惯的是在编译前对程序埋点,但这费时费力,并且修改代码可能影响了程序的执行行为,造成统计误差。借助 eBPF 的

PT_PERF:基于 Intel PT 的时延性能分析工具

1 背景 1.1 常用性能分析方法 程序性能一直是开发人员和用户特别关注的指标,但其调优分析也是最为艰难的一个过程。作为系统研发人员,我们会花费大量时间来分析系统的性能瓶颈、定位开发过程中引入的性能回退,并解决可能周期性发生的性能抖动问题。 根据线程的执行模型,即是否调度在 CPU 上执行指令,我们通常会从 on-CPU 和 off-CPU 两个角度进行分析[1]。在 on-CPU 分析中,我们关注那些正在 CPU 上执行指令的线程,以识别 CPU 指令执行的热点。而