Add stats interval parameter

This commit is contained in:
Richard Patel
2018-10-28 02:47:20 +02:00
parent 79f540bf29
commit a507110787
5 changed files with 53 additions and 31 deletions

View File

@@ -2,10 +2,7 @@ package main
import (
"context"
"github.com/sirupsen/logrus"
"net/url"
"sync/atomic"
"time"
)
type Job struct {
@@ -49,28 +46,6 @@ func (r *RemoteDir) Watch() {
r.Wait.Wait()
}
func Stats(c context.Context) {
var startedLast uint64 = 0
ticker := time.NewTicker(time.Second).C
for {
select {
case <-ticker:
startedNow := atomic.LoadUint64(&totalStarted)
logrus.WithFields(logrus.Fields{
"per_second": startedNow - startedLast,
"done": atomic.LoadUint64(&totalDone),
"retries": atomic.LoadUint64(&totalRetries),
"aborted": atomic.LoadUint64(&totalAborted),
}).Info("Stats")
startedLast = startedNow
case <-c.Done():
return
}
}
}
func makeJobBuffer() (chan<- Job, <-chan Job) {
in := make(chan Job)
out := make(chan Job)