diff --git a/cmd/swarm/swarm-smoke/feed_upload_and_sync.go b/cmd/swarm/swarm-smoke/feed_upload_and_sync.go index 150a4ada64..eddce78888 100644 --- a/cmd/swarm/swarm-smoke/feed_upload_and_sync.go +++ b/cmd/swarm/swarm-smoke/feed_upload_and_sync.go @@ -309,27 +309,59 @@ func fetchFeed(topic string, user string, endpoint string, original []byte, ruid log.Trace("http get request (feed)", "ruid", ruid, "api", endpoint, "topic", topic, "user", user) + tn := time.Now() reqUri := endpoint + "/bzz-feed:/?topic=" + topic + "&user=" + user req, _ := http.NewRequest("GET", reqUri, nil) trace := &httptrace.ClientTrace{ - GetConn: func(_ string) { log.Trace("http get request (feed) - GetConn") }, - GotConn: func(_ httptrace.GotConnInfo) { log.Trace("http get request (feed) - GotConn") }, - PutIdleConn: func(err error) { log.Trace("http get request (feed) - PutIdleConn", "err", err) }, - GotFirstResponseByte: func() { log.Trace("http get request (feed) - GotFirstResponseByte") }, - Got100Continue: func() { log.Trace("http get request (feed) - Got100Continue") }, - DNSStart: func(_ httptrace.DNSStartInfo) { log.Trace("http get request (feed) - DNSStart") }, - DNSDone: func(_ httptrace.DNSDoneInfo) { log.Trace("http get request (feed) - DNSDone") }, + GetConn: func(_ string) { + log.Trace("http get request (feed) - GetConn") + metrics.GetOrRegisterResettingTimer("feed-and-sync.fetch.clienttrace.getconn", nil).Update(time.Since(tn)) + }, + GotConn: func(_ httptrace.GotConnInfo) { + log.Trace("http get request (feed) - GotConn") + metrics.GetOrRegisterResettingTimer("feed-and-sync.fetch.clienttrace.gotconn", nil).Update(time.Since(tn)) + }, + PutIdleConn: func(err error) { + log.Trace("http get request (feed) - PutIdleConn", "err", err) + metrics.GetOrRegisterResettingTimer("feed-and-sync.fetch.clienttrace.putidle", nil).Update(time.Since(tn)) + }, + GotFirstResponseByte: func() { + log.Trace("http get request (feed) - GotFirstResponseByte") + metrics.GetOrRegisterResettingTimer("feed-and-sync.fetch.clienttrace.firstbyte", nil).Update(time.Since(tn)) + }, + Got100Continue: func() { + log.Trace("http get request (feed) - Got100Continue") + metrics.GetOrRegisterResettingTimer("feed-and-sync.fetch.clienttrace.got100continue", nil).Update(time.Since(tn)) + }, + DNSStart: func(_ httptrace.DNSStartInfo) { + log.Trace("http get request (feed) - DNSStart") + metrics.GetOrRegisterResettingTimer("feed-and-sync.fetch.clienttrace.dnsstart", nil).Update(time.Since(tn)) + }, + DNSDone: func(_ httptrace.DNSDoneInfo) { + log.Trace("http get request (feed) - DNSDone") + metrics.GetOrRegisterResettingTimer("feed-and-sync.fetch.clienttrace.dnsdone", nil).Update(time.Since(tn)) + }, ConnectStart: func(network, addr string) { log.Trace("http get request (feed) - ConnectStart", "network", network, "addr", addr) + metrics.GetOrRegisterResettingTimer("feed-and-sync.fetch.clienttrace.connectstart", nil).Update(time.Since(tn)) }, ConnectDone: func(network, addr string, err error) { log.Trace("http get request (feed) - ConnectDone", "network", network, "addr", addr, "err", err) - + metrics.GetOrRegisterResettingTimer("feed-and-sync.fetch.clienttrace.connectdone", nil).Update(time.Since(tn)) + }, + WroteHeaders: func() { + log.Trace("http get request (feed) - WroteHeaders(request)") + metrics.GetOrRegisterResettingTimer("feed-and-sync.fetch.clienttrace.wroteheaders", nil).Update(time.Since(tn)) + }, + Wait100Continue: func() { + log.Trace("http get request (feed) - Wait100Continue") + metrics.GetOrRegisterResettingTimer("feed-and-sync.fetch.clienttrace.wait100continue", nil).Update(time.Since(tn)) }, - WroteHeaders: func() { log.Trace("http get request (feed) - WroteHeaders(request)") }, - Wait100Continue: func() { log.Trace("http get request (feed) - Wait100Continue") }, - WroteRequest: func(_ httptrace.WroteRequestInfo) { log.Trace("http get request (feed) - WroteRequest") }, + WroteRequest: func(_ httptrace.WroteRequestInfo) { + log.Trace("http get request (feed) - WroteRequest") + metrics.GetOrRegisterResettingTimer("feed-and-sync.fetch.clienttrace.wroterequest", nil).Update(time.Since(tn)) + }, } req = req.WithContext(httptrace.WithClientTrace(req.Context(), trace)) transport := http.DefaultTransport diff --git a/cmd/swarm/swarm-smoke/upload_and_sync.go b/cmd/swarm/swarm-smoke/upload_and_sync.go index 084716df95..792f5cfb31 100644 --- a/cmd/swarm/swarm-smoke/upload_and_sync.go +++ b/cmd/swarm/swarm-smoke/upload_and_sync.go @@ -140,26 +140,58 @@ func fetch(hash string, endpoint string, original []byte, ruid string) error { log.Trace("http get request", "ruid", ruid, "api", endpoint, "hash", hash) + tn := time.Now() reqUri := endpoint + "/bzz:/" + hash + "/" req, _ := http.NewRequest("GET", reqUri, nil) trace := &httptrace.ClientTrace{ - GetConn: func(_ string) { log.Trace("http get request - GetConn") }, - GotConn: func(_ httptrace.GotConnInfo) { log.Trace("http get request - GotConn") }, - PutIdleConn: func(err error) { log.Trace("http get request - PutIdleConn", "err", err) }, - GotFirstResponseByte: func() { log.Trace("http get request - GotFirstResponseByte") }, - Got100Continue: func() { log.Trace("http get request - Got100Continue") }, - DNSStart: func(_ httptrace.DNSStartInfo) { log.Trace("http get request - DNSStart") }, - DNSDone: func(_ httptrace.DNSDoneInfo) { log.Trace("http get request - DNSDone") }, + GetConn: func(_ string) { + log.Trace("http get request - GetConn") + metrics.GetOrRegisterResettingTimer("upload-and-sync.fetch.clienttrace.getconn", nil).Update(time.Since(tn)) + }, + GotConn: func(_ httptrace.GotConnInfo) { + log.Trace("http get request - GotConn") + metrics.GetOrRegisterResettingTimer("upload-and-sync.fetch.clienttrace.gotconn", nil).Update(time.Since(tn)) + }, + PutIdleConn: func(err error) { + log.Trace("http get request - PutIdleConn", "err", err) + metrics.GetOrRegisterResettingTimer("upload-and-sync.fetch.clienttrace.putidle", nil).Update(time.Since(tn)) + }, + GotFirstResponseByte: func() { + log.Trace("http get request - GotFirstResponseByte") + metrics.GetOrRegisterResettingTimer("upload-and-sync.fetch.clienttrace.firstbyte", nil).Update(time.Since(tn)) + }, + Got100Continue: func() { + log.Trace("http get request - Got100Continue") + metrics.GetOrRegisterResettingTimer("upload-and-sync.fetch.clienttrace.got100continue", nil).Update(time.Since(tn)) + }, + DNSStart: func(_ httptrace.DNSStartInfo) { + log.Trace("http get request - DNSStart") + metrics.GetOrRegisterResettingTimer("upload-and-sync.fetch.clienttrace.dnsstart", nil).Update(time.Since(tn)) + }, + DNSDone: func(_ httptrace.DNSDoneInfo) { + log.Trace("http get request - DNSDone") + metrics.GetOrRegisterResettingTimer("upload-and-sync.fetch.clienttrace.dnsdone", nil).Update(time.Since(tn)) + }, ConnectStart: func(network, addr string) { log.Trace("http get request - ConnectStart", "network", network, "addr", addr) + metrics.GetOrRegisterResettingTimer("upload-and-sync.fetch.clienttrace.connectstart", nil).Update(time.Since(tn)) }, ConnectDone: func(network, addr string, err error) { log.Trace("http get request - ConnectDone", "network", network, "addr", addr, "err", err) + metrics.GetOrRegisterResettingTimer("upload-and-sync.fetch.clienttrace.connectdone", nil).Update(time.Since(tn)) + }, + WroteHeaders: func() { + log.Trace("http get request - WroteHeaders(request)") + metrics.GetOrRegisterResettingTimer("upload-and-sync.fetch.clienttrace.wroteheaders", nil).Update(time.Since(tn)) + }, + Wait100Continue: func() { + log.Trace("http get request - Wait100Continue") + metrics.GetOrRegisterResettingTimer("upload-and-sync.fetch.clienttrace.wait100continue", nil).Update(time.Since(tn)) + }, + WroteRequest: func(_ httptrace.WroteRequestInfo) { + log.Trace("http get request - WroteRequest") + metrics.GetOrRegisterResettingTimer("upload-and-sync.fetch.clienttrace.wroterequest", nil).Update(time.Since(tn)) }, - WroteHeaders: func() { log.Trace("http get request - WroteHeaders(request)") }, - Wait100Continue: func() { log.Trace("http get request - Wait100Continue") }, - - WroteRequest: func(_ httptrace.WroteRequestInfo) { log.Trace("http get request - WroteRequest") }, } req = req.WithContext(httptrace.WithClientTrace(req.Context(), trace)) transport := http.DefaultTransport