使用跟踪功能构建 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=关于
克隆 ros2_tracing
资源库到你的工作区并进行构建:
CD ~/ws git 复制 https://github.com/ros2/ros2_tracing.git -b 爵士乐 src/ros2_tracing colcon 构建 --软件包--选择 tracetools --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 地位
应该可以打印出来:
追踪 残
追踪 残 通过 配置
如果打印了其他内容,则说明出了问题。