Add start time to basic callback analysis

This commit is contained in:
Christophe Bedard 2019-06-06 09:25:16 +02:00
parent b3b70aff85
commit 6aba4109c3
2 changed files with 7 additions and 4 deletions

View file

@ -22,7 +22,7 @@ class RosProcessor():
# TODO add other stuff # TODO add other stuff
# Instances of callback_start for eventual matching # Instances of callback_start for eventual matching
self._callback_starts = {} self._callback_starts = {}
# Callback instances, callback_address: end - start # Callback instances, callback_address: (end - start, start)
self.callbacks_instances = {} self.callbacks_instances = {}
# Link a ROS trace event to its corresponding handling method # Link a ROS trace event to its corresponding handling method
@ -72,4 +72,4 @@ class RosProcessor():
start_timestamp = self._callback_starts.pop(callback_addr, None) start_timestamp = self._callback_starts.pop(callback_addr, None)
if start_timestamp is not None: if start_timestamp is not None:
duration = metadata.timestamp - start_timestamp duration = metadata.timestamp - start_timestamp
self.callbacks_instances[callback_addr].append(duration) self.callbacks_instances[callback_addr].append((duration, start_timestamp))

View file

@ -6,12 +6,15 @@ from .ros_processor import RosProcessor
def callback_durations_to_df(ros_processor): def callback_durations_to_df(ros_processor):
callback_addresses = [] callback_addresses = []
durations = [] durations = []
start_timestamps = []
for addr in ros_processor.callbacks_instances: for addr in ros_processor.callbacks_instances:
for d in ros_processor.callbacks_instances[addr]: for duration, start in ros_processor.callbacks_instances[addr]:
callback_addresses.append(addr) callback_addresses.append(addr)
durations.append(d) durations.append(duration)
start_timestamps.append(start)
return pd.DataFrame(data={ return pd.DataFrame(data={
'callback_address': callback_addresses, 'callback_address': callback_addresses,
'duration': durations, 'duration': durations,
'start_timestamp': start_timestamps
}) })