You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@
10
10
This library extracts the battle-tested autoscaling algorithms from Knative Serving, making them available for use in custom Kubernetes controllers without requiring the full Knative stack. It provides:
11
11
12
12
-**Sliding window metric aggregation** for stable scaling decisions
13
-
-**Panic mode** for handling traffic spikes
13
+
-**Burst mode** for handling traffic spikes
14
14
-**Configurable scale-up/down rates** to prevent flapping
15
15
-**Scale-to-zero capabilities** with grace periods
16
16
-**Support for multiple metrics**
@@ -50,7 +50,7 @@ func main() {
50
50
// Create a metric snapshot (in real usage, collect from pods)
51
51
snapshot:= metrics.NewMetricSnapshot(
52
52
150.0, // stable value (e.g., total concurrent requests)
53
-
200.0, //panic value
53
+
200.0, //burst value
54
54
3, // current ready pods
55
55
time.Now(),
56
56
)
@@ -70,7 +70,7 @@ func main() {
70
70
71
71
-**`api/`** - Core types, interfaces, and data structures for the autoscaler
72
72
-**`config/`** - Configuration loading and validation from environment variables or maps
-**`metrics/`** - Time-windowed metric collection and aggregation
75
75
-**`transmitter/`** - Metric reporting interfaces for monitoring integration
76
76
-**`maxtimewindow/`** - Time window collection and aggregation
@@ -88,8 +88,8 @@ func main() {
88
88
### Sliding Window Algorithm
89
89
The core algorithm uses configurable time windows to aggregate metrics and make scaling decisions based on stable, averaged values rather than instantaneous spikes.
90
90
91
-
### Panic Mode
92
-
When load exceeds a configurable threshold, the autoscaler enters "panic mode" where it scales more aggressively and prevents scale-downs until the load stabilizes.
91
+
### Burst Mode
92
+
When load exceeds a configurable threshold, the autoscaler enters "burst mode" where it scales more aggressively and prevents scale-downs until the load stabilizes.
93
93
94
94
### Scale Bounds and Rates
95
95
Configure minimum/maximum pod counts and control how fast the autoscaler can scale up or down to prevent resource thrashing.
@@ -111,7 +111,7 @@ The library can be configured through environment variables (with `AUTOSCALER_`
111
111
-`AUTOSCALER_TARGET_VALUE`: Target metric value per pod (mutually exclusive with `TOTAL_TARGET_VALUE`)
112
112
-`AUTOSCALER_TOTAL_TARGET_VALUE`: Total target metric value across all pods (mutually exclusive with `TARGET_VALUE`)
113
113
-`AUTOSCALER_STABLE_WINDOW`: Time window for metric averaging (default: 60s)
114
-
-`AUTOSCALER_PANIC_THRESHOLD_PERCENTAGE`: When to enter panic mode (default: 200%)
114
+
-`AUTOSCALER_BURST_THRESHOLD_PERCENTAGE`: When to enter burst mode (default: 200%)
115
115
116
116
See [CONFIGURATION.md](docs/CONFIGURATION.md) for the complete list.
0 commit comments