今天安利一款go语言开发的性能分析工具图形化(支持golang,python,ruby),几个月前兴起, 目前2.5k, 前景很好
按照官网说法:
主要解决了性能分析问题:(golang中分析安装各种第三方工具和调试,和图形化欠缺)
1.在代码中查找性能问题
2.解决CPU使用率高的问题
3.了解您的应用程序的调用树
4.跟踪随着时间的变化
按照官网说法,尝试了一番
性能分析图: 图形上有告警功能(Alters- Comming Soon), 暂时无法使用,快了
步骤: 1.运行server
docker run -it -p 4040:4040 --name=pyroscope pyroscope/pyroscope:latest server
2.代码注册
package main
import "github.com/pyroscope-io/pyroscope/pkg/agent/profiler"
func main() {
profiler.Start(profiler.Config{
ApplicationName: "gt_curd",
ServerAddress: "http://localhost:4040",
})
// your code goes here
}
3.运行如上图
tip:
ps: 目前不是太完善, 测试时,发现bug提示ERRO[xxxx] Direct upload queue is full, dropping a profile 初步猜测, 上传的线程队列满了,本地数据golang的性能分析profile文件需要清理,导致图形界面一片空白
方案:停止pyroscope docker服务重新启动,
docker restart pyroscope
, 确实好了,之前的数据果然dropping a profile
了,重新测试即可,估计本地存储profile方面问题,后续有望修复
ps: 提了issue, 已修复上述问题