NVIDIA's Greenwave Monitor - A tool for high-performance topic monitoring and diagnostics

The Isaac team at NVIDIA is open sourcing Greenwave Monitor, a tool we use internally to monitor and debug topics.

It provides the following features:

  1. A node similar to a C++ based ros2 topic hz, i.e., subscribes to topics to determine the message rate and latency. The Greenwave node is performant, publishes Diagnostics, and offers services to manage topics and expected frequencies.

  2. Terminal-based dashboards that display topic rates, latency, and status, and allow you to add/remove topics and set expected frequencies.

  3. A header only C++ library so you can publish compatible diagnostics directly from your own nodes for reduced overhead.

This diagram shows an overview of the architecture:

We provide two different TUI frontends for you to try. One is a fork of the excellent r2s project, it is powerful but can become slow when there are many topics, we also provide a basic, fast, lightweight curses based frontend.

This project grew out of Isaac ROS NITROS diagnostics, but is completely standalone, with no dependency on Isaac / Isaac ROS.

Try it out (instructions in the README)! Let us know if you find it useful, if there are features you would like to see, or bugs you find please raise an issue (or open a PR) on the Github page.

18 Likes