go-graphite / carbonapi

Implementation of graphite API (graphite-web) in golang
Other
309 stars 140 forks source link

Use specified bootstrapInterval to adjust start time in holtWinters* functions #776

Closed carrieedwards closed 1 year ago

carrieedwards commented 1 year ago

This PR fixes an issue that was found with the holtWinters functions. Previously, the code was adjusting the start time of these functions by 7 days, which is the default value for the bootstrapInterval parameter. However, if a different bootstrapInterval was specified, when the series was retrieved via GetSeriesArg, the from value in the request was altered by subtracting the bootstrapInterval, and the previously fetched data was not matching the request due to the altered start time. Thus, nil results were being returned. This PR fixes this by factoring in the specified bootstrapInterval when adjusting the start time for holtWinters Functions, and only using the default of 7d if no bootstrapInterval is specified in the query.

See the Graphite-web implementation for more details (using holtWintersConfidenceBands as an example)