- 性能平台
通过该平台可以使用pprof采集线上的服务指标数据生成CPU占用数据并自动绘制出火焰图,Top,以及函数调用图等。
1.1 火焰图
火焰图的深度代表了函数的调用栈,火焰图最深处就是正在执行的函数,上方的都是它的父函数,可以通过火焰图的深度分析函数的调用链;火焰图的宽度代表了函数的CPU占用率,宽度越大,表示CPU占用越多,可以通过火焰图的宽度分析函数的CPU耗时情况。
1.2 Top
可以列出程序函数耗时的函数
每一行表示一个函数的信息。前两列表示函数在 CPU 上运行的时间以及百分比;第三列是当前所有函数累加使用 CPU 的比例;第四列和第五列代表这个函数以及子函数运行所占用的时间和比例(也被称为累加值 cumulative),应该大于等于前两列的值;最后一列就是函数的名字。如果应用程序有性能问题,上面这些信息应该能告诉我们时间都花费在哪些函数的执行上了。
1.3 函数调用图
这个调用图包含了更多的信息,而且可视化的图像能让我们更清楚地理解整个应用程序的全貌。图中每个方框对应一个函数,方框越大代表执行的时间越久(包括它调用的子函数执行时间,但并不是正比的关系);方框之间的箭头代表着调用关系,箭头上的数字代表被调用函数的执行时间。