From 871c59a3f427c8e683cefdc0312bcf89bfd0e6e1 Mon Sep 17 00:00:00 2001 From: Sergei Trofimov Date: Tue, 6 Jun 2017 14:17:03 +0100 Subject: [PATCH] instrument: Add MeasurementType for time_us Add time_us MeasurementType for time expressed in microseconds and define conversions to/form time. This is a very common unit for low-level operations, and it may be desirable to avoid converting large number of metrics to floats in order to report as a "standard" type. --- devlib/instrument/__init__.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/devlib/instrument/__init__.py b/devlib/instrument/__init__.py index e599e20..3828fff 100644 --- a/devlib/instrument/__init__.py +++ b/devlib/instrument/__init__.py @@ -72,7 +72,16 @@ class MeasurementType(object): # Standard measures _measurement_types = [ - MeasurementType('time', 'seconds'), + MeasurementType('time', 'seconds', + conversions={ + 'time_us': lambda x: x * 1000, + } + ), + MeasurementType('time_us', 'microseconds', + conversions={ + 'time': lambda x: x / 1000, + } + ), MeasurementType('temperature', 'degrees'), MeasurementType('power', 'watts', 'power/energy'), @@ -83,6 +92,8 @@ _measurement_types = [ MeasurementType('tx', 'bytes', 'data transfer'), MeasurementType('rx', 'bytes', 'data transfer'), MeasurementType('tx/rx', 'bytes', 'data transfer'), + + MeasurementType('frames', 'frames', 'ui render'), ] for m in _measurement_types: MEASUREMENT_TYPES[m.name] = m