今天安利一款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, 已修复上述问题