From cc9ef2355eceeb5ab0d21e129980e81fe3f39958 Mon Sep 17 00:00:00 2001 From: Jaana Burcu Dogan Date: Fri, 23 Sep 2016 15:42:50 -0700 Subject: content: add introducing http tracing post Updates golang/go#17152. Change-Id: I08d4174ba62f6dc4028bd17a911b92fc373b81e4 Reviewed-on: https://go-review.googlesource.com/29685 Reviewed-by: Brad Fitzpatrick Reviewed-by: Andrew Gerrand --- content/http-tracing/trace.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 content/http-tracing/trace.go (limited to 'content/http-tracing/trace.go') diff --git a/content/http-tracing/trace.go b/content/http-tracing/trace.go new file mode 100644 index 0000000..2d6d75e --- /dev/null +++ b/content/http-tracing/trace.go @@ -0,0 +1,28 @@ +// +build OMIT + +package main + +import ( + "fmt" + "log" + "net/http" + "net/http/httptrace" +) + +func trace() { + // START OMIT + req, _ := http.NewRequest("GET", "http://example.com", nil) + trace := &httptrace.ClientTrace{ + DNSDone: func(dnsInfo httptrace.DNSDoneInfo) { + fmt.Printf("DNS Info: %+v\n", dnsInfo) + }, + GotConn: func(connInfo httptrace.GotConnInfo) { + fmt.Printf("Got Conn: %+v\n", connInfo) + }, + } + req = req.WithContext(httptrace.WithClientTrace(req.Context(), trace)) + if _, err := http.DefaultTransport.RoundTrip(req); err != nil { + log.Fatal(err) + } + // STOP OMIT +} -- cgit v1.2.3