在golang中用来做监控分析的库包,一般用都是pprof库包… pprof可以在两个地方引入:
其实net/http/pprof中只是使用runtime/pprof包来进行封装了一下,并在http端口上暴露出来。 runtime/pprof可以用来产生dump文件,再使用go tool pprof来分析这运行日志.
使用net/http/pprof可以做到直接看到当前web服务的状态,包括CPU占用情况和内存使用情况等。
这次重点说些pprof web显示的模式,我自己主要是关注heap,profile两个数据源。
关于golang运行环境heap的信息、内存mem等:http://localhost:7777/debug/pprof/heap
关于profile、CPU计算百分比等:http://localhost:7777/debug/pprof/profile
上面简单介绍了pprof的监控接口,但怎么查看这些数据? 有这么几个查看方式.
交互模式, 可以通过用help查看pprof各种命令。 每次运行后拿到的数据是固定的,不会动态更新该数据。
如果你不想使用交互模式,当然这每次都是新数据:
网页查看模式: