diff --git a/src/device/service/MonitoringLoops.py b/src/device/service/MonitoringLoops.py index 4d6d3f59147026c3104062cca0684ea9e3a304cf..18faed0d51d8d594368a0c80ef03539a9b0c4d4e 100644 --- a/src/device/service/MonitoringLoops.py +++ b/src/device/service/MonitoringLoops.py @@ -129,8 +129,8 @@ class MonitoringLoops: # FIXME: uint32 used for intVal results in out of range issues. Temporarily changed to float # extend the 'kpi_value' to support long integers (uint64 / int64 / ...) if isinstance(value, int): - kpi_value_field_name = 'floatVal' # 'intVal' - kpi_value_field_cast = float # int + kpi_value_field_name = 'int64Val' + kpi_value_field_cast = int elif isinstance(value, float): kpi_value_field_name = 'floatVal' kpi_value_field_cast = float @@ -144,7 +144,7 @@ class MonitoringLoops: try: self._monitoring_client.IncludeKpi(Kpi(**{ 'kpi_id' : {'kpi_id': {'uuid': db_kpi.kpi_uuid}}, - 'timestamp': datetime.utcfromtimestamp(timestamp).isoformat() + 'Z', + 'timestamp': {'timestamp': timestamp}, 'kpi_value': {kpi_value_field_name: kpi_value_field_cast(value)} })) except: # pylint: disable=bare-except diff --git a/src/device/tests/test_unitary_emulated.py b/src/device/tests/test_unitary_emulated.py index 87c067a08e37475bcf44b0546abcfcaf25fc965d..745c25c1eba679dc67e0ed9e04f38eb0ae8c3af4 100644 --- a/src/device/tests/test_unitary_emulated.py +++ b/src/device/tests/test_unitary_emulated.py @@ -299,12 +299,7 @@ def test_device_emulated_monitor( for received_sample in received_samples: kpi_uuid = received_sample.kpi_id.kpi_id.uuid assert kpi_uuid in KPI_UUIDS__TO__NUM_SAMPLES_RECEIVED - assert isinstance(received_sample.timestamp, str) - try: - timestamp = float(received_sample.timestamp) - except ValueError: - dt_time = dateutil.parser.isoparse(received_sample.timestamp).replace(tzinfo=timezone.utc) - timestamp = float(calendar.timegm(dt_time.timetuple())) + (dt_time.microsecond / 1.e6) + timestamp = float(received_sample.timestamp.timestamp) assert timestamp > t_start_monitoring assert timestamp < t_end_monitoring assert received_sample.kpi_value.HasField('floatVal') or received_sample.kpi_value.HasField('intVal')