I've noticed in systems with many nodes running the QoS tooltip (added in #53) is not always correct. In particular, it seems easy to reproduce if we are using simulation time with a clock publisher.
Reproduction
To reproduce, create a file clock_pub.py with the following contents:
from time import sleep
import rclpy
from rclpy.qos import QoSProfile
from rosgraph_msgs.msg import Clock
def main(args=None):
rclpy.init(args=args)
node = rclpy.create_node('clock_publisher')
publisher = node.create_publisher(Clock, '/clock', QoSProfile(depth=1, durability=rclpy.qos.DurabilityPolicy.TRANSIENT_LOCAL))
msg = Clock()
while rclpy.ok():
publisher.publish(msg)
sleep(1) # seconds
msg.clock.sec += 1
node.destroy_node()
rclpy.shutdown()
if __name__ == '__main__':
main()
Then create a launch file with a bunch of talkers, a listener, and clock_pub.py:
Switch to the "Node/Topics" view from the drop-down menu and hover over some of the arrows to see the QoS. You'll notice that sometimes it is incorrectly displaying tooltips for other connections. E.g. we see the clock publisher (reliable/transient_local) or clock subscription (best_effort/volatile) QoS information overlayed on the talker/listener "chatter" topic arrows, which should be reliable/volatile.
Additional info
I instrumented the code a little bit to print out extra information in the tooltip. Doing this I can confirm the tooltip being displayed is for an edge in the graph that we are not currently hovering over. So, I'm not sure if this is a bug in rqt_graph itself, or the upstream libraries responsible for rendering tooltips.
I've noticed in systems with many nodes running the QoS tooltip (added in #53) is not always correct. In particular, it seems easy to reproduce if we are using simulation time with a clock publisher.
Reproduction
To reproduce, create a file
clock_pub.py
with the following contents:Then create a launch file with a bunch of talkers, a listener, and clock_pub.py:
Launch the system:
Start rqt_graph
Switch to the "Node/Topics" view from the drop-down menu and hover over some of the arrows to see the QoS. You'll notice that sometimes it is incorrectly displaying tooltips for other connections. E.g. we see the clock publisher (reliable/transient_local) or clock subscription (best_effort/volatile) QoS information overlayed on the talker/listener "chatter" topic arrows, which should be reliable/volatile.
Additional info
I instrumented the code a little bit to print out extra information in the tooltip. Doing this I can confirm the tooltip being displayed is for an edge in the graph that we are not currently hovering over. So, I'm not sure if this is a bug in rqt_graph itself, or the upstream libraries responsible for rendering tooltips.