返回顶部
首页 > 资讯 > 后端开发 > GO >golang开发如何安装go-torch火焰图
  • 219
分享到

golang开发如何安装go-torch火焰图

2023-06-25 15:06:02 219人浏览 安东尼
摘要

小编给大家分享一下golang开发如何安装Go-torch火焰图,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!安装    1、 安装go-torch   &nbs

小编给大家分享一下golang开发如何安装Go-torch火焰图,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

安装

    1、 安装go-torch

            go get GitHub.com/uber/go-torch  

    2、安装FlameGraph

            cd $GOPATH && git clone  https://github.com/brendangregg/FlameGraph.git

      export PATH=$PATH:$GOPATH/FlameGraph

【这步一定要设置,生成火焰图时会用到】

    3、安装graphviz (Centos, Redhat) 

      yum install graphviz

在程序的包含mian函数的文件中添加相应代码

使用

package mainimport ( "net/Http" "net/http/pprof" ) func main() { // 主函数中添加go func(){ http.HandleFunc("/debug/pprof/block", pprof.Index) http.HandleFunc("/debug/pprof/goroutine", pprof.Index) http.HandleFunc("/debug/pprof/heap", pprof.Index) http.ListenAndServe("0.0.0.0:8888", nil) //注意此处,遇到错误 }() //你的代码 }

然后压测的时候,在go 的bin目录下找到go-torch,去运行,会把缓存的数据输出到文件中

./go-torch -u http://localhost:8080/debug/pprof/ -p > profile-local.svg ./go-torch -u http://localhost:8080/debug/pprof/heap -p > heap-local.svg

golang开发如何安装go-torch火焰图

另一种自定义显示方式

代码修改

import "net/http"import _ "net/http/pprof"func main() {    // 主函数中添加    go func() {http.HandleFunc("/program/html", htmlHandler) // 用来查看自定义的内容log.Println(http.ListenAndServe("0.0.0.0:8080", nil))}()}

使用

# 用 -u 分析CPU使用情况./go-torch -u http://127.0.0.1:8080# 用 -alloc_space 来分析内存的临时分配情况./go-torch -alloc_space http://127.0.0.1:8080/debug/pprof/heap --colors=mem# 用 -inuse_space 来分析程序常驻内存的占用情况;./go-torch -inuse_space http://127.0.0.1:8080/debug/pprof/heap --colors=mem# 画出内存分配图go tool pprof -alloc_space -cum -svg http://127.0.0.1:8080/debug/pprof/heap > heap.svg

查看

使用浏览器查看svg文件,程序运行中,可以登录 http://127.0.0.1:10086/debug/pprof/ 查看程序实时状态 在此基础上,可以通过配置handle来实现自定义的内容查看,可以添加Html格式的输出,优化显示效果

func writeBuf(buffer *bytes.Buffer, fORMat string, a ...interface{}) {(*buffer).WriteString(fmt.Sprintf(format, a...))}func htmlHandler(w http.ResponseWriter, req *http.Request) {io.WriteString(w, statusHtml())}// 访问 localhost:8080/program/html 可以看到一个表格,一秒钟刷新一次func statusHtml() string {var buf bytes.Bufferbuf.WriteString("<html><meta http-equiv=\"refresh\" content=\"1\">" +"<body><h3>netflow-decoder status count</h3>" +"<table width=\"500px\" border=\"1\" cellpadding=\"5\" cellspacing=\"1\">" +"<tr><th>NAME</th><th>TOTAL</th><th>SPEED</th></tr>")writeBuf(&buf, "<tr><td>UDP</td><td>%d</td><td>%d</td></tr>",lastRecord.RecvUDP, currSpeed.RecvUDP)writeBuf(&buf, "</table><p>Count time: %s</p><p>Time now: %s</p>",countTime.Format("2006-01-02 15:04:05"), time.Now().Format("2006-01-02 15:04:05"))buf.WriteString("</body></html>")return buf.String()}

看完了这篇文章,相信你对“golang开发如何安装go-torch火焰图”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网GO频道,感谢各位的阅读!

您可能感兴趣的文档:

--结束END--

本文标题: golang开发如何安装go-torch火焰图

本文链接: https://lsjlt.com/news/305666.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • golang开发如何安装go-torch火焰图
    小编给大家分享一下golang开发如何安装go-torch火焰图,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!安装    1、 安装go-torch   &nbs...
    99+
    2023-06-25
  • golang开发安装go-torch火焰图操作步骤
    目录安装使用另一种自定义显示方式代码修改使用查看安装     1、 安装go-torch      &...
    99+
    2024-04-02
  • Linux系统中如何进行systemtap和火焰图分析及安装
    Linux系统中如何进行systemtap和火焰图分析及安装,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。SystemTap 是对 Linux 内核监控和跟踪的工具,它与DTr...
    99+
    2023-06-28
  • Golang安装教程:从零开始,教你如何正确安装golang开发环境!
    Golang安装教程:从零开始,教你如何正确安装Golang开发环境! 导语:随着Golang在近几年的爆炸式增长,越来越多的开发者开始学习和使用Golang进行开发。但是对于一些初学者来说,安装Golang...
    99+
    2024-01-19
    教程 开发环境 Golang安装
  • 搭建Go开发环境的Golang部署安装指南
    为了方便开发者能够快速搭建Go语言开发环境,我们将详细介绍如何在不同操作系统上部署和安装Golang,以及如何配置Go编程环境,并附上具体的代码示例。 1. Windows平台下的安装...
    99+
    2024-02-26
    环境 golang 部署 go语言 golang开发
  • TypeScript开发环境如何安装
    本篇内容介绍了“TypeScript开发环境如何安装”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、NPM 安装 TypeScript1、...
    99+
    2023-07-02
  • Golang开发Go依赖管理工具dep安装验证实现过程
    目录Go依赖管理工具环境要求目前版本安装验证初始化默认初始化优先从$GOPATH初始化Gopkg.tomlGopkg.lock常用命令dep ensuredep ensure -ad...
    99+
    2024-04-02
  • eclipse 如何安装 php开发环境
    这篇文章主要介绍了eclipse 如何安装 php开发环境,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。eclipse安装php开发环境的方法:1、在help里面选择Inst...
    99+
    2023-06-25
  • 学会配置Golang开发环境:简单入门Go语言部署安装
    Golang,是一种相对年轻的编程语言,由Google开发并于2009年正式发布。其设计目标是为了提高程序员的生产力和代码的可维护性。随着云计算、大数据等领域的迅速发展,Golang的...
    99+
    2024-02-25
    环境配置 学习golang 部署安装 go语言 golang开发
  • 如何使用golang的Websocket开发实时地图功能
    如何使用Golang的Websocket开发实时地图功能在当今的Web应用程序开发中,实时性需求越来越高,尤其是涉及地理位置相关的应用,例如实时地图功能。而Golang的Websocket技术可以提供快速且实时的双向通讯,适用于实时地图功能...
    99+
    2023-12-09
    Golang websocket 实时地图
  • 如何安装并配置C#开发环境
    安装和配置C#开发环境需要以下步骤:1.下载和安装.NET Framework:C#是运行在.NET Framework上的,因此首先需要下载和安装.NET Framework。你可以从Microsoft官方网站上下载最新版本的.NET F...
    99+
    2023-10-22
    C#开发
  • 如何在CentOS中安装Java开发环境
    要在CentOS中安装Java开发环境,可以按照以下步骤进行操作: 更新系统软件包: sudo yum update 安装J...
    99+
    2024-04-02
  • Golang开发Go依赖管理工具dep安装验证实现过程是什么
    这篇文章主要讲解了“Golang开发Go依赖管理工具dep安装验证实现过程是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Golang开发Go依赖管理工具dep安装验证实现过程是什么”吧...
    99+
    2023-06-25
  • Golang开发注意事项:如何处理并发安全性问题
    在当今互联网时代,由于系统需求复杂度的增加,对高并发性能和安全的要求也变得越发迫切。Golang作为一种并发编程语言,以其简洁高效的特性而备受青睐。然而,开发人员在使用Golang进行并发编程时,必须时刻关注并处理并发安全性问题。在本文中,...
    99+
    2023-11-22
    Golang 并发 安全性
  • 如何使用Go语言和Redis开发在线图书馆
    如何使用Go语言和Redis开发在线图书馆摘要:本文将教你如何使用Go语言和Redis来开发一个简单的在线图书馆。通过使用Go的高效性能和Redis的快速数据存储,我们可以轻松地创建一个功能强大且易于管理的图书馆系统。文章会介绍Go语言的基...
    99+
    2023-10-27
    Go语言 redis 在线图书馆开发
  • 微信小程序中如何安装开发工具
    这篇文章主要为大家展示了“微信小程序中如何安装开发工具”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序中如何安装开发工具”这篇文章吧。小程序账号申请成功之后的工作就是准备开发环境。微信小...
    99+
    2023-06-19
  • Perl开发环境在Windows下如何安装与配置
    这篇文章将为大家详细讲解有关Perl开发环境在Windows下如何安装与配置,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Windows下Perl开发环境的安装与配置Perl是一种深受世界各地开发者喜爱的...
    99+
    2023-06-17
  • Linux下如何安装Qt应用程序开发框架
    这篇文章主要介绍“Linux下如何安装Qt应用程序开发框架”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux下如何安装Qt应用程序开发框架”文章能帮助大家解决问题。Qt是一个跨平台的C++图形...
    99+
    2023-06-27
  • Mac系统如何安装Eclipse并搭建Android开发环境
    安装Eclipse并搭建Android开发环境分四步: 1、下载安装JDK 2、下载安装Eclipse 3、下载安装Android SDK 4、...
    99+
    2022-06-06
    mac系统 环境 Eclipse android开发 mac Android
  • CentOS 8上如何安装GCC实现开发编译功能
    这篇文章将为大家详细讲解有关CentOS 8上如何安装GCC实现开发编译功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。GNU Compiler Collection (GCC)是由C、C...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作