Bustle – someone's favourite D-Bus profiler
Bustle is a better
dbus-monitor. It records and draws sequence diagrams of
D-Bus activity, showing signal emissions,
method calls and their corresponding returns, with timestamps for each
individual event and the duration of each method call. This can help you check
for unwanted D-Bus traffic, and pinpoint why your D-Bus-based application isn't
performing as well as you like. It also provides statistics like signal
frequencies and average method call times.
- The easiest way to install Bustle is from Flathub
- Debian, Fedora, Gentoo, or your favourite distribution may have a package
- Source code for releases is here or on Hackage
- Release notes
With luck, Bustle itself should be self-explanatory: run it, click the button to record some D-Bus traffic, explore it, save or export the log.
If you want to record traffic without running the UI (maybe on an embedded platform which doesn't have Gtk+ and/or a Haskell compiler), you can use the stand-alone logger, which is just a C program:
You can then open
logfile.bustle in Bustle.
You can also get some ASCII-art version of the statistics shown in the UI:
bustle --count logfile.bustle bustle --time logfile.bustle
Integration with other tools
- DBus Test Runner has built-in support for recording a Bustle log of your tests' D-Bus traffic.
You will need a C compiler, a Haskell compiler and many libraries. Try:
cabal sandbox init cabal install alex happy gtk2hs-buildtools cabal install
To just build the C-only
bustle-pcap logger, run
In new code, try to follow this Haskell style guide.
Please send patches as merge requests.
Bustle is written and maintained by Will Thompson (originally courtesy of Collabora Ltd.), with contributions by Alex Merry, Arnaud Bonatti, Chris Lamb, Cosimo Alfarano, Dafydd Harries, Lennart Poettering, Marc Kleine-Budde, Philip Withnall, Sergei Trofimovich, Αποστολίδου Χρυσαφή, and Jonny Lamb. It was originally inspired by a similar tool by Alban Crequy.