From a27d242e3d35cb76761b0cd14eb0d58e668cfbb9 Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Sat, 18 Jun 2022 19:02:09 -0700 Subject: [PATCH] zookeeper: add avg power to power_monitor.py --- tools/zookeeper/power_monitor.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/zookeeper/power_monitor.py b/tools/zookeeper/power_monitor.py index d3bdd6679..f88741813 100755 --- a/tools/zookeeper/power_monitor.py +++ b/tools/zookeeper/power_monitor.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 import sys import time +import datetime from common.realtime import Ratekeeper from common.filter_simple import FirstOrderFilter @@ -19,12 +20,19 @@ if __name__ == "__main__": rk = Ratekeeper(rate, print_delay_threshold=None) fltr = FirstOrderFilter(0, 5, 1. / rate, initialized=False) + measurements = [] + start_time = time.monotonic() + try: - start_time = time.monotonic() while duration is None or time.monotonic() - start_time < duration: fltr.update(z.read_power()) if rk.frame % rate == 0: print(f"{fltr.x:.2f} W") + measurements.append(fltr.x) rk.keep_time() except KeyboardInterrupt: pass + + t = datetime.timedelta(seconds=time.monotonic() - start_time) + avg = sum(measurements) / len(measurements) + print(f"\nAverage power: {avg:.2f}W over {t}")