使用跟踪功能构建 ROS 2

ROS 2 的源代码中包含了跟踪工具,Linux 下安装的 ROS 2 包含 LTTng 跟踪器作为依赖项。因此,在 Linux 上可以对 ROS 2 进行开箱即用的跟踪。

不过,ROS 2 可以从源代码构建,以移除跟踪点或完全移除仪器。本指南介绍了如何做到这一点。更多信息,请参阅 智囊团.

备注

本指南仅适用于 Linux 系统。

先决条件

设置系统以从源代码构建 ROS 2。参见 源安装页面 了解更多信息。

构建配置

ROS 2 跟踪工具分为两个部分:函数工具和跟踪点。首先,一个 ROS 2 核心软件包(例如、 rclcpp) 调用由 tracetools 包。然后,如果跟踪点在运行时启用,该函数就会触发跟踪点,记录数据。

默认情况下,如果跟踪器不是 或未启用跟踪点,它们对执行几乎没有影响。不过,仍可通过 CMake 选项移除跟踪点。此外,还可以通过 CMake 选项完全删除函数,这意味着跟踪点也会被删除。

无跟踪点的建筑

这一步骤取决于您是否 从源代码构建 ROS 2 或使用 ROS 2 二进制文件 (Debian 软件包二进制存档).要移除跟踪点,(重新)构建 tracetools 并设置 tracetools_tracepoints_excluded CMake 选项 关于:

CD ~/ros2_jazzy colcon 构建 --软件包--选择 tracetools --cmake-clean-cache --cmake-args -dtracetools_tracepoints_excluded=关于

没有仪器的建筑

完全删除跟踪点和函数调用、 从源代码构建 ROS 2 并设置 tracetools_disabled CMake 选项 关于:

CD ~/ros2_jazzy colcon 构建 --cmake-args -dtracetools_disabled(已禁用=关于 --no-warn-unused-cli

验证

验证是否已禁用跟踪:

CD ~/ws
消息来源 install/setup.bash ros2 运行 tracetools 地位

应该可以打印出来:

追踪 

如果打印了其他内容,则说明出了问题。