-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Include tracepoints by default on Linux #31
Include tracepoints by default on Linux #31
Conversation
This is a draft because there are things we need to figure out. Currently, there are 3 possible configurations:
If we expect LTTng to be installed on Linux, then we don't really need (2) and can remove Therefore, I'd like to get some input on this. |
The current change looks good to me -- it makes the most useful use case easier to use, while maintaining all the various disabling options. People have asked for these in the past, so I think keeping them around is a good choice. |
Keeping the full range of configurations makes sense to me. In the case that tracetools may eventually support other tracing systems (on platforms where lttng isn't supported), then we should have a package-level switch to enable/disable tracing that will set correct configurations for alternative tracers. |
I guess we can keep all of them, though I think that someone using it in method 2 is pretty unlikely. By the time you've set that up, you may as well have just built from source. But I'm not opposed to keeping it. |
Seems like we're in favour (or not in disfavour) of keeping configuration (2) and exposing the corresponding CMake variable as a CMake option. I've changed
So the tracer would then be automatically selected based on the platform? Would it be useful to be able to select between multiple tracers for a single platform, e.g., |
5ef06e6
to
9730555
Compare
474e877
to
20ef0c6
Compare
Signed-off-by: Christophe Bedard <christophe.bedard@apex.ai>
Signed-off-by: Christophe Bedard <christophe.bedard@apex.ai>
Signed-off-by: Christophe Bedard <christophe.bedard@apex.ai>
20ef0c6
to
e83df5c
Compare
* Remove matrix option for LTTng installed/uninstalled * Add matrix option for TRACETOOLS_TRACEPOINTS_EXCLUDED * Update sanity tests to check that (re)building with/without -DTRACETOOLS_TRACEPOINTS_EXCLUDED=ON works Signed-off-by: Christophe Bedard <christophe.bedard@apex.ai>
Signed-off-by: Christophe Bedard <christophe.bedard@apex.ai>
See ros-tooling/setup-ros#535 Signed-off-by: Christophe Bedard <christophe.bedard@apex.ai>
e83df5c
to
8e335a9
Compare
CI building everything using ros2/ci#690: |
Coincidentally, this was the 1000th |
Part of ros2/ros2#1177
The main change here is to explicitly depend on/expect LTTng-UST on Linux.
This also adds a new
TRACETOOLS_TRACEPOINTS_EXCLUDED
CMake option. It allows users to keep the instrumentation calls (e.g.,rclcpp
->tracetools
) without including the actual tracepoints.The GitHub workflows and README were also updated.
Note that the CMake warning about
pytest-cov
in the Rpr job (which makes it look like it failed here) will be fixed by ament/ament_cmake#436.Signed-off-by: Christophe Bedard christophe.bedard@apex.ai