Handle generic 'callback_start|end' events

This commit is contained in:
Christophe Bedard 2019-06-14 10:09:55 +02:00
parent 2508b07347
commit ded341a59b

View file

@ -37,30 +37,22 @@ class Ros2Processor(EventHandler):
self._handle_subscription_init, self._handle_subscription_init,
'ros2:rclcpp_subscription_callback_added': 'ros2:rclcpp_subscription_callback_added':
self._handle_rclcpp_subscription_callback_added, self._handle_rclcpp_subscription_callback_added,
'ros2:rclcpp_subscription_callback_start':
self._handle_rclcpp_subscription_callback_start,
'ros2:rclcpp_subscription_callback_end':
self._handle_rclcpp_subscription_callback_end,
'ros2:rcl_service_init': 'ros2:rcl_service_init':
self._handle_rcl_service_init, self._handle_rcl_service_init,
'ros2:rclcpp_service_callback_added': 'ros2:rclcpp_service_callback_added':
self._handle_rclcpp_service_callback_added, self._handle_rclcpp_service_callback_added,
'ros2:rclcpp_service_callback_start':
self._handle_rclcpp_service_callback_start,
'ros2:rclcpp_service_callback_end':
self._handle_rclcpp_service_callback_end,
'ros2:rcl_client_init': 'ros2:rcl_client_init':
self._handle_rcl_client_init, self._handle_rcl_client_init,
'ros2:rcl_timer_init': 'ros2:rcl_timer_init':
self._handle_rcl_timer_init, self._handle_rcl_timer_init,
'ros2:rclcpp_timer_callback_added': 'ros2:rclcpp_timer_callback_added':
self._handle_rclcpp_timer_callback_added, self._handle_rclcpp_timer_callback_added,
'ros2:rclcpp_timer_callback_start':
self._handle_rclcpp_timer_callback_start,
'ros2:rclcpp_timer_callback_end':
self._handle_rclcpp_timer_callback_end,
'ros2:rclcpp_callback_register': 'ros2:rclcpp_callback_register':
self._handle_rclcpp_callback_register, self._handle_rclcpp_callback_register,
'ros2:callback_start':
self._handle_callback_start,
'ros2:callback_end':
self._handle_callback_end,
} }
super().__init__(handler_map) super().__init__(handler_map)
@ -111,12 +103,6 @@ class Ros2Processor(EventHandler):
callback_object = get_field(event, 'callback') callback_object = get_field(event, 'callback')
self._data.add_callback_object(handle, timestamp, callback_object) self._data.add_callback_object(handle, timestamp, callback_object)
def _handle_rclcpp_subscription_callback_start(self, event, metadata):
self.__handle_callback_start(event, metadata)
def _handle_rclcpp_subscription_callback_end(self, event, metadata):
self.__handle_callback_end(event, metadata)
def _handle_rcl_service_init(self, event, metadata): def _handle_rcl_service_init(self, event, metadata):
handle = get_field(event, 'service_handle') handle = get_field(event, 'service_handle')
timestamp = metadata.timestamp timestamp = metadata.timestamp
@ -131,12 +117,6 @@ class Ros2Processor(EventHandler):
callback_object = get_field(event, 'callback') callback_object = get_field(event, 'callback')
self._data.add_callback_object(handle, timestamp, callback_object) self._data.add_callback_object(handle, timestamp, callback_object)
def _handle_rclcpp_service_callback_start(self, event, metadata):
self.__handle_callback_start(event, metadata)
def _handle_rclcpp_service_callback_end(self, event, metadata):
self.__handle_callback_end(event, metadata)
def _handle_rcl_client_init(self, event, metadata): def _handle_rcl_client_init(self, event, metadata):
handle = get_field(event, 'client_handle') handle = get_field(event, 'client_handle')
timestamp = metadata.timestamp timestamp = metadata.timestamp
@ -157,24 +137,18 @@ class Ros2Processor(EventHandler):
callback_object = get_field(event, 'callback') callback_object = get_field(event, 'callback')
self._data.add_callback_object(handle, timestamp, callback_object) self._data.add_callback_object(handle, timestamp, callback_object)
def _handle_rclcpp_timer_callback_start(self, event, metadata):
self.__handle_callback_start(event, metadata)
def _handle_rclcpp_timer_callback_end(self, event, metadata):
self.__handle_callback_end(event, metadata)
def _handle_rclcpp_callback_register(self, event, metadata): def _handle_rclcpp_callback_register(self, event, metadata):
callback_object = get_field(event, 'callback') callback_object = get_field(event, 'callback')
timestamp = metadata.timestamp timestamp = metadata.timestamp
symbol = get_field(event, 'symbol') symbol = get_field(event, 'symbol')
self._data.add_callback_symbol(callback_object, timestamp, symbol) self._data.add_callback_symbol(callback_object, timestamp, symbol)
def __handle_callback_start(self, event, metadata): def _handle_callback_start(self, event, metadata):
# Add to dict # Add to dict
callback_addr = get_field(event, 'callback') callback_addr = get_field(event, 'callback')
self._callback_instances[callback_addr] = (event, metadata) self._callback_instances[callback_addr] = (event, metadata)
def __handle_callback_end(self, event, metadata): def _handle_callback_end(self, event, metadata):
# Fetch from dict # Fetch from dict
callback_object = get_field(event, 'callback') callback_object = get_field(event, 'callback')
(event_start, metadata_start) = self._callback_instances.get(callback_object) (event_start, metadata_start) = self._callback_instances.get(callback_object)