in pkg/display/graph/dashboard/global.go [319:359]
func refresh(ctx context.Context, interval time.Duration) {
ticker := time.NewTicker(interval)
defer ticker.Stop()
initStartStr = ctx.Value(contextkey.DurationStart{}).(string)
initEndStr = ctx.Value(contextkey.DurationEnd{}).(string)
initStep = ctx.Value(contextkey.DurationStep{}).(api.Step)
_, 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 <-ctx.Done():
return
}
}
}