9.3.4 性能剖析 Profiling 熟悉 Golang 的开发者对 pprof 工具一定不陌生。进行软件性能调试和分析时,利用 pprof 提供的 CPU 和内存分析功能,深入了解 Golang 函数的执行时间和内存使用情况。 在可观测性领域,性能剖析(Profiling)的作用与 Go 语言中的 pprof 类似,都是对运行中的程序进行动态分析,生成程序运行时的详细数据(即 Profiles),全面了解程序资源的使用情况,确定代码和性能瓶颈之间的关联。 Profiles 数据一般表示成火焰图、堆栈图或内存分析图等形式,是从“是什么”到“为什么”这一过程中至关重要的依据。例如,通过链路追踪发现延迟产生的位置,然后依靠 Profiles 生成的火焰图进一步定位到具体的代码行。