Skip to content

MOLAorg/rosbag_timing_inspector

Repository files navigation

rosbag_timing_inspector

A GUI tool to visualize and analyze message timing from ROS 2 bags (.mcap or .db3).

Built with Dear ImGui + ImPlot. No message deserialization is performed -- only timestamps and topic names are read, so it opens even bags with custom or unavailable message types.

rosbag_timing_inspector

Features

  • Timeline tab: zoomable 2D scatter plot -- X = time, Y = topic lane. Each dot is one message. Pan/zoom with mouse. Toggle per-topic visibility and color. Measure mode: click twice to place two vertical markers and read the delta-T.
  • Histograms / Stats tab: per-topic inter-message interval histogram and a statistics table (count, mean, std, min, max in ms).

Dependencies

System packages (Ubuntu / ROS 2 Jazzy):

sudo apt install libglfw3-dev

ROS 2 packages resolved automatically by rosdep:

  • rosbag2_cpp
  • rosbag2_storage

Storage backend plugins (installed with a typical ROS 2 desktop install):

  • rosbag2_storage_mcap — for .mcap bags
  • rosbag2_storage_sqlite3 — for .db3 bags

Third-party libraries (imgui, implot, tinyfiledialogs) are vendored as git submodules under third_party/ -- no manual installation needed, but make sure submodules are checked out (see Build section below).

Build

cd ~/ros2_ws/src/rosbag_timing_inspector

# Fetch the vendored third-party submodules (imgui, implot, tinyfiledialogs)
git submodule update --init --recursive

cd ~/ros2_ws

# Install ROS 2 dependencies
rosdep install --from-paths src/rosbag_timing_inspector --ignore-src -r -y

# Build (release build recommended for large bags)
colcon build --packages-select rosbag_timing_inspector \
             --cmake-args -DCMAKE_BUILD_TYPE=Release

Launch

source ~/ros2_ws/install/setup.bash

# Pass a bag path directly:
rosbag_timing_inspector /path/to/recording.mcap
rosbag_timing_inspector /path/to/recording.db3

# Or open without arguments and use File > Open bag...:
rosbag_timing_inspector

Usage tips

Action How
Zoom timeline Scroll wheel over plot, or click-drag on an axis
Pan timeline Middle-click drag, or right-click drag
Reset view Double-click on plot
Toggle topic Checkbox in the left panel
Change topic color Color swatch in the left panel
Measure delta-T Enable Measure mode, click for T1, click again for T2; drag either line to adjust
Reset measurement Click a third time to restart

ROS build farm status

Distro Develop branch Releases Stable release
ROS 2 Humble @ u22.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Lyrical @ u26.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u26.04) Build Status amd64 Build Status
arm64 Build Status
Version

License

MIT -- Copyright (C) 2026 Jose Luis Blanco Claraco

About

A GUI tool to visualize and analyze message timing from ROS 2 bags (`.mcap` or `.db3`)

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors