summaryrefslogtreecommitdiff
path: root/multiload/autoscaler.c
diff options
context:
space:
mode:
Diffstat (limited to 'multiload/autoscaler.c')
-rw-r--r--multiload/autoscaler.c51
1 files changed, 0 insertions, 51 deletions
diff --git a/multiload/autoscaler.c b/multiload/autoscaler.c
deleted file mode 100644
index 735b2713..00000000
--- a/multiload/autoscaler.c
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <time.h>
-#include <glib.h>
-
-#include "autoscaler.h"
-
-/* i wish i could have used C99 initializers instead of writing this function */
-void autoscaler_init(AutoScaler *that, unsigned interval, unsigned floor)
-{
- that->update_interval = interval;
- that->floor = floor;
- that->max = 0;
- that->count = 0;
- that->last_update = 0;
- that->sum = 0.0f;
- that->last_average = 0.0f;
-}
-
-
-unsigned autoscaler_get_max(AutoScaler *that, unsigned current)
-{
- time_t now;
-
- that->sum += current;
- that->count++;
- time(&now);
-
- if((float)difftime(now, that->last_update) > that->update_interval)
- {
- float new_average = that->sum / that->count;
- float average;
-
- if(new_average < that->last_average)
- average = ((that->last_average * 0.5f) + new_average) / 1.5f;
- else
- average = new_average;
-
- that->max = average * 1.2f;
-
- that->sum = 0.0f;
- that->count = 0;
- that->last_update = now;
- that->last_average = average;
- }
-
- that->max = MAX(that->max, current);
- that->max = MAX(that->max, that->floor);
-#if 0
- printf("%p max = %u, current = %u, last_average = %f\n", that, that->max, current, that->last_average);
-#endif
- return that->max;
-}