Add guide on how to build ROS 2 with tracing instrumentation#2877
Conversation
302a130 to
eaf2cb2
Compare
|
The guide feels too straightforward to me, but maybe I'm jumping over things that are not obvious to other people. Feedback would be really useful. Also, should this go under Tutorials > Advanced instead? |
f327d48 to
ed76331
Compare
ed76331 to
2e1788b
Compare
clalancette
left a comment
There was a problem hiding this comment.
Sorry for the long delay on this one.
Overall, I think this is a good article to have. I've left two items for improvement below, then I'm happy with it.
| With binary installation | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
|
||
| If you rely on the :ref:`ROS 2 binaries <binary-packages>`, you will need to clone the ``ros2_tracing`` repository into your workspace and build at least up to the ``tracetools`` package: |
There was a problem hiding this comment.
Given that this tutorial explicitly relies on Ubuntu elsewhere, I think it is fine to just make a :doc: reference to the Ubuntu binary installation instructions. Then we can also remove the .. _binary_packages ref in Installation.rst.
There was a problem hiding this comment.
Changed in d12eda5. I mentioned & linked to the Debian packages and "fat" archive installation pages.
| Alternatively, to build and completely remove both the tracepoints and the tracing instrumentation from ROS 2, set the ``TRACETOOLS_DISABLED`` CMake option to ``ON``: | ||
|
|
||
| .. code-block:: bash | ||
|
|
||
| colcon build --cmake-args " -DTRACETOOLS_DISABLED=ON" |
There was a problem hiding this comment.
This confused me at first glance, but I think I get it now. My understanding is that if you have lttng packages installed, then tracing will automatically be built in when you build. So if you have lttng installed, but you don't want ROS 2 tracing enabled, you have to pass -DTRACETOOLS_DISABLED=ON. Is my understanding correct?
If so, you may want to make that fact a little more clear. Also, generally when we recommend cmake-args like this we also recommend --no-warn-unused-cli so there aren't warnings from all CMake packages that don't explicitly use it.
There was a problem hiding this comment.
This confused me at first glance, but I think I get it now. My understanding is that if you have
lttngpackages installed, then tracing will automatically be built in when you build. So if you havelttnginstalled, but you don't want ROS 2 tracing enabled, you have to pass-DTRACETOOLS_DISABLED=ON. Is my understanding correct?If so, you may want to make that fact a little more clear.
That is correct. Changed in ed2e5c3
Also, generally when we recommend cmake-args like this we also recommend
--no-warn-unused-cliso there aren't warnings from all CMake packages that don't explicitly use it.
Changed in 48c37d9. I also removed the quotes around the CMake args and the leading space.
Closes ros2#2805 Signed-off-by: Christophe Bedard <christophe.bedard@apex.ai>
Signed-off-by: Christophe Bedard <christophe.bedard@apex.ai>
2e1788b to
d12eda5
Compare
Signed-off-by: Christophe Bedard <christophe.bedard@apex.ai>
Signed-off-by: Christophe Bedard <christophe.bedard@apex.ai>
clalancette
left a comment
There was a problem hiding this comment.
This looks good to me!
@christophebedard Should we backport this to all of Foxy, Galactic, and Humble?
yep! |
Closes #2805
This guide will become invalid/unneeded if we do ros2/ros2#1177
Signed-off-by: Christophe Bedard christophe.bedard@apex.ai