From 56011e9f63fffacd734c843e2106017f2a24e727 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Fri, 26 Jan 2018 08:27:19 +0100 Subject: use median for static models, not mean. d'oh. --- lib/dfatool.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/lib/dfatool.py b/lib/dfatool.py index 0340427..5cece86 100755 --- a/lib/dfatool.py +++ b/lib/dfatool.py @@ -324,6 +324,24 @@ class EnergyModel: self._add_data_to_aggregate(self.by_name, elem['name'], elem) def get_static(self): + static_model = {} + for name, elem in self.by_name.items(): + static_model[name] = {} + for key in ['power', 'energy', 'duration', 'timeout', 'rel_energy_prev', 'rel_energy_next']: + if key in elem: + try: + static_model[name][key] = np.median(elem[key]) + except RuntimeWarning: + print('[W] Got no data for {} {}'.format(name, key)) + except FloatingPointError as fpe: + print('[W] Got no data for {} {}: {}'.format(name, key, fpe)) + + def static_median_getter(name, key, **kwargs): + return static_model[name][key] + + return static_median_getter + + def get_static_using_mean(self): static_model = {} for name, elem in self.by_name.items(): static_model[name] = {} @@ -336,10 +354,10 @@ class EnergyModel: except FloatingPointError as fpe: print('[W] Got no data for {} {}: {}'.format(name, key, fpe)) - def getter(name, key, **kwargs): + def static_mean_getter(name, key, **kwargs): return static_model[name][key] - return getter + return static_mean_getter def states(self): return sorted(list(filter(lambda k: self.by_name[k]['isa'] == 'state', self.by_name.keys()))) -- cgit v1.2.3