diff --git a/rmw_cyclonedds_cpp/CMakeLists.txt b/rmw_cyclonedds_cpp/CMakeLists.txt index 2253a605..c1171a5c 100644 --- a/rmw_cyclonedds_cpp/CMakeLists.txt +++ b/rmw_cyclonedds_cpp/CMakeLists.txt @@ -29,6 +29,7 @@ find_package(ament_cmake_ros REQUIRED) find_package(rcutils REQUIRED) find_package(rcpputils REQUIRED) +find_package(tracetools REQUIRED) #find_package(cyclonedds_cmake_module REQUIRED) find_package(CycloneDDS QUIET CONFIG) @@ -77,6 +78,7 @@ ament_target_dependencies(rmw_cyclonedds_cpp "rmw" "rmw_dds_common" "rosidl_runtime_c" + "tracetools" ) configure_rmw_library(rmw_cyclonedds_cpp) diff --git a/rmw_cyclonedds_cpp/package.xml b/rmw_cyclonedds_cpp/package.xml index 27ff047f..5f7b4f34 100644 --- a/rmw_cyclonedds_cpp/package.xml +++ b/rmw_cyclonedds_cpp/package.xml @@ -18,6 +18,7 @@ rosidl_runtime_c rosidl_typesupport_introspection_c rosidl_typesupport_introspection_cpp + tracetools ament_lint_auto ament_lint_common diff --git a/rmw_cyclonedds_cpp/src/rmw_node.cpp b/rmw_cyclonedds_cpp/src/rmw_node.cpp index 7ebc84a5..59ab4d0b 100644 --- a/rmw_cyclonedds_cpp/src/rmw_node.cpp +++ b/rmw_cyclonedds_cpp/src/rmw_node.cpp @@ -75,6 +75,8 @@ #include "rosidl_typesupport_cpp/message_type_support.hpp" +#include "tracetools/tracetools.h" + #include "namespace_prefix.hpp" #include "dds/dds.h" @@ -1543,6 +1545,7 @@ extern "C" rmw_ret_t rmw_publish( return RMW_RET_INVALID_ARGUMENT); auto pub = static_cast(publisher->data); assert(pub); + TRACEPOINT(rmw_publish, static_cast(publisher), ros_message); if (dds_write(pub->enth, ros_message) >= 0) { return RMW_RET_OK; } else {