Clarify sub-buffer configuration support in Trace action (#25)#235
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds a comprehensive real-time benchmarking example to the ros2_tracing repository, demonstrating how to configure tracing for real-time performance analysis including callback latency measurement, jitter quantification, and scheduling effects evaluation. It addresses issue #25 which requested an example of real-time benchmark usage of ros2_tracing.
Changes:
- Adds a new launch file (
example_real_time.launch.py) with configurable kernel events, perf context fields, and sub-buffer sizes - Adds comprehensive README documentation explaining usage, prerequisites, analysis, and verification
- Updates the existing real-time footnote to clarify that sub-buffer sizes are now configurable through the Trace launch action
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| tracetools_launch/launch/example_real_time.launch.py | New launch file demonstrating real-time tracing configuration with optional kernel events, perf context, and configurable sub-buffer sizes using demo_nodes_cpp talker/listener |
| README.md | Adds "Real-time benchmarking example" section with detailed usage instructions, prerequisites, analysis guidance, and verification steps; updates footnote to reflect configurable sub-buffer sizes |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Happy to make any changes or improvements if needed. |
|
can someone please review this and tell if any changes are needed |
christophebedard
left a comment
There was a problem hiding this comment.
Thank you for the PR.
Unfortunately, I don't think we should take this. The original issue is very old, and the original goal wasn't very clear or well-defined. I'll close that issue. The launch file added here doesn't really do any real-time tracing. What's important for real-time is how the kernel and LTTng are configured, and we can't do that through ros2_tracing currently, like the note in the README says. However, the update to that note is great, so we can keep that.
In the future, for issues that aren't very well defined (especially ones that are old), I would highly recommend commenting on the issue to check with a maintainer before starting to work on it. This way, you can make sure the direction you're going to take is the right one.
Finally, this PR seems mostly AI-generated. If you do use AI, please mention what parts of the PR you used it for and confirm that you carefully validated its output.
c33f845 to
422433c
Compare
422433c to
7ebc8c9
Compare
|
Thanks for the feedback! I've updated the PR to keep only README clarifications and removed the other changes. Please let me know if anything else needs adjustment. |
6c02da1 to
41b6015
Compare
Signed-off-by: Sarthak Bagga <sarthak.bagga2005@gmail.com>
41b6015 to
4ae3afb
Compare
christophebedard
left a comment
There was a problem hiding this comment.
Thank you again for the PR!
I'll skip running ci.ros2.org since this only modifies the README.
Description
This PR updates the README to clarify that sub-buffer sizes can be configured via the
Tracelaunch file action (subbuffer_size_ustandsubbuffer_size_kernel).It also clarifies that other parameters, such as the read timer interval and explicit sub-buffer count, are not currently exposed through the
Traceaction or theros2 tracecommand.Motivation
Improve the accuracy and clarity of documentation around trace configuration capabilities.
Is this user-facing behavior change?
No (documentation clarification only).
Did you use Generative AI?
Yes.
Additional Information
All other previously proposed changes have been removed to keep the scope focused on this documentation clarification.