使用跟踪工具构建 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