http链路跟踪

var start,dns, connect time.Time
var connectTime,dNSDoneTime, firstRespByteTime int64
// 创建客户端请求跟踪
trace := &httptrace.ClientTrace{
	DNSStart: func(dsi httptrace.DNSStartInfo) {
		dns = time.Now()
	},
	DNSDone: func(ddi httptrace.DNSDoneInfo) {
		dNSDoneTime = time.Since(dns).Milliseconds()
	},

	ConnectStart: func(network, addr string) { connect = time.Now() },
	ConnectDone: func(network, addr string, err error) {
		connectTime = time.Since(connect).Milliseconds()
	}
}
req = req.WithContext(httptrace.WithClientTrace(req.Context(), trace))