@@ -32,6 +32,10 @@ import (
3232 "k8s.io/klog"
3333)
3434
35+ const (
36+ MaxIncidentWindow = timeseries .Day
37+ )
38+
3539type LoadWorldF func (ctx context.Context , project * db.Project , from , to timeseries.Time ) (* model.World , error )
3640
3741type Api struct {
@@ -580,7 +584,7 @@ func (api *Api) PanelData(w http.ResponseWriter, r *http.Request, u *db.User) {
580584 }
581585 }
582586
583- from , to , _ := api .getTimeContext (r )
587+ from , to , _ , _ := api .getTimeContext (r )
584588 step := increaseStepForBigDurations (from , to , maxRefreshInterval )
585589 data , err := views .Dashboards .PanelData (r .Context (), promClients , config , from , to , step )
586590 if err != nil {
@@ -1772,16 +1776,17 @@ func (api *Api) LoadWorldByRequest(r *http.Request) (*model.World, *db.Project,
17721776 return nil , nil , nil , err
17731777 }
17741778
1775- from , to , _ := api .getTimeContext (r )
1779+ from , to , _ , truncated := api .getTimeContext (r )
17761780 world , cacheStatus , err := api .LoadWorld (r .Context (), project , from , to )
17771781 if world == nil {
17781782 step := increaseStepForBigDurations (from , to , 15 * timeseries .Second )
17791783 world = model .NewWorld (from , to .Add (- step ), step , step )
17801784 }
1785+ world .Ctx .Truncated = truncated
17811786 return world , project , cacheStatus , err
17821787}
17831788
1784- func (api * Api ) getTimeContext (r * http.Request ) (from timeseries.Time , to timeseries.Time , incident * model.ApplicationIncident ) {
1789+ func (api * Api ) getTimeContext (r * http.Request ) (from timeseries.Time , to timeseries.Time , incident * model.ApplicationIncident , truncated bool ) {
17851790 now := timeseries .Now ()
17861791 q := r .URL .Query ()
17871792 from = utils .ParseTime (now , q .Get ("from" ), now .Add (- timeseries .Hour ))
@@ -1802,6 +1807,10 @@ func (api *Api) getTimeContext(r *http.Request) (from timeseries.Time, to timese
18021807 } else {
18031808 to = now
18041809 }
1810+ if to .Sub (from ) > MaxIncidentWindow {
1811+ from = to .Add (- MaxIncidentWindow )
1812+ truncated = true
1813+ }
18051814 }
18061815 }
18071816 return
0 commit comments