From a595bb06bf290bde6681d2f2870d2758f2683b6c Mon Sep 17 00:00:00 2001 From: Christophe Bedard Date: Fri, 17 May 2019 13:52:19 +0200 Subject: [PATCH] Add service callback start/end tracepoints --- tracetools/include/tracetools/tracetools.h | 10 ++++++++++ tracetools/lttng/tp_call.tp | 22 ++++++++++++++++++++++ tracetools/src/tracetools.c | 16 +++++++++++++++- 3 files changed, 47 insertions(+), 1 deletion(-) diff --git a/tracetools/include/tracetools/tracetools.h b/tracetools/include/tracetools/tracetools.h index 94a7281..56402b2 100644 --- a/tracetools/include/tracetools/tracetools.h +++ b/tracetools/include/tracetools/tracetools.h @@ -48,6 +48,16 @@ void ros_trace_rclcpp_subscription_callback_start(const void * callback, const b */ void ros_trace_rclcpp_subscription_callback_end(const void * callback); +/** + * tp: rclcpp_service_callback_start + */ +void ros_trace_rclcpp_service_callback_start(const void * callback); + +/** + * tp: rclcpp_service_callback_end + */ +void ros_trace_rclcpp_service_callback_end(const void * callback); + #ifdef __cplusplus } #endif diff --git a/tracetools/lttng/tp_call.tp b/tracetools/lttng/tp_call.tp index aa4a07b..c3bd7a1 100644 --- a/tracetools/lttng/tp_call.tp +++ b/tracetools/lttng/tp_call.tp @@ -73,3 +73,25 @@ TRACEPOINT_EVENT( ctf_integer_hex(const void*, callback, callback_arg) ) ) + +TRACEPOINT_EVENT( + ros2, + rclcpp_service_callback_start, + TP_ARGS( + const void*, callback_arg + ), + TP_FIELDS( + ctf_integer_hex(const void*, callback, callback_arg) + ) +) + +TRACEPOINT_EVENT( + ros2, + rclcpp_service_callback_end, + TP_ARGS( + const void*, callback_arg + ), + TP_FIELDS( + ctf_integer_hex(const void*, callback, callback_arg) + ) +) diff --git a/tracetools/src/tracetools.c b/tracetools/src/tracetools.c index 6d5ba57..b14d1d2 100644 --- a/tracetools/src/tracetools.c +++ b/tracetools/src/tracetools.c @@ -54,4 +54,18 @@ void ros_trace_rclcpp_subscription_callback_end(const void * callback) #ifdef WITH_LTTNG tracepoint(ros2, rclcpp_subscription_callback_end, callback); #endif -} \ No newline at end of file +} + +void ros_trace_rclcpp_service_callback_start(const void * callback) +{ +#ifdef WITH_LTTNG + tracepoint(ros2, rclcpp_service_callback_start, callback); +#endif +} + +void ros_trace_rclcpp_service_callback_end(const void * callback) +{ +#ifdef WITH_LTTNG + tracepoint(ros2, rclcpp_service_callback_end, callback); +#endif +}