使用跟踪工具构建 ROS 2

本指南向您展示如何使用“ros2_tracing”提供的跟踪工具构建 ROS 2。 有关更多信息,请参阅“存储库 <https://github.com/ros2/ros2_tracing>”__。

工具包含在 ROS 2 源代码中。 但是,如果使用二进制文件或从源代码构建,工具实际上不会默认触发跟踪点。 要获取跟踪点,需要安装 LTTng 跟踪器,然后需要从源代码(重新)构建 ROS 2 的一部分。

Note

本指南仅适用于 Linux 系统并假设使用 Ubuntu。

先决条件

设置您的系统以从源代码构建 ROS 2。 有关更多信息,请参阅 源安装页面

安装跟踪器

安装 LTTng 跟踪器 和相关工具及依赖项。

sudo apt-get update
sudo apt-get install -y lttng-tools liblttng-ust-dev python3-lttng python3-babeltrace babeltrace

这只会安装 LTTng 用户空间跟踪器,而不会安装 LTTng 内核跟踪器,因为它不需要跟踪 ROS 2 应用程序。

构建

此步骤取决于您是从源代码构建 ROS 2 还是使用 ROS 2 二进制文件。

使用源代码安装

如果您在安装 LTTng 之前已经 从源代码构建 ROS 2,则需要至少重新构建到 tracetools 包:

cd ~/ws
colcon build --packages-up-to tracetools --cmake-force-configure

使用二进制安装

如果您依赖 ROS 2 二进制文件(deb packages“fat” archive),您需要将 ros2_tracing 存储库克隆到您的工作区并至少构建 tracetools 包:

cd ~/ws/src
git clone https://github.com/ros2/ros2_tracing.git
cd ../
colcon build --packages-up-to tracetools

验证中

来源并验证是否已启用跟踪:

cd ~/ws
source install/setup.bash
ros2 run tracetools status

它应该打印出:

Tracing enabled

如果打印了其他内容,则表示出现了问题。

禁用跟踪

如果在构建“tracetools”时安装了并找到了 LTTng 用户空间跟踪器,则将自动启用跟踪。 或者,要从 ROS 2 中构建并完全删除跟踪点和跟踪工具,请将“TRACETOOLS_DISABLED”CMake 选项设置为“ON”:

colcon build --cmake-args -DTRACETOOLS_DISABLED=ON --no-warn-unused-cli