当前位置: 首页 > news >正文

golang生成并分析cpu prof文件

1. 定义一个接口,请求接口时,生成cpu.prof文件

在主协程中新启一个协程,当请求接口时,生成一个60秒的cpu.prof文件

go func() {http.HandleFunc("/prof", startProfileHandler)http.ListenAndServe(":9092", nil)}()

// startProfileHandler 启动 CPU profiling
func startProfileHandler(w http.ResponseWriter, r *http.Request) {// 创建 profile 文件f, err := os.Create("cpu.prof")if err != nil {return}defer f.Close()// 启动 CPU profilingif err := pprof.StartCPUProfile(f); err != nil {return}defer pprof.StopCPUProfile() // 在请求结束时停止 CPU profilingtime.Sleep(60 * time.Second)w.Write([]byte("CPU profiling completed, profile saved as cpu.prof"))
}

2. 分析cpu.prof

 go tool pprof -http=:8080 cpu.prof 

点击view, Flat%为占用cpu的百分比,从这里可以看出占用cpu最多的方法

http://www.lryc.cn/news/466689.html

相关文章:

  • 【Python爬虫实战】XPath与lxml实现高效XML/HTML数据解析
  • 软件测试学习笔记丨Selenium学习笔记:元素定位与操作
  • 在 HTML 中,<input> 元素支持的事件汇总
  • vue3【实战】 渲染 md 文件(markdown语法 .md后缀的文件)
  • Sora高端制造业WordPress外贸主题
  • windows安装superset及各种问题解决
  • JMeter模拟并发请求
  • 【小趴菜前端实习日记5】
  • 如何通过谷歌外推占据搜索引擎首页?
  • jmeter学习(6)逻辑控制器
  • Android14 和android12 在锁屏界面Keyguard输错5次密码后倒计时30秒时重启手机不显示倒计时
  • 智能时代摩托车一键启动无钥匙进入感受科技前线
  • 需要补充的技能
  • 15分钟学 Go 第 15 天:映射(Map)
  • element-plus 官方表格排序问题
  • AI语音模型在家宽业务中的应用
  • 零七生活API-文字转语音API使用示例
  • rpc的客户端为什么称为stub
  • RHCE--nginx实现多IP访问多网站
  • TikTok运营对IP有什么要求?
  • 大白话讲解:多模态大模型综述,通俗易懂!
  • 大数据-184 Elasticsearch - 原理剖析 - DocValues 机制原理 压缩与禁用
  • Java设计模式:工厂模式详解
  • 《Python游戏编程入门》注-第3章1
  • Java爬虫:获取数据的入门详解
  • GAMES104:17 游戏引擎的玩法系统:高级AI-学习笔记
  • 【Unity】Unity中获取网络时间进行每日和每月刷新
  • 微信小程序上传组件封装uploadHelper2.0使用整理
  • 力扣每日打卡挑战 3184. 构成整天的下标对数目 I
  • The First:Starknet如何让以太坊更快更安全?