cmd/swarm: use resetting timer to measure fetch time (#18474)

(cherry picked from commit a0b0db6305)
This commit is contained in:
Anton Evangelatov 2019-01-18 13:27:27 +01:00 committed by Rafael Matias
parent 475a0664c5
commit 878aa58ec6
No known key found for this signature in database
GPG Key ID: 1BC39532FB4A2DBD
1 changed files with 3 additions and 5 deletions

View File

@ -124,30 +124,28 @@ func uploadAndSync(c *cli.Context) error {
for { for {
start := time.Now() start := time.Now()
err := fetch(hash, endpoint, fhash, ruid) err := fetch(hash, endpoint, fhash, ruid)
fetchTime := time.Since(start)
if err != nil { if err != nil {
continue continue
} }
metrics.GetOrRegisterMeter("upload-and-sync.single.fetch-time", nil).Mark(int64(fetchTime)) metrics.GetOrRegisterResettingTimer("upload-and-sync.single.fetch-time", nil).UpdateSince(start)
wg.Done() wg.Done()
return return
} }
}(endpoints[randIndex], ruid) }(endpoints[randIndex], ruid)
} else { } else {
for _, endpoint := range endpoints { for _, endpoint := range endpoints[1:] {
ruid := uuid.New()[:8] ruid := uuid.New()[:8]
wg.Add(1) wg.Add(1)
go func(endpoint string, ruid string) { go func(endpoint string, ruid string) {
for { for {
start := time.Now() start := time.Now()
err := fetch(hash, endpoint, fhash, ruid) err := fetch(hash, endpoint, fhash, ruid)
fetchTime := time.Since(start)
if err != nil { if err != nil {
continue continue
} }
metrics.GetOrRegisterMeter("upload-and-sync.each.fetch-time", nil).Mark(int64(fetchTime)) metrics.GetOrRegisterResettingTimer("upload-and-sync.each.fetch-time", nil).UpdateSince(start)
wg.Done() wg.Done()
return return
} }