Hi everyone!
Repo: GitHub - AhmedARadwan/ros2top
I’ve always found it hard to track each node’s resource usage, so I thought it might be a good idea to build a tool that works for ROS 2 and essentially any Python or C++ process to monitor resource usage in real time. The goal? Quickly see which processes are consuming the most resources and gain better visibility into a running system.
This is an initial release: it relies on the node registering itself to become visible and tracked by the ros2top utility.
What it does so far:
- Shows per-node CPU, RAM, GPU, and GPU Mem usage.
- Get active nodes based on registration.
- Offers a simple terminal UI interface similar to htop to monitor everything in one place.
How it works:
- Node imports/includes
ros2topand register itself. ros2topthen polls resource stats.- It displays a list of processes, so you can spot hot resource consumers at a glance.
Why it might help:
- Instead of juggling
htop,nvtop,ros2 node info, etc., you get everything in one screen. - Ideal for multi‑node systems where it’s easy to lose track of who’s using what.
I’d love to hear your thoughts:
- Does this sound helpful in your debugging or monitoring workflow?
- Any ideas for features, UI improvements, or integrations?
- Thoughts on automatic registration vs. manual config?
This is very early-stage, but I hope it can evolve into a valuable tool for the ROS 2 community. Feedback, suggestions, or even contributions are all welcome! ![]()