Alpha release of ROS 2 tracing tools

The alpha version of tracing tools for ROS 2 has been released! The tools are split into two repositories: ros2_tracing and tracetools_analysis.

There’s also a Getting started with ROS 2 tracing tutorial over on the micro-ROS website. It introduces tracing, explains why it is relevant, and shows how to use the tools to trace a simple ROS 2 example, process the data, and plot the results.

Since this is an alpha release, we’re very interested in getting feedback and hearing about the kinds of analyses the community would like to see. Contributions are of course welcome!

The next step is to test on a real robot and compare the results to other tools.

7 Likes

Looks interesting!

A few questions (without having checked in great details the gitlab pages:

  • I suppose this works with the standard ROS 2 version, right? (i.e., this is not specific to the micro-ROS project)
  • Out of curiosity but why publish this on gitlab, when you already have a github account as well?

The current implementation of ros2_tracing uses LTTng, which runs on Linux. It’s not quite standard ROS 2 (yet!), because rcl and rclcpp need to be instrumented. We provide those as well. But yes, that’s the “standard” rclcpp API, and we’ll try to get it merged into upstream.

In the micro-ROS project, we’re also doing a micro-controller specific implementation of the API, but that’s not quite ready, yet.

Regarding gitlab: We (Bosch) are using gitlab internally, and I’ve gotten used to its additional features, so I try to use it externally as well. In the overall micro-ROS project, there was a historical decision to go for github between the various participants, so that’s why we use something else there.

btw, we just opened the PR’s for this. See https://github.com/ros2/rclcpp/pull/789 and https://github.com/ros2/rcl/pull/473

1 Like