zdpgo_gin_pprof 为 zdpgo_gin 框架提供的pprof性能分析工具

打印 上一主题 下一主题

主题 547|帖子 547|积分 1641

zdpgo_gin_pprof

为zdpgo_gin框架提供的pprof性能分析工具
安装

  1. go get github.com/zhangdapeng520/zdpgo_gin_pprof
复制代码
利用教程

默认配置

  1. package main
  2. import (
  3.         gin "github.com/zhangdapeng520/zdpgo_gin"
  4.         pprof "github.com/zhangdapeng520/zdpgo_gin_pprof"
  5. )
  6. func main() {
  7.         router := gin.Default()
  8.         pprof.Register(router)
  9.         router.Run(":8080")
  10. }
复制代码
自界说配置

  1. package main
  2. import (
  3.         "net/http"
  4.         gin "github.com/zhangdapeng520/zdpgo_gin"
  5.         pprof "github.com/zhangdapeng520/zdpgo_gin_pprof"
  6. )
  7. func main() {
  8.         router := gin.Default()
  9.         adminGroup := router.Group("/admin", func(c *gin.Context) {
  10.                 if c.Request.Header.Get("Authorization") != "foobar" {
  11.                         c.AbortWithStatus(http.StatusForbidden)
  12.                         return
  13.                 }
  14.                 c.Next()
  15.         })
  16.         pprof.RouteRegister(adminGroup, "pprof")
  17.         router.Run(":8080")
  18. }
复制代码
浏览器访问如下页面

查看文字版pprof信息
http://localhost:8080/debug/pprof/
图形化查看:
  1. go tool pprof -http="127.0.0.1:8089" http://127.0.0.1:8080/debug/pprof/goroutine
复制代码
必要安装:https://graphviz.org/download/
参数说明



  • allocs:内存分配,历史累计
  • block:导致阻塞的堆栈记录,历史累计
  • cmdline:当出息序命令行完整调用路径
  • goroutine:当出息序所有goroutine堆栈信息,及时变化
  • heap:活动对象内存分配情况,及时变化
  • mutex:锁竞争记录,历史累计
  • profile:cpu利用情况
  • threadcreate:新线程创建情况
  • trace:当出息序执行链路
  • flat:当前函数的数据,不含调用其他函数
  • flat%:当前函数分配占比
  • sum%:本身和前面所有的flat%累积值
  • cum:当前函数及当前函数调用其他函数分配总和
  • cum%:当前函数及当前函数调用其他函数分配总和占比
利用 go tool

利用pprof工具查看堆配置文件:
  1. go tool pprof http://localhost:8080/debug/pprof/heap
复制代码
大概看看30秒的CPU配置文件:
  1. go tool pprof http://localhost:8080/debug/pprof/profile
复制代码
大概在调用runtime之后查看运行例程阻塞配置文件
  1. go tool pprof http://localhost:8080/debug/pprof/block
复制代码
大概收集5秒的执行跟踪:
  1. wget http://localhost:8080/debug/pprof/trace?seconds=5
复制代码
版本历史

v0.1.0



  • 基础代码

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

万有斥力

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表