in consumer/statistics.go [173:254]
func (sis *statsItemSet) init() {
go primitive.WithRecover(func() {
ticker := time.NewTicker(10 * time.Second)
defer ticker.Stop()
for {
select {
case <-sis.closed:
return
case <-ticker.C:
sis.samplingInSeconds()
}
}
})
go primitive.WithRecover(func() {
ticker := time.NewTicker(10 * time.Minute)
defer ticker.Stop()
for {
select {
case <-sis.closed:
return
case <-ticker.C:
sis.samplingInMinutes()
}
}
})
go primitive.WithRecover(func() {
ticker := time.NewTicker(time.Hour)
defer ticker.Stop()
for {
select {
case <-sis.closed:
return
case <-ticker.C:
sis.samplingInHour()
}
}
})
go primitive.WithRecover(func() {
time.Sleep(nextMinutesTime().Sub(time.Now()))
ticker := time.NewTicker(time.Minute)
defer ticker.Stop()
for {
select {
case <-sis.closed:
return
case <-ticker.C:
sis.printAtMinutes()
}
}
})
go primitive.WithRecover(func() {
time.Sleep(nextHourTime().Sub(time.Now()))
ticker := time.NewTicker(time.Hour)
defer ticker.Stop()
for {
select {
case <-sis.closed:
return
case <-ticker.C:
sis.printAtHour()
}
}
})
go primitive.WithRecover(func() {
time.Sleep(nextMonthTime().Sub(time.Now()))
ticker := time.NewTicker(24 * time.Hour)
defer ticker.Stop()
for {
select {
case <-sis.closed:
return
case <-ticker.C:
sis.printAtDay()
}
}
})
}