91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Golang使用pprof監控性能

發布時間:2020-06-18 21:53:44 來源:網絡 閱讀:981 作者:阿澤Aze 欄目:開發技術

前言

之前一直研究過golang 的 pprof的性能分析,但是沒搞出火焰圖,后面查了一些資料學會了生成火焰圖。
今天我就用直接簡單暴力的方式的教程來說明怎么用Golang的pprof監控和生成火焰圖。

簡單使用pprof

一.在代碼里面寫監聽接口口。

#必須要 import "net/http/pprof"
    go func() {
        if err := http.ListenAndServe("0.0.0.0:6060", nil); err != nil {
            fmt.Println("0.0.0.0:6060", err.Error())
        }
    }()

如下圖所示:
Golang使用pprof監控性能

二.運行程序。

三.查看pprof性能

訪問 http://localhost:6060/debug/pprof/
Golang使用pprof監控性能
Golang使用pprof監控性能

如果你不想使用網頁的交互模式,可以再終端使用以下命令,當然每次都是新數據:

#查看堆信息
go tool pprof --text http://localhost:6060/debug/pprof/heap

結果如下:
Golang使用pprof監控性能

火焰圖

一、Go torch
go-torch是Uber公司開源的一款針對Go語言程序的火焰圖生成工具,能收集 stack traces,并把它們整理成火焰圖,直觀地程序給開發人員。

go-torch是基于使用BrendanGregg創建的火焰圖工具生成直觀的圖像,很方便地分析Go的各個方法所占用的CPU的時間, 火焰圖是一個新的方法來可視化CPU的使用情況,本文中我會展示如何使用它輔助我們排查問題。
二、安裝

1.首先,我們要配置FlameGraph的腳本
FlameGraph 是profile數據的可視化層工具,已被廣泛用于Python和Node

git clone https://github.com/brendangregg/FlameGraph.git

2.檢出完成后,把flamegraph.pl拷到我們機器環境變量$PATH的路徑中去,例如:

cp flamegraph.pl /usr/local/bin

3.在終端輸入 flamegraph.pl -h 是否安裝FlameGraph成功

Golang使用pprof監控性能

4.安裝go-torch

有了flamegraph的支持,我們接下來要使用go-torch展示profile的輸出,而安裝go-torch很簡單,我們使用下面的命令即可完成安裝

go get -v github.com/uber/go-torch

5.使用go-torch命令

①go-torch -h 查看幫助,如下:
Golang使用pprof監控性能

② 程序跑起來,執行go-torch如下:

#采集60秒的數據,在當前目錄下生成cpu.svg文件
go-torch -u http://127.0.0.1:6060 --seconds 60 -f cpu.svg

Golang使用pprof監控性能

③打開svg文件,查看火焰圖,如下:
Golang使用pprof監控性能

參考文章:

  1. https://lihaoquan.me/2017/1/1/Profiling-and-Optimizing-Go-using-go-torch.html
    2.http://xiaorui.cc/2016/03/20/golang%E4%BD%BF%E7%94%A8pprof%E7%9B%91%E6%8E%A7%E6%80%A7%E8%83%BD%E5%8F%8Agc%E8%B0%83%E4%BC%98/
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

谷城县| 台北市| 乌鲁木齐县| 大兴区| 永善县| 呼图壁县| 常州市| 凭祥市| 百色市| 德庆县| 南安市| 怀远县| 离岛区| 隆回县| 天门市| 洪洞县| 西昌市| 永嘉县| 璧山县| 闻喜县| 沅江市| 杭锦旗| 滕州市| 和平县| 乐都县| 河北区| 准格尔旗| 西林县| 什邡市| 油尖旺区| 阿拉尔市| 奉贤区| 南陵县| 岱山县| 合肥市| 沂南县| 汝州市| 封丘县| 繁昌县| 湾仔区| 江安县|