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.

Download

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 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:

Credits

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.