System_fingerprint - New ROS package for Debugging

tl, dr: system_fingerprint is a new ROS 1/2 package for dumping the state of a ROS system.

With a single command (rosrun/ros2 run system_fingerprint imprint) a yaml will be generated with

  • System Information - Information about your OS and other tidbits about the machine the command is run on.
  • Environmental Variables - All the environmental variables with ROS-related prefixes, such as ROS_DISTRO, ROS_VERSION, etc.
  • Parameters - A full dump of the ROS parameters.
  • Nodes - The full rosgraph, i.e. every node and their publications, subscriptions and services.
  • Topics - The type of each available topic
  • Services - The type of each available service
  • Actions - (ROS 2 only) The type of each available action
  • ROS Workspace - What build tool you’re using, the workspace location, which repos you have checked out and what version they are on.

This is vaguely inspired by boot-info such that if you are helping someone debug their system and do not have direct access to poke around yourself, you can dump the state of the system for offline analysis.

Example fingerprint file

Binaries available for noetic/foxy/humble/rolling (and galactic after the next sync)

9 Likes

That sounds like an amazing tool!!! Does it work also for ros2 launch? :slight_smile: it would be amazing! I need to try this one :slight_smile:

1 Like