The bustle package

[Tags:program, test]

Draw sequence diagrams of D-Bus traffic

[Skip to Readme]


Versions 0.4.3, 0.4.4, 0.4.5, 0.4.6, 0.4.7, 0.4.8, 0.5.0, 0.5.1, 0.5.2, 0.5.3, 0.5.4
Change log
Dependencies base (==4.*), bytestring, cairo, containers, dbus (>=0.10), directory, filepath, gio, glib, gtk2hs-buildtools, gtk3 (>=0.13.7), hgettext (>=0.1.5), mtl (>=2.2.1), pango, parsec, pcap, process, setlocale, text, time [details]
License OtherLicense
Author Will Thompson <>
Maintainer Will Thompson <>
Category Network, Desktop
Home page
Source repository head: git clone git://
Uploaded Wed Jan 27 22:48:09 UTC 2016 by WillThompson
Distributions Debian:0.5.2, Fedora:0.5.4, NixOS:0.5.4
Downloads 2024 total (18 in the last 30 days)
0 []
Status Docs not available [build log]
All reported builds failed as of 2016-10-27 [all 3 reports]


interactivetestsBuild interactive test programsDisabledAutomatic
threadedBuild with the multi-threaded runtimeEnabledAutomatic
withgtk2hsbuildtoolsBuild-depend on gtk2hs-buildtools. They aren't (currently) used to build Bustle itself but are needed to build dependencies like gtk3, which for whatever reason do not Build-Depend on the tools.DisabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for bustle

Readme for bustle-0.5.4

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

Using Bustle

Run it:


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:

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

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.

More information