-
Notifications
You must be signed in to change notification settings - Fork 5
Design
The system is split into three components - the profiler, visualizer, and graphprofiler tool. The profiler gathers all the information about the system, and publishes the results as a set of additional topics. This will allow for the profiler to be run without the visualization system and be able to take advantage of rosbag recording. The visualization system will subscribe to these topics and provided an interface for interactively exploring the data. The visualization system should be able to provide multiple interfaces to this information, such as qt, curses, or web. Finally, the graphprofiler tool will provide a unified rqt plugin interface for both controlling the profiler system and displaying the qt visualization. This will allow for easier control of the whole system - such as automated detection of profile information and launching of the profiler.
The profiler will consist of a collection of nodes, one on each physical machine.
Each node will collect information about the node processes on that machine and publish the information.
It will also make use of the topic statistics introduced in indigo (diff) .
Since the topic statistics are only available if enable_statistics is set, the profiler should throw an error when it is not enabled.
The visualizer will make use of the diarc graphing system to display the information. ROS callbacks can be embedded in the adapter for updating model information.
This will be a rqt plugin for controlling the profiler and displaying the visualizer widget.