diff --git a/tracetools/include/tracetools/tracetools.h b/tracetools/include/tracetools/tracetools.h index f9a3b07..9f865ed 100644 --- a/tracetools/include/tracetools/tracetools.h +++ b/tracetools/include/tracetools/tracetools.h @@ -74,6 +74,23 @@ void TRACEPOINT( rclcpp_subscription_callback_end, const void * callback); +/** + * tp: rcl_service_init + */ +void TRACEPOINT( + rcl_service_init, + const void * service, + const void * node, + const char * service_name); + +/** + * tp: rclcpp_service_callback_added + */ +void TRACEPOINT( + rclcpp_service_callback_added, + const void * service, + const void * callback); + /** * tp: rclcpp_service_callback_start */ diff --git a/tracetools/lttng/tp_call.tp b/tracetools/lttng/tp_call.tp index b6796f6..3073e24 100644 --- a/tracetools/lttng/tp_call.tp +++ b/tracetools/lttng/tp_call.tp @@ -91,6 +91,34 @@ TRACEPOINT_EVENT( ) ) +TRACEPOINT_EVENT( + ros2, + rcl_service_init, + TP_ARGS( + const void*, service_arg, + const void*, node_arg, + const char*, service_name_arg + ), + TP_FIELDS( + ctf_integer_hex(const void*, service, service_arg) + ctf_integer_hex(const void*, node, node_arg) + ctf_string(service_name, service_name_arg) + ) +) + +TRACEPOINT_EVENT( + ros2, + rclcpp_service_callback_added, + TP_ARGS( + const void*, service_arg, + const void*, callback_arg + ), + TP_FIELDS( + ctf_integer_hex(const void*, service, service_arg) + ctf_integer_hex(const void*, callback, callback_arg) + ) +) + TRACEPOINT_EVENT( ros2, rclcpp_service_callback_start, diff --git a/tracetools/scripts/setup-lttng.sh b/tracetools/scripts/setup-lttng.sh index deb6895..ee30661 100755 --- a/tracetools/scripts/setup-lttng.sh +++ b/tracetools/scripts/setup-lttng.sh @@ -8,7 +8,11 @@ for event in \ ros2:rcl_subscription_init \ ros2:rclcpp_subscription_callback_added \ ros2:rclcpp_subscription_callback_start \ - ros2:rclcpp_subscription_callback_end + ros2:rclcpp_subscription_callback_end \ + ros2:rcl_service_init \ + ros2:rclcpp_service_callback_added \ + ros2:rclcpp_service_callback_start \ + ros2:rclcpp_service_callback_end do lttng enable-event -c ros2 -u $event done diff --git a/tracetools/src/tracetools.c b/tracetools/src/tracetools.c index cefd8e9..2c57b8c 100644 --- a/tracetools/src/tracetools.c +++ b/tracetools/src/tracetools.c @@ -74,6 +74,23 @@ void TRACEPOINT( CONDITIONAL_TP(ros2, rclcpp_subscription_callback_end, callback); } +void TRACEPOINT( + rcl_service_init, + const void * service, + const void * node, + const char * service_name) +{ + CONDITIONAL_TP(ros2, rcl_service_init, service, node, service_name); +} + +void TRACEPOINT( + rclcpp_service_callback_added, + const void * service, + const void * callback) +{ + CONDITIONAL_TP(ros2, rclcpp_service_callback_added, service, callback); +} + void TRACEPOINT( rclcpp_service_callback_start, const void * callback)