Someone's favourite D-Bus profiler (mirror)
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
Bustle Auto-derive Applicative in Bustle/Renderer.hs Jul 16, 2018
Test Remove unnecessary Control.Applicative imports Jul 4, 2018
c-sources monitor: claim name before dumping other names Jun 28, 2018
data Release notes for 0.7.2 Jul 24, 2018
flatpak flatpak: update to Haskell platform 8.4.2, and other new stuff Jul 18, 2018
po Update messages.pot Jul 24, 2018
src-hgettext/Bustle Resurrect flag to enable/disable translations May 23, 2018
src-no-hgettext/Bustle Resurrect flag to enable/disable translations May 23, 2018
.gitignore More bustle -> org.freedesktop.Bustle Jul 21, 2017
.gitlab-ci.yml Run flatpak-build only on master, staging/* and flatpak/* Jul 21, 2018
.hlint.yaml Turn off use camelCase and reduceDuplication for now, we'll get these… Jul 4, 2018
Bustle.hs Use org.freedesktop.Bustle as app ID throughout Jul 20, 2017 CONTRIBUTING: fix funky line wrapping Jul 5, 2018
GetText.hs Fix hlint errors in Diagram.hs, Loader.hs, StatisticPane.hs, Stats.hs… Jul 4, 2018 Drop old loader support Jul 18, 2017
LICENSE Remove method/signal icons May 23, 2018
Makefile Tweak maintainer-make-release Jul 24, 2018 Release notes for 0.7.2 Jul 24, 2018 README: link to wiki with https: Jul 4, 2018
Setup.hs Setup: don't use deprecated rewriteFile Jul 5, 2018
_config.yml Set theme jekyll-theme-slate Oct 26, 2017
bustle.cabal Release notes for 0.7.2 Jul 24, 2018 Make data/icons structure match installed structure Oct 26, 2017
stack.yaml Bump to nightly-2018-07-09 Jul 10, 2018

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.

pipeline status

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

More information