go-httpstat
is a golang package to trace golang HTTP request latency (DNSLookup, TCP Connection and so on). Because it uses httptrace
internally, just creating go-httpstat
powered context
and giving it your http.Request
kicks tracing (no big code modification is required). The original idea came from httpstat
command ( and Dave Cheney's golang implementation) 👏. This package now traces same latency infomation as them.
See usage and example on GoDoc.
NOTE: Since httptrace
was introduced after go1.7, this package may not work with old HTTP client. Especially, if you don't use net.DialContext
it can not trace DNS and connection.
Use go get
,
$ go get github.com/tcnksm/go-httpstat