V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
zhengji
V2EX  ›  分享创造

自定义监控 Go 服务器运行的各项操作耗时

  •  1
     
  •   zhengji ·
    zheng-ji · 2015-08-15 14:59:32 +08:00 · 3122 次点击
    这是一个创建于 3395 天前的主题,其中的信息可能已经有所发展或是发生改变。

    github地址: https://github.com/zheng-ji/gosvr-monitor

    在线上每秒170多次请求的项目中投入使用,希望也能帮到大家

    编译和运行

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

    How To Use

    import (
        "github.com/zheng-ji/gosvr-monitor"
    )
    func fun_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")
        fun_test
        ...
    }
    

    Output

    curl "http://127.0.0.1:7070/info"
    WRITE (ms):500.000000
    READ (ms):300.000000
    
    3 条回复    2015-08-15 18:10:21 +08:00
    Comdex
        1
    Comdex  
       2015-08-15 15:28:21 +08:00
    同时自自荐一个自己的golang图像处理工具库 https://github.com/Comdex/imgo
    Comdex
        2
    Comdex  
       2015-08-15 15:28:42 +08:00
    golang爱好者多多交流哈
    scys
        3
    scys  
       2015-08-15 18:10:21 +08:00
    刚好正在用golang~多谢~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2831 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 07:11 · PVG 15:11 · LAX 23:11 · JFK 02:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.