使用跟踪工具构建ROS 2

本指南介绍了如何使用``ros2_tracing``提供的跟踪工具构建ROS 2。更多信息请参见`存储库 <https://github.com/ros2/ros2_tracing>`__。

ROS 2源代码中包含了工具仪器。然而,如果使用二进制文件或从源代码构建时,默认情况下工具仪器不会触发跟踪点。要获取跟踪点,需要安装LTTng跟踪器,然后重新从源代码构建ROS 2的一部分。

注解

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

先决条件

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

安装追踪器

安装 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二进制文件(Debian packages <../Installation/Ubuntu-Install-Debians>`或:doc:"fat" archive <../Installation/Alternatives/Ubuntu-Install-Binary>`),您需要将``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