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

pprof 的端口可以换么?

  •  
  •   nomoon · 2016-08-13 05:17:18 +08:00 · 1711 次点击
    这是一个创建于 3026 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我开了 80 端口出去,但这个会被任何人访问。可以给 pprof 单独绑一个端口么?
    6 条回复    2016-08-16 02:30:29 +08:00
    yanyuan2046
        1
    yanyuan2046  
       2016-08-13 08:41:32 +08:00
    你现在的 pprof 部分 代码怎么写的?
    zeayes
        2
    zeayes  
       2016-08-13 09:20:01 +08:00
    重新起一个 goroutine ,只监听和处理 pprof 请求。
    gamexg
        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 。
    nomoon
        4
    nomoon  
    OP
       2016-08-15 03:59:00 +08:00
    @yanyuan2046 直接 import 的,并没有单独写 pprof 的东西。
    yanyuan2046
        5
    yanyuan2046  
       2016-08-15 09:26:49 +08:00
    nomoon
        6
    nomoon  
    OP
       2016-08-16 02:30:29 +08:00
    @yanyuan2046 我是现在起了一个监听 80 的 function 跑着我自己的东西。但我不想 pprof 也用 80 ,所以想问有没有办法单独为 pprof 开一个端口。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3292 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 12:50 · PVG 20:50 · LAX 04:50 · JFK 07:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.