自定義監控Go服務器運行的各項操作耗時:gosvr-monitor

jopen 9年前發布 | 39K 次閱讀 系統監控 gosvr-monitor

簡介

自定義監控條目,檢測程序運行時的各個操作耗費時長

編譯和運行

go get github.com/zheng-ji/gosvr-monitor

使用范例

import (
    "github.com/zheng-ji/gosvr-monitor"
)
func func_test() {
    timeStart := time.Now()
    defer func() {
        //defer 的時候統計監控, 用goroutine 使得不影響性能
        go monitor.StatByAction("WRITE", timeStart)
    }()
    ....
}

func main() {
    // 初始化monitor, 自定義監控的命令,如READ,WRITE等自定義名稱, 以及每次統計的閥值
    // 啟動監控服務
    monitor.InitMonitor([]string{"WRITE", "READ"}, 1)
    monitor.StartMonitorServer("0.0.0.0:7070")
    func_test()
    ...
}

訪問

curl "http://127.0.0.1:7070/info"

輸出

curl "http://127.0.0.1:7070/info"
WRITE (ms):15.000000
READ (ms):3.000000

項目主頁:http://www.baiduhome.net/lib/view/home/1439794256895

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!