Как узнать текущее количество открытых TCP-соединений с обратным прокси - PullRequest
0 голосов
/ 22 мая 2019

У меня есть следующий простой обратный прокси:

func main() {
    go func() {
        for range time.NewTicker(30 * time.Second).C {
            log.Println("NUMBER OF OPEN CONNECTIONS")
        }
    }()

    http.HandleFunc("/", handleRequestAndRedirect)
    if err := http.ListenAndServe(getListenAddress(), nil); err != nil {
        panic(err)
    }
}

func handleRequestAndRedirect(res http.ResponseWriter, req *http.Request) {
    serveReverseProxy("https://example.com", res, req)
}

func serveReverseProxy(target string, res http.ResponseWriter, req *http.Request) {
    url, _ := url.Parse(target)
    req.URL.Host = url.Host
    req.URL.Scheme = url.Scheme
    req.Host = url.Host

    proxy := httputil.NewSingleHostReverseProxy(url)
    proxy.ServeHTTP(res, req)
}

Все, что я пытаюсь выяснить, как это сделать, это печатать текущее количество открытых TCP-соединений каждые 30 секунд. Есть ли какое-либо свойство, к которому я могу получить доступ в http или httputil для этого? Есть ли способ, которым я могу отслеживать это сам с минимальными изменениями в коде?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...