in pkg/display/graph/dashboard/global.go [315:358]
func refresh(con context.Context, ctx *cli.Context, interval time.Duration) {
ticker := time.NewTicker(interval)
defer ticker.Stop()
initStartStr = ctx.String("start")
initEndStr = ctx.String("end")
if s := ctx.Generic("step"); s != nil {
initStep = s.(*model.StepEnumValue).Selected
}
_, start, err := interceptor.TryParseTime(initStartStr, initStep)
if err != nil {
return
}
_, end, err := interceptor.TryParseTime(initEndStr, initStep)
if err != nil {
return
}
curStartTime = start
curEndTime = end
for {
select {
case <-ticker.C:
d, err := updateDuration(interval)
if err != nil {
continue
}
data, err := dashboard.Global(ctx, d)
if err != nil {
continue
}
if err := updateAllWidgets(data); err != nil {
continue
}
case <-con.Done():
return
}
}
}