![](https://linux-cdn.softpedia.com/screenshots/ico/Bustle.png)
![](https://linux-cdn.softpedia.com/screenshots/Bustle_2.jpg)
If you’re not a developer, there’s probably a good chance you don’t care all that much about D-Bus, an integral part of Linux desktop environments.
D-Bus is an inter-process communication protocol/system (IPC) that makes it possible for programs (that run concurrently on the same machine) to communicate with each other.
In short, it’s a vital part of most Linux systems used for anything from changing the volume, all the way to reading an inserted USB drive, to accessing the file manager of your system. The GNOME desktop environment also uses D-Bus for a lot of things, including allowing GNOME Shell extensions to communicate with the GNOME Shell.
Clearly, D-Bus is an extensive subject, and I’ll be the first to admit that I don’t know as much as I would like to. Still, when I discovered Bustle, I found it surprisingly cool.
Bustle is a modern, sleek, free, and open-source application for D-Bus (real-time) activity visualization and monitoring. Usually, advanced monitoring apps can be a bit intimidating, but Bustle is very user-friendly.
It doesn’t feature any sort of tutorials or guides, but that’s because it doesn’t really need to, as it’s very simple to use. Simply choose one of the three recording modes (Record Session Bus, Record System Bus, and Record Address…), and simply interact with your system or observe D-Bus entries.
Bustle basically displays D-Bus activity sequence diagrams. It also displays signal emissions, method calls, as well as all the corresponding returns. Every entry is timestamped (for each individual event) and each method call has its duration recorded.
Bustle also provides statistics like signal frequencies and average method call times. The GUI is without a doubt one of the best things about Bustle. It’s clean, it’s modern (GTK4+ Libadwaita), and it is really easy to use.
This is surely a niche app, and it’s clearly aimed at users with a slight (or bigger) focus on development work. It’s really great for pinpointing D-Bus-related app conflicts, or D-Bus-related actions that don’t perform as they should. In turn, this is useful for detecting unwanted D-Bus traffic.