Description
Hey,
First I wanted to say thanks for your nice tracing framework and analysis library.
I am currently adjusting it a bit to evaluate the impact of hardware acceleration in ROS 2.
I wanted to evaluate memory, cpu usages,.. but also ros-related overhead.
As far as I can tell, your library provides the callback duration out of the box, which is most likely the time RCLCPP_HANDLE
takes to handle a callback (using the term from this paper Latency Analysis of ROS2 Multi-Node Systems - https://arxiv.org/pdf/2101.02074)
The callback is a nice way to inspect the execution time of a kernel, but I wish to further investigate the latency per topic and end-to-end latency of the system to approximate the "communication overhead".
(my communication system is rather trivial and is a basically a chain of publications/callbacks with only minor topics being consumed even multiple times)
My question was if the current data structure already supports the linking of publish_handle
and subscription_handle
based on a topic such that once can unambiguously link a published message start time to a taken message start time.
The second link I wanted to get by connecting a subscription to a callback which gives me a rough time when the publication should start.
This second link I have also still not fully figured out, as I cannot get something other than None
being returned from get_subscription_reference_info
.
Could you perhaps give me some insights into the data structure and if I need to create/append further information to the traces or simply expose further information from the internal data structures?
Activity