Construire ROS 2 avec instrumentation de traçage

Ce guide vous montre comment construire ROS 2 avec l’instrumentation de traçage fournie par ros2_tracing. Pour plus d’informations, consultez le référentiel.

L’instrumentation est incluse dans le code source de ROS 2. Cependant, si vous utilisez les fichiers binaires ou lors de la création à partir de la source, l’instrumentation ne déclenche pas réellement de points de trace par défaut. Pour obtenir les points de trace, le traceur LTTng doit être installé, puis une partie de ROS 2 doit être (re)construite à partir de la source.

Note

Ce guide s’applique uniquement aux systèmes Linux et suppose qu’Ubuntu est utilisé.

Conditions préalables

Configurez votre système pour créer ROS 2 à partir de la source. Voir la page d’installation source pour plus d’informations.

Installation du traceur

Installez le traceur LTTng et les outils et dépendances associés.

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

Cela installe uniquement le traceur d’espace utilisateur LTTng, et non le traceur de noyau LTTng, car il n’est pas nécessaire de tracer les applications ROS 2.

Imeuble

Cette étape dépend si vous construisez ROS 2 à partir de la source ou si vous utilisez des binaires ROS 2.

Avec l’installation des sources

Si vous avez déjà compilé ROS 2 à partir de la source avant d’installer LTTng, vous devrez reconstruire au moins jusqu’au paquet tracetools :

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

Avec installation binaire

Si vous comptez sur les binaires ROS 2 (Debian packages ou « fat » archive), vous devrez cloner le référentiel ros2_tracing dans votre espace de travail et compiler au moins jusqu’au package tracetools :

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

Validation

Sourcez et validez que le traçage est activé :

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

Il doit imprimer :

Tracing enabled

Si quelque chose d’autre est imprimé, alors quelque chose s’est mal passé.

Désactiver le traçage

Si le traceur d’espace utilisateur LTTng est installé et trouvé lors de la construction de tracetools, le traçage sera automatiquement activé. Alternativement, pour créer et supprimer complètement les points de trace et l’instrumentation de traçage de ROS 2, définissez l’option CMake TRACETOOLS_DISABLED sur ON :

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