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.
New in Bustle 0.4.2 (2012-11-14)
This release is all about build fixes; nothing user-visible has changed.
- The Makefile now respects the
- No more deprecation warnings about
- We explicitly check for GLib ≥ 2.26.
Also, there's now a
threaded Cabal flag you can turn off if you're
building for some platform where the threaded GHC runtime isn't
available (such as S/390, MIPS or Sparc). This is the same approach used
to make several other packages build for those architectures in Debian,
as per bug 541848. You can do something like this in your packaging:
DEB_SETUP_GHC_CONFIGURE_ARGS := $( shell test -e /usr/lib/ghc-$(GHC_VERSION)/libHSrts_thr.a || echo --flags=-threaded)
Bustle doesn't directly use Haskell-land threads, but I don't trust it not to break in this configuration, so it's not the default.
- Binary tarballs: x86_64 (signature); i486 (signature). You will need a recent-ish Glib and GTK+ 2 installed. (Nothing functional has changed between 0.4.1 and 0.4.2 so these are still for 0.4.1.)
- Source: tarball (signature); git.
- Older releases are available if you like laborious archæology.
- Open bugs; file a new bug.
- If you'd like to get involved, but don't know where to start, take a look at bugs flagged with the 'love' keyword, which we hope are good introductory tasks. Chat to wjt on #dbus on freenode if you'd like a helping hand!
Now click File → New… to start recording session bus traffic. When you're done, click Stop, and explore 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:
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
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.
Bustle is written and maintained by Will Thompson, courtesy of Collabora Ltd., with contributions by Dafydd Harries, Marc Kleine-Budde, Sergei Trofimovich, Chris Lamb, Alex Merry and Cosimo Alfarano. It was inspired by a similar tool by Alban Crequy. Patches, feature requests, bug reports and cakes are welcome!