go语言监控(内部使用)

一、pprof

package main
import (
"math/rand"
"testing"
)

func BenchmarkRandom(b *testing.B) {
for i := 0; i < b.N; i++ {
    random()
}
}

func random() int {
return rand.Intn(100)
}

go test -c go_test.go
$ ./main.test -test.bench=. -test.cpuprofile=cpu-profile.prof
$ go tool pprof main.test cpu-profile.prof
(pprof) top 5

利用这个命令查看堆栈信息:

go tool pprof http://localhost:6060/debug/pprof/heap

利用这个命令可以查看程序CPU使用情况信息:

go tool pprof http://localhost:6060/debug/pprof/profile

使用这个命令可以查看block信息:

go tool pprof http://localhost:6060/debug/pprof/block

例如:

1)go tool pprof http://localhost:6060/debug/pprof/profile
2)top10
3)web 需要浏览器支持
top10.png
各字段含义:
  1. 采样点落在该函数中的次数
  2. 采样点落在该函数中的百分比
  3. 上一项的累积百分比
  4. 采样点落在该函数,以及被它调用的函数中的总次数
  5. 采样点落在该函数,以及被它调用的函数中的总次数百分比
  6. 函数名

设置采样率

go tool pprof --seconds 25 http://localhost:9090/debug/pprof/profile

生成svg文件

先安装sudo apt-get install graphviz(绘图工具)
go tool pprof -alloc_space -cum -svg http://127.0.0.1:8080/debug/pprof/heap > heap.svg
svg文件可以直接通过浏览器打开

矢量图.png

二、go + FlameGraph

go-torch是Uber公司开源的一款针对Golang程序的火焰图生成工具,能收集 stack traces,并把它们整理成火焰图,直观地程序给开发人员。go-torch是基于使用BrendanGregg创建的火焰图工具生成直观的图像,很方便地分析Go的各个方法所占用的CPU的时间。

1) 下载安装go-torch

go get github.com/uber/go-torch 编译生成二进制,放入bin下

2)下载火焰图工具

git clone https://github.com/brendangregg/FlameGraph.git

3)目录拷贝

cp flamegraph.pl /usr/local/bin

4) 采样抓取pprof数据

go-torch -u http://localhost:6060 -t 10
Writing svg to torch.svg

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转自:http://lihaoquan.me/2017/1/1/Profiling-and-Optimizing-...
    鲸息_Leon阅读 12,302评论 0 11
  • 程序各种指标 是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减...
    初级赛亚人阅读 10,686评论 0 4
  • Astronomygonova - A wrapper for libnova -- Celestial Mech...
    JumboWu阅读 12,991评论 0 41
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,084评论 19 139
  • 概要 profile就是定时采样,收集cpu,内存等信息,进而给出性能优化指导,golang 官方提供了golan...
    上海大坤哥阅读 17,822评论 0 16

友情链接更多精彩内容