七叶笔记 » golang编程 » GitHub精选 | GO语言开源程序性能分析平台

GitHub精选 | GO语言开源程序性能分析平台

《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:

往期推荐:

相关文章