Index: leahi_dialin/dd/modules/alarms.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/alarms.py (.../alarms.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/dd/modules/alarms.py (.../alarms.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -17,7 +17,7 @@ # Module imports from logging import Logger import struct - +import time # Project imports from leahi_dialin.common.alarm_defs import AlarmList from leahi_dialin.common.constants import NO_RESET @@ -69,6 +69,8 @@ self.last_alarm_triggered = 0 #: The timestamp when did the last alarm triggered self.last_alarm_data_1 = 0.0 #: The last Alarm's data part 1 self.last_alarm_data_2 = 0.0 #: The last Alarm's data part 2 + self.handler_triggered_execution_times = [] + self.handler_info_execution_times = [] @publish(["msg_id_dd_alarm_triggered", "alarm_states", "alarm_conditions", "alarm_data", @@ -80,6 +82,7 @@ @param message: published DD alarm activation message @return: none """ + start = time.perf_counter() result = {} msg_list = [] msg_list.append(('alarm_id', DataTypes.U32)) @@ -115,6 +118,7 @@ self.last_alarm_data_1 = result['data_1'] self.last_alarm_data_2 = result['data_2'] self.dd_alarm_triggered_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) @publish(["msg_id_dd_alarm_info", "alarm_safety_shutdown_status", "dd_alarm_info_timestamp"]) Index: leahi_dialin/dd/modules/balancing_chamber.py =================================================================== diff -u -r8ef0478470000c7e0de4dc05440521c955e18107 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/balancing_chamber.py (.../balancing_chamber.py) (revision 8ef0478470000c7e0de4dc05440521c955e18107) +++ leahi_dialin/dd/modules/balancing_chamber.py (.../balancing_chamber.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,7 +16,7 @@ # Module imports from logging import Logger - +import time # Project imports from leahi_dialin.common.constants import NO_RESET from leahi_dialin.common.generic_defs import DataTypes @@ -59,8 +59,8 @@ self.bal_chamber_switch_only_state = 0 #: The Balancing Chamber's switch only state self.is_bal_chamber_switching_active = 0 #: Is Balancing Chamber Switching Active self.dd_bal_chamber_timestamp = 0 #: The timestamp of the last message + self.handler_execution_times = [] - @publish(["msg_id_dd_bal_chamber_data", "execution_state", "switching_state", "switching_frequency", @@ -75,6 +75,7 @@ @param message: published balancing chamber data message @return: None """ + start = time.perf_counter() msg_list = [] msg_list.append(('self.execution_state', DataTypes.U32)) msg_list.append(('self.switching_state', DataTypes.U32)) @@ -90,8 +91,8 @@ message = message) self.dd_bal_chamber_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) - def cmd_balancing_chamber_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: """ Constructs and sends the balancing chamber data broadcast interval override command Index: leahi_dialin/dd/modules/blood_leak.py =================================================================== diff -u -r8ef0478470000c7e0de4dc05440521c955e18107 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/blood_leak.py (.../blood_leak.py) (revision 8ef0478470000c7e0de4dc05440521c955e18107) +++ leahi_dialin/dd/modules/blood_leak.py (.../blood_leak.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -17,7 +17,7 @@ # Module imports from logging import Logger from enum import unique - +import time # Project imports from leahi_dialin.common.constants import NO_RESET from leahi_dialin.common import dd_enum_repository @@ -90,6 +90,7 @@ self.blood_leak_upper_range_drift_status = 0 #: The Blood leak upper range drift status self.blood_leak_time_elapsed_since_last_drift_zero_ms = 0 #: The Elapsed time since the last zeroing in ms + self.handler_execution_times = [] for cmd in EmbModeCommands.__members__: # Initialize all the embedded mode commands self.blood_leak_emb_mode_cmds[cmd] = '' @@ -143,6 +144,7 @@ @param message: published blood leak status message @return: None """ + start = time.perf_counter() msg_list =[] msg_list.append(('self.blood_leak_status', DataTypes.U32)) msg_list.append(('self.blood_leak_state', DataTypes.U32)) @@ -158,6 +160,7 @@ self.process_into_vars(decoder_list = msg_list, message = message) self.dd_blood_leak_status_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) @publish(['msg_id_dd_send_blood_leak_emb_mode_response', 'blood_leak_emb_mode_cmd_response', Index: leahi_dialin/dd/modules/concentrate_pump.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/concentrate_pump.py (.../concentrate_pump.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/dd/modules/concentrate_pump.py (.../concentrate_pump.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -87,7 +88,9 @@ } } + self.handler_execution_times = [] + @publish(["msg_id_dd_conc_pump_data", "dd_concentrate_pumps", "dd_concentrate_pump_timestamp"]) def _handler_concentrate_pumps_sync(self, message, timestamp=0.0): """ @@ -97,6 +100,7 @@ @param message: published concentrate pumps' data message @return: None """ + start = time.perf_counter() sensor_list =[] sensor_list.append((dd_enum_repository.DDConcentratePumpNames.D11_CP1_ACID.name, dd_enum_repository.DDConcentratePumpAttributes.CURRENT_SET_SPEED.name, DataTypes.F32)) sensor_list.append((dd_enum_repository.DDConcentratePumpNames.D11_CP1_ACID.name, dd_enum_repository.DDConcentratePumpAttributes.MEASURED_SPEED.name, DataTypes.F32)) @@ -128,8 +132,10 @@ decoder_list = sensor_list, message = message) self.dd_concentrate_pump_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter()-start) + def cmd_concentrate_pump_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: """ Constructs and sends the concentrate pump data broadcast interval override command Index: leahi_dialin/dd/modules/conductivity_sensors.py =================================================================== diff -u -r7f15dd8f390b87b8b93d8118ee1ddb9fd49b0449 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 7f15dd8f390b87b8b93d8118ee1ddb9fd49b0449) +++ leahi_dialin/dd/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -97,6 +98,9 @@ }, } + self.handler_cond_execution_times = [] + self.handler_resist_execution_times = [] + @publish(["msg_id_dd_conductivity_data", "dd_conductivity", "dd_conductivity_timestamp"]) def _handler_conductivity_sensors_sync(self, message, timestamp=0.0): """ @@ -106,6 +110,7 @@ @param message: published DD conductivity sensor data message @return: None """ + start = time.perf_counter() sensor_list =[] sensor_list.append((dd_enum_repository.DDConductivitySensorNames.D17_COND.name, dd_enum_repository.DDConductivityResistanceAttributes.CONDUCTIVITY.name, DataTypes.F32)) sensor_list.append((dd_enum_repository.DDConductivitySensorNames.D27_COND.name, dd_enum_repository.DDConductivityResistanceAttributes.CONDUCTIVITY.name, DataTypes.F32)) @@ -131,7 +136,8 @@ self.process_into_dict(dict_to_update = self.dd_conductivity, decoder_list = sensor_list, message = message) - self.dd_conductivity_timestamp = timestamp + self.dd_conductivity_resistance_timestamp = timestamp + self.handler_resist_execution_times.append(time.perf_counter() - start) @publish(["msg_id_dd_conductivity_version_data", "dd_conductivity_resistance", "dd_conductivity_version_timestamp"]) def _handler_conductivity_version_sync(self, message, timestamp=0.0): Index: leahi_dialin/dd/modules/dialysate_pump.py =================================================================== diff -u -r8ef0478470000c7e0de4dc05440521c955e18107 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/dialysate_pump.py (.../dialysate_pump.py) (revision 8ef0478470000c7e0de4dc05440521c955e18107) +++ leahi_dialin/dd/modules/dialysate_pump.py (.../dialysate_pump.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -79,6 +80,7 @@ dd_enum_repository.DDDialysatePumpAttributes.MEASURED_DIRECTION.name: 0 } } + self.handler_execution_times = [] @publish(["msg_id_dd_dialysate_pumps_data", "dd_dialysate_pumps", "dd_dialysate_pump_timestamp",]) @@ -90,6 +92,7 @@ @param message: published dialysate pumps' data message @return: None """ + start = time.perf_counter() sensor_list =[] sensor_list.append((dd_enum_repository.DDDialysatePumpNames.D12_PUMP.name, dd_enum_repository.DDDialysatePumpAttributes.TARGET_RPM.name, DataTypes.F32)) sensor_list.append((dd_enum_repository.DDDialysatePumpNames.D48_PUMP.name, dd_enum_repository.DDDialysatePumpAttributes.TARGET_RPM.name, DataTypes.F32)) @@ -116,6 +119,7 @@ decoder_list = sensor_list, message = message) self.dd_dialysate_pump_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter()-start) def cmd_dialysate_pump_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/dd/modules/events.py =================================================================== diff -u -r8ef0478470000c7e0de4dc05440521c955e18107 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/events.py (.../events.py) (revision 8ef0478470000c7e0de4dc05440521c955e18107) +++ leahi_dialin/dd/modules/events.py (.../events.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -18,6 +18,7 @@ import struct from logging import Logger from datetime import datetime +import time # Project imports from leahi_dialin.common import dd_enum_repository @@ -79,7 +80,9 @@ for event in dd_enum_repository.DDEventList: self._event_dictionary[dd_enum_repository.DDEventList(event).name] = [] + self.handler_execution_times = [] + def get_dd_nth_event(self, event_id, event_number=0): """ Returns the nth requested DD event @@ -147,6 +150,7 @@ @param message: published DD events data message @returns none """ + start = time.perf_counter() event_data_1 = 0 event_data_2 = 0 op_mode = 0 @@ -289,6 +293,7 @@ # Update event dictionary self._event_dictionary[event_enum.name].append(event_tuple) self.events_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) Index: leahi_dialin/dd/modules/gen_dialysate.py =================================================================== diff -u -r8ef0478470000c7e0de4dc05440521c955e18107 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/gen_dialysate.py (.../gen_dialysate.py) (revision 8ef0478470000c7e0de4dc05440521c955e18107) +++ leahi_dialin/dd/modules/gen_dialysate.py (.../gen_dialysate.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -55,6 +56,7 @@ self.dialysate_good_to_deliver = 0 #: The Dialysate is good to delover or not self.target_qd = 0.0 #: The Target Qd + self.handler_execution_times = [] @publish(["msg_id_dd_gen_dialysate_mode_data", "execution_state", "dialysate_delivery_in_progress", @@ -68,6 +70,7 @@ @param message: published gen dialysate data message @return: None """ + start = time.perf_counter() msg_list = [] msg_list.append(('self.execution_state', DataTypes.U32)) msg_list.append(('self.dialysate_delivery_in_progress', DataTypes.U32)) @@ -77,6 +80,7 @@ self.process_into_vars(decoder_list = msg_list, message = message) self.dd_gen_dialysate_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_gen_dialysate_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/dd/modules/heaters.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/heaters.py (.../heaters.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/dd/modules/heaters.py (.../heaters.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -82,6 +83,7 @@ self.dbg7 = 0.0 self.dbg8 = 0.0 self.dbg9 = 0.0 + self.handler_execution_times = [] @publish(["msg_id_dd_heaters_data", "dd_heaters", @@ -94,6 +96,7 @@ @param message: published DD heaters data message @returns none """ + start = time.perf_counter() sensor_list = [] sensor_list.append((dd_enum_repository.DDHeaterNames.D5_HEAT.name, dd_enum_repository.DDHeaterAttributes.HEAT_DUTY_CYCLE.name, DataTypes.F32)) sensor_list.append((dd_enum_repository.DDHeaterNames.D45_HEAT.name, dd_enum_repository.DDHeaterAttributes.HEAT_DUTY_CYCLE.name, DataTypes.F32)) @@ -123,6 +126,7 @@ message = message, start_from_byte = len(sensor_list) * DataTypes.U32.size()) self.dd_heaters_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter()-start) def cmd_heaters_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/dd/modules/levels.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/levels.py (.../levels.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/dd/modules/levels.py (.../levels.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -58,6 +59,7 @@ dd_enum_repository.DDLevelSensorNames.D6_LEVEL.name: 0, } self.dd_bicarb_level = 0 #: The Bicarb level + self.handler_execution_times = [] @publish(["msg_id_dd_level_data", "dd_level_sensors", "dd_bicarb_level", "dd_levels_timestamp"]) @@ -68,6 +70,7 @@ @param message: published levels data message @returns none """ + start = time.perf_counter() sensor_list =[] sensor_list.append((dd_enum_repository.DDLevelSensorNames.D46_LEVEL.name, DataTypes.U32)) sensor_list.append((dd_enum_repository.DDLevelSensorNames.D63_LEVEL.name, DataTypes.U32)) @@ -83,6 +86,7 @@ message = message, start_from_byte = len(sensor_list) * DataTypes.U32.size()) self.dd_levels_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_levels_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/dd/modules/post_gen_dialysate.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/post_gen_dialysate.py (.../post_gen_dialysate.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/dd/modules/post_gen_dialysate.py (.../post_gen_dialysate.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -50,6 +51,7 @@ self.post_gen_state_timestamp = 0 #: The timestamp of the latest message self.execution_state = 0 #: The execution state + self.handler_execution_times = [] @publish(["msg_id_dd_post_gen_dialysate_state_data", "execution_state", "post_gen_state_timestamp"]) @@ -60,12 +62,14 @@ @param message: published post gen dialysate data message @return: None """ + start = time.perf_counter() msg_list =[] msg_list.append(('self.execution_state', DataTypes.U32)) self.process_into_vars(decoder_list = msg_list, message = message) self.post_gen_state_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_post_gen_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/dd/modules/pre_gen_dialysate.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/pre_gen_dialysate.py (.../pre_gen_dialysate.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/dd/modules/pre_gen_dialysate.py (.../pre_gen_dialysate.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -61,6 +62,7 @@ self.pre_gen_dial_temp = 0.0 #: The Pre-Gen dialysate temperature self.pre_gen_acid = 0 #: The Pre-Gen acid concentrate option index self.pre_gen_bicarb = 0 #: The Pre-Gen bicarb concentrate option index + self.handler_execution_times = [] @publish(["msg_id_dd_pre_gen_dialysate_state_data", "execution_state", "pre_gen_state_timestamp"]) @@ -71,13 +73,15 @@ @param message: published pre gen dialysate data message @return: None """ + start = time.perf_counter() msg_list =[] msg_list.append(('self.execution_state', DataTypes.U32)) self.process_into_vars(decoder_list = msg_list, message = message) self.pre_gen_state_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) @publish(["msg_id_dd_pre_gen_dialysate_request_data", Index: leahi_dialin/dd/modules/pressure_sensors.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/pressure_sensors.py (.../pressure_sensors.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/dd/modules/pressure_sensors.py (.../pressure_sensors.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -58,6 +59,7 @@ dd_enum_repository.DDPressureSensorNames.D41_PRES.name: 0.0, dd_enum_repository.DDPressureSensorNames.D87_PRES.name: 0.0 } + self.handler_execution_times = [] @publish(["msg_id_dd_pressures_data", "dd_pressures", "dd_pressures_timestamp"]) @@ -69,6 +71,7 @@ @param message: published DD pressure data message @return: none """ + start = time.perf_counter() sensor_list =[] sensor_list.append((dd_enum_repository.DDPressureSensorNames.D9_PRES.name, DataTypes.F32)) sensor_list.append((dd_enum_repository.DDPressureSensorNames.D66_PRES.name, DataTypes.F32)) @@ -81,8 +84,8 @@ decoder_list = sensor_list, message = message) self.dd_pressures_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) - def cmd_pressure_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: """ Constructs and sends the pressure broadcast interval override command. Index: leahi_dialin/dd/modules/rinse_pump.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/rinse_pump.py (.../rinse_pump.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/dd/modules/rinse_pump.py (.../rinse_pump.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -53,6 +54,7 @@ self.d79_state = 0 #: The State of the D79 Pump self.d79_pump_pwm = 0.0 #: The PWM of the D79 Pump self.d79_pump_rpm = 0 #: The RPM of the D79 Pump + self.handler_execution_times = [] @publish(["msg_id_dd_rinse_pump_data", @@ -65,6 +67,7 @@ @param message: published rinse pump data message @return: None """ + start = time.perf_counter() msg_list =[] msg_list.append(('self.d79_state', DataTypes.U32)) msg_list.append(('self.d79_pump_pwm', DataTypes.F32)) @@ -73,6 +76,7 @@ self.process_into_vars(decoder_list = msg_list, message = message) self.dd_rinse_pump_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_rinse_pump_data_publish_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/dd/modules/spent_chamber_fill.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/spent_chamber_fill.py (.../spent_chamber_fill.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/dd/modules/spent_chamber_fill.py (.../spent_chamber_fill.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -52,6 +53,7 @@ self.execution_state = 0 #: The execution state self.switching_period = 0 #: The switching period self.total_spent_chamber_fill_counter = 0 #: The total spent chamber fill counter + self.handler_execution_times = [] @publish(["msg_id_dd_spent_chamber_fill_data", @@ -65,6 +67,7 @@ @param message: published spent chamber fill data message @return: None """ + start = time.perf_counter() msg_list =[] msg_list.append(('self.execution_state', DataTypes.U32)) msg_list.append(('self.switching_period', DataTypes.U32)) @@ -73,6 +76,7 @@ self.process_into_vars(decoder_list = msg_list, message = message) self.dd_spent_chamber_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_spent_chamber_fill_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/dd/modules/substitution_pump.py =================================================================== diff -u -r3e2f7365bb1a643d2fc9bea2dc51f4b15f0ba9e2 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/substitution_pump.py (.../substitution_pump.py) (revision 3e2f7365bb1a643d2fc9bea2dc51f4b15f0ba9e2) +++ leahi_dialin/dd/modules/substitution_pump.py (.../substitution_pump.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -15,7 +15,7 @@ ############################################################################ # Module imports -import struct +import time from logging import Logger # Project imports @@ -61,6 +61,7 @@ } } self.dd_substitution_pump_timestamp = 0 #: The timestamp of the latest message + self.handler_execution_times = [] @publish(["msg_id_dd_rinse_pump_data", "dd_substitution_pumps", @@ -72,6 +73,7 @@ @param message: published substitution pump data message @return: None """ + start = time.perf_counter() substitution_pump_list = [] substitution_pump_list.append((dd_enum_repository.DDSubstitutionPumpNames.D92_PUMP.name, dd_enum_repository.DDSubstitutionPumpAttributes.TARGET_SPEED.name, DataTypes.F32)) substitution_pump_list.append((dd_enum_repository.DDSubstitutionPumpNames.D92_PUMP.name, dd_enum_repository.DDSubstitutionPumpAttributes.CURRENT_SPEED.name, DataTypes.F32)) @@ -83,6 +85,7 @@ message = message) self.dd_substitution_pump_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_substitution_pump_data_publish_interval_override(self, ms: int, reset: int = NO_RESET) -> int: """ Index: leahi_dialin/dd/modules/temperature_sensors.py =================================================================== diff -u -r8ef0478470000c7e0de4dc05440521c955e18107 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/temperature_sensors.py (.../temperature_sensors.py) (revision 8ef0478470000c7e0de4dc05440521c955e18107) +++ leahi_dialin/dd/modules/temperature_sensors.py (.../temperature_sensors.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -72,6 +73,7 @@ dd_enum_repository.DDTemperatureSensorNames.D41_TEMP.name: 0.0, dd_enum_repository.DDTemperatureSensorNames.D87_TEMP.name: 0.0 } + self.handler_execution_times = [] @publish(["msg_id_dd_temperature_data", "dd_temperatures", "dd_temperatures_timestamp"]) @@ -82,6 +84,7 @@ @param message: published DD temperature sensors data message @returns none """ + start = time.perf_counter() sensor_list =[] sensor_list.append((dd_enum_repository.DDTemperatureSensorNames.D1_TEMP.name, DataTypes.F32)) sensor_list.append((dd_enum_repository.DDTemperatureSensorNames.D78_TEMP.name, DataTypes.F32)) @@ -112,6 +115,8 @@ decoder_list = sensor_list, message = message) self.dd_temperatures_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter()-start) + def cmd_temperatures_data_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/dd/modules/ultrafiltration.py =================================================================== diff -u -r0b7414f25142d790a99d71626b78cb2920a96018 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/ultrafiltration.py (.../ultrafiltration.py) (revision 0b7414f25142d790a99d71626b78cb2920a96018) +++ leahi_dialin/dd/modules/ultrafiltration.py (.../ultrafiltration.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -54,6 +55,7 @@ self.uf_rate = 0.0 #: The Ultrafiltration rate self.compensated_uf_rate = 0.0 #: The Compensated Ultrafiltration rate self.is_uf_requested = 0 #: Is Ultrafiltration requested or not + self.handler_execution_times = [] @publish(["msg_id_dd_uf_data", "uf_exec_state","uf_rate", @@ -66,6 +68,7 @@ @param message: published ultrafiltration data message @return: None """ + start = time.perf_counter() msg_list =[] msg_list.append(('self.uf_rate', DataTypes.F32)) msg_list.append(('self.compensated_uf_rate', DataTypes.F32)) @@ -74,6 +77,7 @@ self.process_into_vars(decoder_list = msg_list, message = message) self.uf_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_uf_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/dd/modules/valves.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/valves.py (.../valves.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/dd/modules/valves.py (.../valves.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -18,6 +18,7 @@ from collections import OrderedDict from logging import Logger import struct +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -110,6 +111,7 @@ self.valve_states_enum[valve_name] = 0 self.valves_sensed_states[valve_name] = '' + self.handler_execution_times = [] def get_valve_states(self): """ @@ -230,6 +232,7 @@ @param message: published DD valves states message @return: none """ + start = time.perf_counter() vsa = struct.unpack(DataTypes.U32.unpack_attrib(), bytearray(message['message'][self.START_POS_VALVES_STATES:self.END_POS_ALL_VALVES])) self.valve_states_all = vsa[0] @@ -285,6 +288,7 @@ start = end end += 1 self.dd_valves_states_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_valve_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/dd/modules/voltages.py =================================================================== diff -u -r501d1ded6846bc6712317620cf0b52b105f8cf58 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/dd/modules/voltages.py (.../voltages.py) (revision 501d1ded6846bc6712317620cf0b52b105f8cf58) +++ leahi_dialin/dd/modules/voltages.py (.../voltages.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -64,6 +65,7 @@ dd_enum_repository.DDMonitoredVoltages.FPGA_AC_HEATER_VOLTAGE.name: 0.0, dd_enum_repository.DDMonitoredVoltages.FPGA_AC_HEATER_CURRENT.name: 0.0 } + self.handler_execution_times = [] @publish(["msg_id_dd_voltages_data","dd_voltages_timestamp","monitored_voltages"]) @@ -75,6 +77,7 @@ @param message: published monitored voltages data message @return: none """ + start = time.perf_counter() sensor_list = [] sensor_list.append((dd_enum_repository.DDMonitoredVoltages.MONITORED_LINE_1_2V.name, DataTypes.F32)) sensor_list.append((dd_enum_repository.DDMonitoredVoltages.MONITORED_LINE_3_3V.name, DataTypes.F32)) @@ -85,14 +88,15 @@ sensor_list.append((dd_enum_repository.DDMonitoredVoltages.MONITORED_LINE_FPGA_AUX_V.name, DataTypes.F32)) sensor_list.append((dd_enum_repository.DDMonitoredVoltages.MONITORED_LINE_FPGA_PVN_V.name, DataTypes.F32)) sensor_list.append((dd_enum_repository.DDMonitoredVoltages.FPGA_AC_DC_POWER_SUPPY_VOLTAGE.name, DataTypes.F32)) - sensor_list.append((dd_enum_repository.DDMonitoredVoltages.FPGA_AC_DC_POWER_SUPPY_CURRENT.name, DataTypes.F32)) + sensor_list.append((dd_enum_repository.DDMonitoredVoltages.FPGA_AC_DC_POWER_SUPPY_CURRENT.name, DataTypes.F32)) sensor_list.append((dd_enum_repository.DDMonitoredVoltages.FPGA_AC_HEATER_VOLTAGE.name, DataTypes.F32)) sensor_list.append((dd_enum_repository.DDMonitoredVoltages.FPGA_AC_HEATER_CURRENT.name, DataTypes.F32)) self.process_into_dict(dict_to_update = self.monitored_voltages, decoder_list = sensor_list, message = message) self.dd_voltages_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter()-start) def cmd_monitored_voltages_broadcast_interval_override(self, ms: int = 1000, reset: int = NO_RESET) -> int: Index: leahi_dialin/fp/modules/alarms.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/fp/modules/alarms.py (.../alarms.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/fp/modules/alarms.py (.../alarms.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -17,6 +17,7 @@ # Module imports from logging import Logger import struct +import time # Project imports from leahi_dialin.common.alarm_defs import AlarmList @@ -63,6 +64,7 @@ self.last_alarm_triggered = 0 #: The timestamp when did the last alarm triggered self.last_alarm_data_1 = 0.0 #: The last Alarm's data part 1 self.last_alarm_data_2 = 0.0 #: The last Alarm's data part 2 + self.handler_execution_times = [] @publish(["msg_id_fp_alarm_triggered", "alarm_states", "alarm_conditions", @@ -75,6 +77,7 @@ @param message: published FP alarm activation message @return: none """ + start = time.perf_counter() self.logger.debug("Alarm activated!") result = {} @@ -112,6 +115,7 @@ self.last_alarm_data_1 = result['data_1'] self.last_alarm_data_2 = result['data_2'] self.fp_alarm_triggered_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_alarm_state_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/fp/modules/boost_pump.py =================================================================== diff -u -r8ef0478470000c7e0de4dc05440521c955e18107 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/fp/modules/boost_pump.py (.../boost_pump.py) (revision 8ef0478470000c7e0de4dc05440521c955e18107) +++ leahi_dialin/fp/modules/boost_pump.py (.../boost_pump.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -63,6 +64,7 @@ fp_enum_repository.FPPumpAttributes.FB_DUTY_CYCLE_PCT.name: 0.0 } } + self.handler_execution_times = [] @publish(["msg_id_fp_boost_pump_data", "boost_pump", "boost_pump_timestamp"]) @@ -74,6 +76,7 @@ @param message: published FP ro pump data message @return: none """ + start = time.perf_counter() sensor_list =[] sensor_list.append((fp_enum_repository.FPBoostPumpNames.P40_PUMP.name, fp_enum_repository.FPPumpAttributes.STATE.name, DataTypes.U32)) sensor_list.append((fp_enum_repository.FPBoostPumpNames.P40_PUMP.name, fp_enum_repository.FPPumpAttributes.DUTY_CYCLE.name, DataTypes.U32)) @@ -89,6 +92,7 @@ decoder_list = sensor_list, message = message) self.boost_pump_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_boost_pump_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/fp/modules/conductivity_sensors.py =================================================================== diff -u -r7f15dd8f390b87b8b93d8118ee1ddb9fd49b0449 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/fp/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 7f15dd8f390b87b8b93d8118ee1ddb9fd49b0449) +++ leahi_dialin/fp/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -82,6 +83,8 @@ fp_enum_repository.FPRORejectionRatioNames.GEN_PERMEATE_STATE.name: 0 } + self.handler_execution_times = [] + self.handler_ro_execution_times = [] @publish(["msg_id_fp_conductivity_data", "fp_conductivity", "fp_conductivity_timestamp"]) def _handler_conductivity_sensors_sync(self, message, timestamp=0.0): @@ -92,6 +95,7 @@ @param message: published conductivity sensor data message @return: None """ + start = time.perf_counter() sensor_list =[] sensor_list.append((fp_enum_repository.FPConductivitySensorNames.P9_COND.name, dd_enum_repository.DDConductivityResistanceAttributes.CONDUCTIVITY.name, DataTypes.F32)) sensor_list.append((fp_enum_repository.FPConductivitySensorNames.P18_COND.name, dd_enum_repository.DDConductivityResistanceAttributes.CONDUCTIVITY.name, DataTypes.F32)) @@ -106,6 +110,7 @@ decoder_list = sensor_list, message = message) self.fp_conductivity_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) @publish(["msg_id_ro_rejection_ratio_data", "ro_rejection_ratio", "ro_rejection_ratio_timestamp"]) @@ -117,6 +122,7 @@ @param message: Published RO Rejection Ratio data message @return: None """ + start = time.perf_counter() sensor_list =[] sensor_list.append((fp_enum_repository.FPRORejectionRatioNames.RAW_RO_REJECTION_RATIO.name, DataTypes.F32)) sensor_list.append((fp_enum_repository.FPRORejectionRatioNames.RAW_RO_REJECTION_RATIO_TANK_FILL.name, DataTypes.F32)) @@ -128,6 +134,7 @@ decoder_list = sensor_list, message = message) self.ro_rejection_ratio_timestamp = timestamp + self.handler_ro_execution_times.append(time.perf_counter() - start) def cmd_conductivity_sensor_data_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/fp/modules/events.py =================================================================== diff -u -r8ef0478470000c7e0de4dc05440521c955e18107 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/fp/modules/events.py (.../events.py) (revision 8ef0478470000c7e0de4dc05440521c955e18107) +++ leahi_dialin/fp/modules/events.py (.../events.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -74,7 +74,9 @@ for event in fp_enum_repository.FPEventList: self._event_dictionary[fp_enum_repository.FPEventList(event).name] = [] + self.handler_execution_times = [] + def get_fp_nth_event(self, event_id, event_number=0): """ Returns the nth requested FP event @@ -142,6 +144,7 @@ @param message: published FP events data message @returns none """ + start = time.perf_counter() event_data_1 = 0 event_data_2 = 0 op_mode = 0 @@ -289,8 +292,8 @@ # Update event dictionary self._event_dictionary[event_enum.name].append(event_tuple) self.events_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) - @publish(["msg_id_fp_op_mode_data", "event_op_mode_timestamp", "op_mode", "sub_mode"]) def _handler_fp_op_mode_sync(self, message, timestamp=0.0): """ Index: leahi_dialin/fp/modules/flow_sensors.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/fp/modules/flow_sensors.py (.../flow_sensors.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/fp/modules/flow_sensors.py (.../flow_sensors.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -55,6 +56,7 @@ fp_enum_repository.FPFlowSensorNames.P7_FLOW.name: 0.0, fp_enum_repository.FPFlowSensorNames.P16_FLOW.name: 0.0 } + self.handler_execution_times = [] @publish(["msg_id_fp_flow_data", "fp_flows", "fp_flows_timestamp"]) @@ -65,6 +67,7 @@ @param message: published flow sensor data message @returns none """ + start = time.perf_counter() sensor_list =[] sensor_list.append((fp_enum_repository.FPFlowSensorNames.P7_FLOW.name, DataTypes.F32)) sensor_list.append((fp_enum_repository.FPFlowSensorNames.P16_FLOW.name, DataTypes.F32)) @@ -73,6 +76,7 @@ decoder_list = sensor_list, message = message) self.fp_flow_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_flow_sensor_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/fp/modules/levels.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/fp/modules/levels.py (.../levels.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/fp/modules/levels.py (.../levels.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -55,6 +56,7 @@ self.fp_levels = { fp_enum_repository.FPFloaterLevelSensorNames.P25_LEVEL.name: 0 } + self.handler_execution_times = [] @publish(["msg_id_fp_level_data", @@ -67,13 +69,15 @@ @param message: published levels data message @returns none """ + start = time.perf_counter() sensor_list =[] sensor_list.append((fp_enum_repository.FPFloaterLevelSensorNames.P25_LEVEL.name, DataTypes.U32)) self.process_into_dict(dict_to_update = self.fp_levels, decoder_list = sensor_list, message = message) self.fp_levels_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_levels_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/fp/modules/permeate_tank.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/fp/modules/permeate_tank.py (.../permeate_tank.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/fp/modules/permeate_tank.py (.../permeate_tank.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -50,8 +51,8 @@ self.permeate_tank_timestamp = 0.0 #: The timestamp of the last message self.permeate_tank_state = 0 #: The Permeate Tank's State value + self.handler_execution_times = [] - @publish(["msg_id_fp_permeate_tank_data", "permeate_tank_state", "permeate_tank_timestamp"]) def _handler_permeate_tank_sync(self, message, timestamp=0.0): """ @@ -60,12 +61,14 @@ @param message: published permeate tank data message @return: None """ + start = time.perf_counter() msg_list =[] msg_list.append(('self.permeate_tank_state', DataTypes.U32)) self.process_into_vars(decoder_list = msg_list, message = message) self.permeate_tank_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_permeate_tank_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/fp/modules/pressure_sensors.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/fp/modules/pressure_sensors.py (.../pressure_sensors.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/fp/modules/pressure_sensors.py (.../pressure_sensors.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,8 +16,9 @@ # Module imports from logging import Logger +import time -# Project importsk +# Project imports from leahi_dialin.common.constants import NO_RESET from leahi_dialin.common import fp_enum_repository from leahi_dialin.common.fp_defs import BETA_IOFP_PRES_SENSOR_OFFSET @@ -58,6 +59,7 @@ fp_enum_repository.FPPressureSensorNames.P17_PRES.name: 0.0, fp_enum_repository.FPPressureSensorNames.P46_PRES.name: 0.0 } + self.handler_execution_times = [] @publish(["msg_id_fp_pressures_data", "fp_pressures", "fp_pressure_timestamp"]) @@ -69,6 +71,7 @@ @param message: published FP pressure sensor data message @return: none """ + start = time.perf_counter() sensor_list =[] sensor_list.append((fp_enum_repository.FPPressureSensorNames.M3_PRES.name, DataTypes.F32)) sensor_list.append((fp_enum_repository.FPPressureSensorNames.P8_PRES.name, DataTypes.F32)) @@ -80,6 +83,7 @@ decoder_list = sensor_list, message = message) self.fp_pressure_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_pressure_sensors_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/fp/modules/ro_pump.py =================================================================== diff -u -r8ef0478470000c7e0de4dc05440521c955e18107 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/fp/modules/ro_pump.py (.../ro_pump.py) (revision 8ef0478470000c7e0de4dc05440521c955e18107) +++ leahi_dialin/fp/modules/ro_pump.py (.../ro_pump.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -63,6 +64,7 @@ fp_enum_repository.FPPumpAttributes.FB_DUTY_CYCLE_PCT.name: 0.0 } } + self.handler_execution_times = [] @publish(["msg_id_fp_ro_pump_data", "ro_pump", "ro_pump_timestamp" ]) @@ -74,6 +76,7 @@ @param message: published FP ro pump data message @return: none """ + start = time.perf_counter() sensor_list =[] sensor_list.append((fp_enum_repository.FPROPumpNames.P12_PUMP.name, fp_enum_repository.FPPumpAttributes.STATE.name, DataTypes.U32)) sensor_list.append((fp_enum_repository.FPROPumpNames.P12_PUMP.name, fp_enum_repository.FPPumpAttributes.DUTY_CYCLE.name, DataTypes.U32)) @@ -89,6 +92,7 @@ decoder_list = sensor_list, message = message) self.ro_pump_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_ro_pump_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/fp/modules/temperatures.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/fp/modules/temperatures.py (.../temperatures.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/fp/modules/temperatures.py (.../temperatures.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -59,6 +60,7 @@ fp_enum_repository.FPTemperatureSensorNames.P7_INTERNAL_TEMP.name: 0.0, fp_enum_repository.FPTemperatureSensorNames.P16_INTERNAL_TEMP.name: 0.0 } + self.handler_execution_times = [] @publish(["msg_id_fp_temperature_data", "fp_temperatures", "fp_temperatures_timestamp"]) @@ -69,6 +71,7 @@ @param message: published FP temperature sensors data message @returns none """ + start = time.perf_counter() sensor_list =[] sensor_list.append((fp_enum_repository.FPTemperatureSensorNames.M3_TEMP.name, DataTypes.F32)) sensor_list.append((fp_enum_repository.FPTemperatureSensorNames.P8_TEMP.name, DataTypes.F32)) @@ -86,6 +89,7 @@ decoder_list = sensor_list, message = message) self.fp_temperature_sensors_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_temperatures_data_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/fp/modules/valves.py =================================================================== diff -u -r3e2f7365bb1a643d2fc9bea2dc51f4b15f0ba9e2 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/fp/modules/valves.py (.../valves.py) (revision 3e2f7365bb1a643d2fc9bea2dc51f4b15f0ba9e2) +++ leahi_dialin/fp/modules/valves.py (.../valves.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -18,6 +18,7 @@ import struct from logging import Logger from collections import OrderedDict +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -79,6 +80,7 @@ valve_name = fp_enum_repository.FPValveNames(i).name self.valve_states_enum[valve_name] = 0 self.valves_sensed_states[valve_name] = '' + self.handler_execution_times = [] @staticmethod @@ -132,6 +134,7 @@ @param message: published FP valves states message @return: none """ + start = time.perf_counter() # Extract each valve state from U08 valves states using bit-masking io_valves = struct.unpack(DataTypes.U08.unpack_attrib(), bytearray(message['message'][self.START_IO_VALVES_STATES:self.END_IO_VALVES_STATES])) self.m4_valv["state"] = self._binary_to_valve_state(io_valves[0] & 1) @@ -161,6 +164,7 @@ start = end end += 1 self.fp_valves_states_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_valve_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/td/modules/air_pump.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/td/modules/air_pump.py (.../air_pump.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/td/modules/air_pump.py (.../air_pump.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,7 +16,7 @@ # Module imports from logging import Logger - +import time # Project imports from leahi_dialin.common.constants import NO_RESET from leahi_dialin.common.generic_defs import DataTypes @@ -64,6 +64,7 @@ td_enum_repository.TDAirPumpAttributes.SCALAR_POWER.name: 0 } } + self.handler_execution_times = [] @publish(["msg_id_td_air_pump_data", "td_air_pump", "td_air_pump_timestamp"]) @@ -74,6 +75,7 @@ @param message: published air pump data message as: air pump state @return: None """ + start = time.perf_counter() sensor_list =[] sensor_list.append((td_enum_repository.TDAirPumpNames.H12_AIR_PUMP.name, td_enum_repository.TDAirPumpAttributes.STATE.name, DataTypes.U32)) sensor_list.append((td_enum_repository.TDAirPumpNames.H12_AIR_PUMP.name, td_enum_repository.TDAirPumpAttributes.DUTY_CYCLE.name, DataTypes.F32)) @@ -87,6 +89,7 @@ decoder_list = sensor_list, message = message) self.td_air_pump_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_air_pump_data_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/td/modules/air_trap.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/td/modules/air_trap.py (.../air_trap.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/td/modules/air_trap.py (.../air_trap.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,7 +16,7 @@ # Module imports from logging import Logger - +import time # Project imports from leahi_dialin.common.constants import NO_RESET from leahi_dialin.common.generic_defs import DataTypes @@ -78,6 +78,7 @@ self.AirPumpLowerPowerLevel = 0 # TODO remove after testing self.AirPumpRaisePowerLevel = 0 + self.handler_execution_times = [] @publish(["msg_id_td_air_trap_data", @@ -93,6 +94,7 @@ @param message: published air trap data message @return: None """ + start = time.perf_counter() sensor_list_1 =[] sensor_list_1.append((td_enum_repository.TDAirTrapLevelSensorNames.H17_LEVEL.name, td_enum_repository.TDAirTrapLevelSensorAttributes.LEVEL.name, DataTypes.U32)) sensor_list_1.append((td_enum_repository.TDAirTrapLevelSensorNames.H16_LEVEL.name, td_enum_repository.TDAirTrapLevelSensorAttributes.LEVEL.name, DataTypes.U32)) @@ -118,6 +120,7 @@ message = message, start_from_byte = (len(sensor_list_1) + len(sensor_list_2)) * DataTypes.U32.size()) self.td_air_trap_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_air_trap_data_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/td/modules/alarms.py =================================================================== diff -u -rcc8682c8a5dfae91f2a2b934cb21181d2188ea3e -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/td/modules/alarms.py (.../alarms.py) (revision cc8682c8a5dfae91f2a2b934cb21181d2188ea3e) +++ leahi_dialin/td/modules/alarms.py (.../alarms.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -19,6 +19,7 @@ from logging import Logger import struct from enum import unique +import time # Project imports from leahi_dialin.common.alarm_defs import AlarmList @@ -155,6 +156,12 @@ # Alarm Table Properties self.alarm_table = {} #: The Alarm Table with Alarm Property details + self.handler_triggered_execution_times = [] + self.handler_clr_execution_times = [] + self.handler_info_execution_times = [] + self.handler_sts_execution_times = [] + self.handler_conclr_execution_times = [] + self.handler_prop_execution_times = [] def clear_dialin_alarms(self): @@ -178,6 +185,7 @@ @param message: published alarm status data message @return: none """ + start = time.perf_counter() msg_list = [] msg_list.append(('self.alarms_priority_state', DataTypes.U32)) msg_list.append(('self.alarm_top', DataTypes.U32)) @@ -188,6 +196,7 @@ self.process_into_vars(decoder_list = msg_list, message = message) self.td_alarm_status_timestamp = timestamp + self.handler_sts_execution_times.append(time.perf_counter() - start) @publish(["msg_id_td_alarm_triggered", "alarm_states", "alarm_conditions", @@ -200,6 +209,7 @@ @param message: published TD alarm activation message @return: none """ + start = time.perf_counter() self.logger.debug("Alarm activated!") result = {} @@ -237,6 +247,7 @@ self.last_alarm_data_1 = result['data_1'] self.last_alarm_data_2 = result['data_2'] self.td_alarm_triggered_timestamp = timestamp + self.handler_triggered_execution_times.append(time.perf_counter() - start) @publish(["msg_id_td_alarm_cleared", "alarm_states", "alarm_conditions", "TD_alarm_cleared_timestamp"]) @@ -247,6 +258,7 @@ @param message: published TD alarm clear message @return: none """ + start = time.perf_counter() msg_list = [] msg_list.append(('alarm_id', DataTypes.U32)) @@ -255,6 +267,7 @@ self.alarm_states[result['alarm_id']] = False self.alarm_conditions[result['alarm_id']] = False self.td_alarm_cleared_timestamp = timestamp + self.handler_clr_execution_times.append(time.perf_counter() - start) @publish(["msg_id_td_alarm_condition_cleared", "alarm_conditions", "alarm_conditions", "td_alarm_clr_condition_timestamp"]) @@ -265,6 +278,7 @@ @param message: published TD alarm clear alarm condition message @return: none """ + start = time.perf_counter() msg_list = [] msg_list.append(('alarm_id', DataTypes.U32)) @@ -273,6 +287,7 @@ self.alarm_conditions[result['alarm_id']] = False self.td_alarm_clr_condition_timestamp = timestamp + self.handler_conclr_execution_times.append(time.perf_counter() - start) @publish(["msg_id_td_alarm_info_data", "alarm_volume", "alarm_audio_curr_hg", @@ -286,6 +301,7 @@ @param message: published TD alarm information message @return: none """ + start = time.perf_counter() msg_list = [] msg_list.append(('self.alarm_volume', DataTypes.U32)) msg_list.append(('self.alarm_audio_curr_hg', DataTypes.F32)) @@ -309,6 +325,7 @@ start_from_byte = len(msg_list) * DataTypes.U32.size()) self.td_alarm_information_timestamp = timestamp + self.handler_info_execution_times.append(time.perf_counter() - start) @publish(["msg_id_td_active_alarms_list_request_response", "accepted", "rejection_reason", "active_alarm_list"]) @@ -340,6 +357,7 @@ @param message: published TD alarm table properties message @return: none """ + start = time.perf_counter() properties_list = [] properties_list.append(('Priority', DataTypes.U16)) properties_list.append(('Rank', DataTypes.U16)) @@ -372,6 +390,7 @@ self.alarm_table[result['Alarm_Id']][prop] = result[prop] self.alarm_table_timestamp = timestamp + self.handler_clr_execution_times.append(time.perf_counter() - start) def cmd_alarm_status_broadcast_interval_override(self, ms: int = 250, reset: int = NO_RESET): Index: leahi_dialin/td/modules/blood_flow.py =================================================================== diff -u -rad4c49079480b9c808d49adef86ac68f313fa364 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/td/modules/blood_flow.py (.../blood_flow.py) (revision ad4c49079480b9c808d49adef86ac68f313fa364) +++ leahi_dialin/td/modules/blood_flow.py (.../blood_flow.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET, PUMP_CONTROL_MODE_CLOSED_LOOP @@ -62,6 +63,7 @@ td_enum_repository.TDBloodFlowMotorAttributes.ROTOR_HALL_STATE.name: 0, } + self.handler_execution_times = [] @publish(["msg_id_td_blood_pump_data", "h4_motor", "td_blood_flow_timestamp"]) @@ -73,6 +75,7 @@ @param message: published blood flow data message @return: none """ + start = time.perf_counter() sensor_list =[] sensor_list.append((td_enum_repository.TDBloodFlowMotorAttributes.SET_BLOOD_FLOW_RATE.name, DataTypes.S32)) sensor_list.append((td_enum_repository.TDBloodFlowMotorAttributes.MEASURED_BLOOD_FLOW_RATE.name, DataTypes.F32)) @@ -88,6 +91,7 @@ decoder_list = sensor_list, message = message) self.td_blood_flow_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_blood_flow_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/td/modules/bubble_detector.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/td/modules/bubble_detector.py (.../bubble_detector.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/td/modules/bubble_detector.py (.../bubble_detector.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -70,6 +71,7 @@ td_enum_repository.TDAirBubbleDetectorAttributes.STATE.name: self.AIR_BUBBLE_NORMAL_STATE } } + self.handler_execution_times = [] @publish(["msg_id_td_bubbles_data", "h18_bubble_detector", "td_air_bubbles_timestamp"]) @@ -80,6 +82,7 @@ @param message: published air bubbles data message as: h18 bubble status, h18 bubble state @return: None """ + start = time.perf_counter() sensor_list =[] sensor_list.append((td_enum_repository.TDAirBubbleDetectorNames.H18_ADV.name, td_enum_repository.TDAirBubbleDetectorAttributes.STATUS.name, DataTypes.U32)) sensor_list.append((td_enum_repository.TDAirBubbleDetectorNames.H18_ADV.name, td_enum_repository.TDAirBubbleDetectorAttributes.STATE.name, DataTypes.U32)) @@ -88,6 +91,7 @@ decoder_list = sensor_list, message = message) self.td_air_bubbles_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_air_bubbles_data_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/td/modules/buttons.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/td/modules/buttons.py (.../buttons.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/td/modules/buttons.py (.../buttons.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -17,6 +17,7 @@ # Module imports from logging import Logger import struct +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -52,6 +53,7 @@ self.td_power_off_timestamp = 0.0 #: The timestamp of the last message self.poweroff_timeout_expired = False #: The Power Off timeout value + self.handler_execution_times = [] def reset_poweroff_timeout_expired(self): @@ -71,6 +73,7 @@ @param message: The poweroff timeout occurred message string @return: None """ + start = time.perf_counter() if len(message["message"]) < 16: self.logger.debug("Poweroff message id detected, but was the wrong length.") return @@ -81,6 +84,7 @@ if len(mode) > 0: self.poweroff_timeout_expired = bool(mode[0]) self.td_power_off_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_off_button_override(self, state: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/td/modules/ejector.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/td/modules/ejector.py (.../ejector.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/td/modules/ejector.py (.../ejector.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -60,6 +61,7 @@ td_enum_repository.TDEjectorAttributes.OPT_SNSR_ENGAGE.name: 0 # H24 Optical Sensor } } + self.handler_execution_times = [] @publish(["msg_id_td_ejector_data", "h5_motor", "td_ejector_timestamp"]) @@ -70,6 +72,7 @@ @param message: published ejector data message as: ejector state @return: None """ + start = time.perf_counter() sensor_list =[] sensor_list.append((td_enum_repository.TDEjectorNames.H5_MOTOR.name, td_enum_repository.TDEjectorAttributes.STATE.name, DataTypes.U32)) sensor_list.append((td_enum_repository.TDEjectorNames.H5_MOTOR.name, td_enum_repository.TDEjectorAttributes.SET_SPEED.name, DataTypes.F32)) @@ -80,6 +83,7 @@ decoder_list = sensor_list, message = message) self.td_ejector_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_ejector_data_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/td/modules/events.py =================================================================== diff -u -r8ef0478470000c7e0de4dc05440521c955e18107 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/td/modules/events.py (.../events.py) (revision 8ef0478470000c7e0de4dc05440521c955e18107) +++ leahi_dialin/td/modules/events.py (.../events.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -74,6 +74,7 @@ self._event_dictionary = dict() for event in td_enum_repository.TDEventList: self._event_dictionary[td_enum_repository.TDEventList(event).name] = [] + self.handler_execution_times = [] def get_td_nth_event(self, event_id, event_number=0): @@ -143,6 +144,7 @@ @param message: published TD events data message @returns none """ + start = time.perf_counter() event_data_1 = 0 event_data_2 = 0 op_mode = 0 @@ -284,6 +286,7 @@ # Update event dictionary self._event_dictionary[event_enum.name].append(event_tuple) self.events_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) @publish(["msg_id_td_op_mode_data", "event_op_mode_timestamp", "op_mode", "sub_mode"]) Index: leahi_dialin/td/modules/pressure_sensors.py =================================================================== diff -u -r8ef0478470000c7e0de4dc05440521c955e18107 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/td/modules/pressure_sensors.py (.../pressure_sensors.py) (revision 8ef0478470000c7e0de4dc05440521c955e18107) +++ leahi_dialin/td/modules/pressure_sensors.py (.../pressure_sensors.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -77,8 +78,8 @@ } self.pressure_limits_state = 0 #: Pressure limits state value + self.handler_execution_times = [] - @publish([ "msg_id_td_pressure_data", "td_pressure_sensors", @@ -97,7 +98,7 @@ @param message: published pressure & occlusion data message @return: none """ - + start = time.perf_counter() sensor_list_1 = [] sensor_list_1.append((td_enum_repository.TDPressureSensorNames.H2_PRES.name, td_enum_repository.TDPressureSensorAttributes.PRES.name, DataTypes.F32)) sensor_list_1.append((td_enum_repository.TDPressureSensorNames.H14_PRES.name, td_enum_repository.TDPressureSensorAttributes.PRES.name, DataTypes.F32)) @@ -130,6 +131,7 @@ start_from_byte = (len(sensor_list_1) + len(msg_list_1)) * DataTypes.F32.size()) self.td_pressure_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_pressure_sensors_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/td/modules/switches.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/td/modules/switches.py (.../switches.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/td/modules/switches.py (.../switches.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -52,6 +53,7 @@ # The Switches data in dictionary format self.td_switches_status = { td_enum_repository.TDSwitchNames.H9_FRONT_DOOR.name: td_enum_repository.TDSwitchStatus.CLOSED.value } + self.handler_execution_times = [] @publish(["msg_id_td_switches_data", "td_switches_status", "td_switches_timestamp"]) @@ -62,13 +64,15 @@ @param message: published switches data message @return: none """ + start = time.perf_counter() sensor_list =[] sensor_list.append((td_enum_repository.TDSwitchNames.H9_FRONT_DOOR.name, DataTypes.U32)) self.process_into_dict(dict_to_update = self.td_switches_status, decoder_list = sensor_list, message = message) self.td_switches_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_switches_data_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/td/modules/syringe_pump.py =================================================================== diff -u -r8ef0478470000c7e0de4dc05440521c955e18107 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/td/modules/syringe_pump.py (.../syringe_pump.py) (revision 8ef0478470000c7e0de4dc05440521c955e18107) +++ leahi_dialin/td/modules/syringe_pump.py (.../syringe_pump.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -15,6 +15,7 @@ ############################################################################ import struct from logging import Logger +import time from leahi_dialin.common.constants import RESET, NO_RESET from leahi_dialin.common.generic_defs import DataTypes @@ -62,6 +63,7 @@ self.syringe_pump_adc_dac_status = 0 #: current syringe pump ADC & DAC status self.syringe_pump_adc_read_counter = 0 #: current syringe pump ADC read counter self.td_syringe_pump_timestamp = 0.0 #: The timestamp of the syringe pump message + self.handler_execution_times = [] @publish(["td_syringe_pump_timestamp", @@ -80,6 +82,7 @@ @param message: published syringe pump data message @return: None """ + start = time.perf_counter() msg_list = [] msg_list.append(('self.syringe_pump_state', DataTypes.U32)) msg_list.append(('self.heparin_state', DataTypes.U32)) @@ -100,8 +103,8 @@ message = message) self.td_syringe_pump_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) - def cmd_syringe_pump_operation(self, operation: int = SyringePumpOperations.SYRINGE_PUMP_OP_STOP.value, rate: float = 0.0, volume: float = 0.0) -> int: Index: leahi_dialin/td/modules/temperature_sensors.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/td/modules/temperature_sensors.py (.../temperature_sensors.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/td/modules/temperature_sensors.py (.../temperature_sensors.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -51,6 +52,7 @@ # The Temperature data in dictionary format self.td_temperatures_status = { td_enum_repository.TDTemperatureSensorNames.H23_TEMP.name: 0.0 } + self.handler_execution_times = [] @@ -66,13 +68,15 @@ @param message: published temperature data message @return: none """ + start = time.perf_counter() sensor_list =[] sensor_list.append((td_enum_repository.TDTemperatureSensorNames.H23_TEMP.name, DataTypes.F32)) self.process_into_dict(dict_to_update = self.td_temperatures_status, decoder_list = sensor_list, message = message) self.td_temperature_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_temperature_sensors_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/td/modules/treatment.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/td/modules/treatment.py (.../treatment.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/td/modules/treatment.py (.../treatment.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -129,6 +130,7 @@ self.hep_bolus_vol = 0.0 #: The Heparin bolus volume self.uf_vol = 0.0 #: The Ultrafiltration volume self.tx_param_req_timestamp = 0 #: The timestamp of the latest Treatment Parameters Request message + self.handler_execution_times = [] @publish(["msg_id_td_treatment_param_ranges", "min_tx_time","max_tx_time","min_uf_volume","max_uf_volume", @@ -140,6 +142,7 @@ @param message: published treatment parameter range data message @return: none """ + start = time.perf_counter() msg_list = [] msg_list.append(['self.min_tx_time', DataTypes.U32]) msg_list.append(['self.max_tx_time', DataTypes.U32]) @@ -151,6 +154,7 @@ self.process_into_vars(decoder_list = msg_list, message = message) self.tx_params_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) @publish(["msg_id_td_saline_bolus_data", "tgt_saline_volume","cum_saline_volume","bol_saline_volume", Index: leahi_dialin/td/modules/valves.py =================================================================== diff -u -r9c2fab5b413da62b218e6a9a12a5752e974071a0 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/td/modules/valves.py (.../valves.py) (revision 9c2fab5b413da62b218e6a9a12a5752e974071a0) +++ leahi_dialin/td/modules/valves.py (.../valves.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -55,6 +56,7 @@ # The Valves data in dictionary format self.valves_status = {td_enum_repository.TDValveNames.H1_VALV.name: {}, td_enum_repository.TDValveNames.H19_VALV.name: {}} + self.handler_execution_times = [] @publish(["msg_id_td_valves_data", "valves_status", "td_valves_timestamp"]) @@ -66,6 +68,7 @@ @param message: published TD valves data message @returns none """ + start = time.perf_counter() msg_list = [] msg_list.append(('Valve', DataTypes.U32)) msg_list.append(('State', DataTypes.U32)) @@ -90,6 +93,7 @@ # Update the valves dictionary self.valves_status[result['Valve']] = result self.td_valves_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_valves_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: Index: leahi_dialin/td/modules/voltages.py =================================================================== diff -u -re45b20cdc5d4c5dcff8cef530b173ca94cb2e422 -r820c94585ab5d85c40395e828c4dfe2da164c105 --- leahi_dialin/td/modules/voltages.py (.../voltages.py) (revision e45b20cdc5d4c5dcff8cef530b173ca94cb2e422) +++ leahi_dialin/td/modules/voltages.py (.../voltages.py) (revision 820c94585ab5d85c40395e828c4dfe2da164c105) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +import time # Project imports from leahi_dialin.common.constants import NO_RESET @@ -51,6 +52,7 @@ #: The Voltage data in list format self.monitored_voltages = [0.0] * td_enum_repository.TDMonitoredVoltages.NUM_OF_MONITORED_VOLTAGE_LINES.value + self.handler_execution_times = [] @publish(["msg_id_td_voltages_data", "monitored_voltages", "td_voltages_timestamp"]) @@ -62,6 +64,7 @@ @param message: published monitored voltages data message @return: none """ + start = time.perf_counter() sensor_list = [] sensor_list.append((td_enum_repository.TDMonitoredVoltages.MONITORED_LINE_1_2V.name, DataTypes.F32)) sensor_list.append((td_enum_repository.TDMonitoredVoltages.MONITORED_LINE_3_3V.name, DataTypes.F32)) @@ -79,6 +82,7 @@ decoder_list = sensor_list, message = message) self.td_voltages_timestamp = timestamp + self.handler_execution_times.append(time.perf_counter() - start) def cmd_monitored_voltages_broadcast_interval_override(self, ms: int = 1000, reset: int = NO_RESET) -> int: