首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
beego
宝塔
V2EX  ›  Go

pprof 的端口可以换么?

  •  
  •   nomoon · 2016-08-13 05:17:18 +08:00 · 646 次点击
    这是一个创建于 1193 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我开了 80 端口出去,但这个会被任何人访问。可以给 pprof 单独绑一个端口么?
    6 回复  |  直到 2016-08-16 02:30:29 +08:00
        1
    yanyuan2046   2016-08-13 08:41:32 +08:00
    你现在的 pprof 部分 代码怎么写的?
        2
    zeayes   2016-08-13 09:20:01 +08:00
    重新起一个 goroutine ,只监听和处理 pprof 请求。
        3
    gamexg   2016-08-13 10:25:31 +08:00
    你看了 pprof 的代码就明白了。

    ```
    Package pprof

    func init(){
    http.Handle("/debug/pprof/",http.HandlerFunc(Index))
    http.Handle("/debug/pprof/cmdline",http.HandlerFunc(Cmdline))
    http.Handle("/debug/pprof/profile",http.HandlerFunc(Profile))
    http.Handle("/debug/pprof/symbol",http.HandlerFunc(Symbol))
    http.Handle("/debug/pprof/trace",http.HandlerFunc(Trace))
    }
    ```

    http.Handle 函数:

    ```
    Func Handle(pattern string,handler Handler){DefaultServeMux.Handle(pattern,handler)}

    ```

    也就是不适用标准库默认 DefaultServeMux 就不会出现 pprof 。
        4
    nomoon   2016-08-15 03:59:00 +08:00
    @yanyuan2046 直接 import 的,并没有单独写 pprof 的东西。
        5
    yanyuan2046   2016-08-15 09:26:49 +08:00
        6
    nomoon   2016-08-16 02:30:29 +08:00
    @yanyuan2046 我是现在起了一个监听 80 的 function 跑着我自己的东西。但我不想 pprof 也用 80 ,所以想问有没有办法单独为 pprof 开一个端口。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2393 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 29ms · UTC 15:12 · PVG 23:12 · LAX 07:12 · JFK 10:12
    ♥ Do have faith in what you're doing.