Skip to content

Commit cf43b55

Browse files
authored
Adding debounce period also after resource started scale event (#29)
1 parent 18ddecf commit cf43b55

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

pkg/autoscaler/autoscaler.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,13 +185,16 @@ func (as *Autoscaler) checkResourcesToScale() error {
185185

186186
scaleEventDebounceDuration := as.getMaxScaleResourceWindowSize(resource)
187187

188-
// if the resource was scaled from zero, and it happened after biggest window ago do not scale
189-
if (resource.LastScaleEvent == scaler_types.ScaleFromZeroStartedScaleEvent ||
190-
resource.LastScaleEvent == scaler_types.ScaleFromZeroCompletedScaleEvent) &&
188+
// if the resource was scaled from zero or started, and the debounce period from then has not passed yet do not scale
189+
if ((resource.LastScaleEvent != nil) &&
190+
(*resource.LastScaleEvent == scaler_types.ResourceStartedScaleEvent ||
191+
*resource.LastScaleEvent == scaler_types.ScaleFromZeroStartedScaleEvent ||
192+
*resource.LastScaleEvent == scaler_types.ScaleFromZeroCompletedScaleEvent)) &&
191193
resource.LastScaleEventTime.After(now.Add(-1*scaleEventDebounceDuration)) {
192194
as.logger.DebugWith("Resource in debouncing period, not a scale-to-zero candidate",
193195
"resourceName", resource.Name,
194-
"LastScaleEventTime", resource.LastScaleEventTime,
196+
"LastScaleEvent", *resource.LastScaleEvent,
197+
"LastScaleEventTime", *resource.LastScaleEventTime,
195198
"scaleEventDebounceDuration", scaleEventDebounceDuration,
196199
"time", now)
197200
continue

0 commit comments

Comments
 (0)