《GitHub精选》是我们分享Github中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个使用Go语言开发的程序实时性能分析平台——Pyroscope。
Pyroscope是一个纯GO语言编写的程序性能分析平台,支持查看程序间的调用关系和CPU使用情况,并且使用了图表和调用树展示,方便查找代码中的性能问题。

特点:
- 可以保存多个应用的历年数据
- 可以自定义数据分析粒度(10秒到多年)
- CPU开销低,对磁盘空间要求不高
- 用户界面舒适简单

快速使用(以Ubuntu环境为例):
1、下载包
wget
2、安装
sudo apt-get install ./pyroscope_0.0.37_amd64.deb
3、启动服务
sudo systemctl start pyroscope-server
sudo systemctl enable pyroscope-server
4、分析程序(以GO程序为例)
package main
import "github.com/pyroscope-io/pyroscope/pkg/agent/profiler"
func main() {
profiler.Start(profiler.Config{
ApplicationName: "simple.golang.app",
// pyroscope服务器地址
ServerAddress: "#34;,
// 选择需要使用的分析器,默认全部开启
ProfileTypes: []profiler.ProfileType{
profiler.ProfileCPU,
profiler.ProfileAllocObjects,
profiler.ProfileAllocSpace,
profiler.ProfileInuseObjects,
profiler.ProfileInuseSpace,
},
})
//你的代码放在这里
}
5、在查看分析情况


Pyroscope目前支持Ruby、Python、Go、Linux eBPF、PHP和.NET分析,JAVA版本正在开发中,并且该项目一直在维护,未来还会加入更多功能,感兴趣的同学可以了解一下。
GitHub:
往期推荐: