Go 语言

Go 语言教程 Go 语言环境安装 Go 语言结构 Go 语言基础语法 Go 语言数据类型 Go 语言变量 Go 语言常量 Go 语言运算符 Go 语言条件语句 Go 语言 if 语句 Go 语言 if...else 语句 Go 语言 if 语句嵌套 Go 语言 switch 语句 Go 语言 select 语句 Go 语言循环语句 Go 语言 for 循环 Go 语言循环嵌套 Go 语言 break 语句 Go 语言 continue 语句 Go 语言 goto 语句 Go 语言函数 Go 语言函数值传递值 Go 语言函数引用传递值 Go 语言函数作为值 Go 语言函数闭包 Go 语言函数方法 Go 语言变量作用域 Go 语言数组 Go 语言多维数组 Go 语言向函数传递数组 Go 语言指针 Go 语言指针数组 Go 语言指向指针的指针 Go 语言指针作为函数参数 Go 语言结构体 Go 语言切片(Slice) Go 语言范围(Range) Go 语言Map(集合) Go 语言递归函数 Go 语言类型转换 Go 语言接口 Go 错误处理 Go 语言开发工具Go 语言标准库

Go 语言标准库


package pprof

import "net/http/pprof"

pprof包通过它的HTTP服务端提供pprof可视化工具期望格式的运行时剖面文件数据服务。关于pprof的更多信息,参见http://code.google.com/p/google-perftools/

本包一般只需导入获取其注册HTTP处理器的副作用。处理器的路径以/debug/pprof/开始。

要使用pprof,在你的程序里导入本包:

import _ "net/http/pprof"

如果你的应用还没有运行http服务器,你需要开始一个http服务器。添加"net/http"包和"log"包到你的导入列表,然后在main函数开始处添加如下代码:

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

或查看go程阻塞剖面:

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

要查看所有可用的剖面,在你的浏览器阅读http://localhost:6060/debug/pprof/。要学习这些运转的设施,访问:

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

Go语言标准库 >>


  • func Handler(name string) http.Handler
  • func Cmdline(w http.ResponseWriter, r *http.Request)
  • func Index(w http.ResponseWriter, r *http.Request)
  • func Profile(w http.ResponseWriter, r *http.Request)
  • func Symbol(w http.ResponseWriter, r *http.Request)
  • func Handler

    func Handler(name string) http.Handler

    Handler返回一个提供name指定的剖面文件的服务的HTTP处理器。

    func Cmdline

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

    Cmdline回应执行中程序的命令行,采用NUL字节分隔的参数。本包将它注册在/debug/pprof/cmdline。

    func Index

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

    Index回复请求要求的pprof格式的剖面。例如,"/debug/pprof/heap"会回复"heap"剖面。Index会回复"/debug/pprof/" 请求一个列出所有可用的剖面的HTML页面。

    func Profile

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

    Profile回复pprof格式的CPU剖面。本包将它注册在/debug/pprof/profile。

    func Symbol

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

    Symbol查看请求中列出的程序计数器,回复一个映射程序计数器到函数名的表格。本包将它注册在/debug/pprof/symbol。