目标:
分析使用中的 m3query, m3coordinator 使用中的内存及CPU
通过 svg 可以看到在整个程序运行时候的时间消耗
需求
程序在编译前需要调用 pprof 库
默认下 m3coordinator 与 m3query 已经加载该库
源码
m3query 及 m3coordinator (main.go)
package main
import (
"flag"
_ "net/http/pprof" // pprof: for debug listen server if configured <- 已经载入 pprof
"os"
"github.com/m3db/m3/src/query/server"
"github.com/m3db/m3/src/x/etcd"
)
heap (内存) 检测
当前 7203 端口为 m3query 端口
获取内存使用率方法
/home/apps/terry/go/bin/go tool pprof -svg http://localhost:7203/debug/pprof/heap > heap_inuse.svg
Fetching profile over HTTP from http://localhost:7203/debug/pprof/heap?seconds=30
Please wait... (30s)
Save