Bustle – someone's favourite D-Bus profiler

Bustle 0.5.1 showing some D-Bus traffic

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.


Find source code releases and portable-ish Linux binary releases here. You will need a recent Glib and GTK+ 3 to run the binary releases. See the release notes for what is new in each release.

You can also get the latest source from Hackage.

You can probably find a recent-ish version in Debian, Fedora, Gentoo, or your favourite distribution.

Using Bustle

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:

bustle-pcap logfile.bustle

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.

Logging System Bus Traffic

If you want to log all system bus traffic, you need to edit /etc/dbus/system.conf to enable eavesdropping, and then remove the include of /etc/dbus-1/system.conf.d which seems to re-enable strictness. Then you can run the stand-alone logger against the system bus:

bustle-pcap --system system-log.bustle

Please remember to undo these changes when you're done.


The canonical Git repository is at cgit.freedesktop.org with a mirror on GitHub.

Please report bugs on bugs.freedesktop.org, or on GitHub if you strongly prefer.

Builds and minimal tests are run on Travis CI.

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 make.

In new code, try to follow this Haskell style guide.

Patches gratefully accepted, whether attached to bug reports, submitted as GitHub pull requests, or emailed to the maintainer.


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 Αποστολίδου Χρυσαφή. It was originally inspired by a similar tool by Alban Crequy.