亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何啟動一個新的http服務器或使用現有的http服務器進行pprof?

如何啟動一個新的http服務器或使用現有的http服務器進行pprof?

Go
精慕HU 2022-08-01 18:53:21
pprof包文檔說通常,導入包只是為了防止注冊其 HTTP 處理程序的副作用。處理的路徑都以 /debug/pprof/ 開頭。文檔說,如果你已經運行了一個http服務器,你不需要啟動另一個,但如果你沒有使用DefaultServeMux,你將不得不向你正在使用的mux注冊處理程序。難道我不應該總是使用一個單獨的端口來表示 pprof 嗎?是否可以使用我用于普羅米修斯指標的相同端口?
查看完整描述

1 回答

?
MM們

TA貢獻1886條經驗 獲得超2個贊

net/http/pprof是一個方便的包。它總是在 上注冊處理程序,因為它是一個全局變量,它實際上可以做到這一點。DefaultServeMuxDefaultServeMux

如果你想在其他一些地方提供pprof結果,那真的沒什么;它所需要的只是調用一個,然后睡覺,或者調用一個對象。你可以看看net/http/pprof的來源,看看它是如何做到的。ServeMuxruntime/pprof.StartCPUProfile(w)http.ResponseWriterp.WriteTo(w, debug)runtime/pprof.Profile

在稍微好一點的宇宙中,將有一個可以在任何地方使用的函數,您將能夠導入它而無需隱式注冊任何內容,并且將有另一個包(例如)除了調用它之外什么都不做。然而,我們并不生活在那個宇宙中。net/http/pprofRegisterHandlers(*http.ServeMux)net/http/pprof/sugarpprof.RegisterHandlers(http.DefaultServeMux)init


查看完整回答
反對 回復 2022-08-01
  • 1 回答
  • 0 關注
  • 189 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號