Post Thumbnail

Пакет net/http/httptrace из стандартной библиотеки Go позволяет отслеживать внутренние фазы HTTP-запроса: DNS-резолвинг, TCP-подключение, TLS-хендшейк, время до первого байта. Все это через ClientTrace, прикрепляемый к context.Context.

Автор показывает, как собрать CLI-утилиту в стиле curl -w и переиспользуемый http.RoundTripper для автоматического логирования таймингов каждого запроса, а также как отслеживать переиспользование соединений.

Весь код помещается в пару десятков строк и не требует внешних зависимостей.

Похожее