Package pprof

import "net/http/pprof"
Overview
Index

Overview ▾

包pprof通过其HTTP服务器运行时性能分析数据提供pprof可视化工具所需的格式.

通常仅出于注册其HTTP处理程序的副作用而导入该软件包. 处理的路径均以/ debug / pprof /开头.

要使用pprof,请将此程序包链接到您的程序中:

import _ "net/http/pprof"

如果您的应用程序尚未运行http服务器,则需要启动一个. 将" net / http"和" log"添加到您的导入中,并将以下代码添加到您的主要功能中:

go func() {
	log.Println(http.ListenAndServe("localhost:6060", nil))
}()

然后使用pprof工具查看堆配置文件:

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

或查看30秒的CPU配置文件:

go tool pprof http://localhost:6060/debug/pprof/profile?seconds=30

或者在程序中调用runtime.SetBlockProfileRate之后查看goroutine阻止配置文件:

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

或收集5秒执行跟踪:

wget http://localhost:6060/debug/pprof/trace?seconds=5

或者在程序中调用runtime.SetMutexProfileFraction之后查看竞争的互斥对象的持有者:

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

要查看所有可用的配置文件,请在浏览器中打开http:// localhost:6060 / debug / pprof / .

要了解正在使用的设施,请访问

https://blog.golang.org/2011/06/profiling-go-programs.html

func Cmdline

func Cmdline(w http.ResponseWriter, r *http.Request)

Cmdline使用正在运行的程序的命令行进行响应,其参数由NUL字节分隔. 程序包初始化将其注册为/ debug / pprof / cmdline.

func Handler

func Handler(name string) http.Handler

处理程序返回一个服务于命名配置文件的HTTP处理程序.

func Index

func Index(w http.ResponseWriter, r *http.Request)

索引以请求命名的pprof格式的配置文件作为响应. 例如," / debug / pprof / heap"提供" heap"配置文件. 索引通过HTML页面列出可用配置文件来响应对" / debug / pprof /"的请求.

func Profile

func Profile(w http.ResponseWriter, r *http.Request)

配置文件以pprof格式的cpu配置文件作为响应. 分析将持续执行以秒为单位的GET参数指定的持续时间,如果未指定,则持续30秒. 程序包初始化将其注册为/ debug / pprof / profile.

func Symbol

func Symbol(w http.ResponseWriter, r *http.Request)

Symbol查找请求中列出的程序计数器,并通过将程序计数器映射到函数名称的表进行响应. 程序包初始化将其注册为/ debug / pprof / symbol.

func Trace 1.5

func Trace(w http.ResponseWriter, r *http.Request)

跟踪以二进制形式响应执行跟踪. 跟踪持续以GET参数为单位指定的持续时间,如果未指定,则持续1秒. 程序包初始化将其注册为/ debug / pprof / trace.

by  ICOPY.SITE