While working on the Gnome overlay with the Gnome team, I decided to give Empathy a go.  I talk to maybe 3 total people on AIM, and no one on Yahoo, which just leaves me with Jabber (Gmail) contacts that I actually talk to.  So I installed it, I even enabled webkit so that I could use Adium themes with it (I personally prefer Stockholm, just be sure to look inside the folder and only move the style into the right place.)

It was kind of a disaster.  I’m running on a Quad Core, 2.4ghz machine, and double clicking on a contact would take up to 25 seconds for the window to show up.  I was not a happy camper.  Watching htop, I could see that my DBus session bus was working hardcore.  100% cpu usage on 1 core.

No problem, I thought to myself, whipped open my handy terminal, ran “dbus-monitor –session” to watch the traffic that was causing it to use so much cpu and…. nothing.  Zilch.  There was no (apparent) traffic going on but the session bus was still using 100% cpu.

I popped over to the Gnome bugzilla, and started reading through bugs, but none were coming close to what I was seeing.  In desperation, I turned to the faithful Google.    And I searched… and came up empty – not so much empty as simply results that weren’t helpful at all.

I let it go for a few days, asked a couple people if they were having any issues, and most don’t use Empathy, so that was a bust.  Then I was looking around while I was “at work” which really meant I was sitting in the office as opposed to my room using the computer, and I came across Bustle; http://willthompson.co.uk/bustle/

Bustle is very nice, in that it can show you timings.  Once I had that compiled, I used Recordmydesktop to take a video of me using Empathy, with Bustle running, logging everything that went on with Empathy.  Then I popped in to the Empathy IRC channel (#empathy on irc.gnome.org) and mentioned in the channel that it was taking a long time for my IM windows to open, and pointed them at the video ( http://dev.gentoo.org/~steev/files/empathy-dbus.ogv (21MB)) and then at the two screenshots of Bustle ( http://dev.gentoo.org/~steev/files/screenshots/empathy-bustle1.png andhttp://dev.gentoo.org/~steev/files/screenshots/empathy-bustle2.png ), and Danni replied to me, asking why I was using the logger, when it shouldn’t be enabled.  So I disabled it, and removed telepathy-logger from my system, re-compiled Empathy, and sure enough, the IM window pops up instantly.  I’ve removed the dependency as well as got rid of the useflag (with a note in the ebuild about why) and committed it to the Gnome overlay.  Due to Danni saying that no one should be using telepathy-logger, I’ve also package.masked it in the Gnome overlay.  I must say, using Bustle is *very* nice, and I’d like to thank Will Thompson for writing it.

I also smiled at the “How?” section of the Bustle website, considering that was the exact purpose for me downloading it.

I’m hoping to write an ebuild for Bustle, and apparently it is really easy to do with Haskell as the Gentoo Haskell team has a script that you run that will write the ebuild for you.  I haven’t started working with it yet, but I definitely plan to, as Bustle is now definitely on my radar for usage in debugging what is going on with apps and their DBus usage.


3 Responses to Bustle

  1. Glad Bustle was useful! Lemme know when I can add a Gentoo entry to the “Where?” section on the website. 🙂 World domination can’t be far away now…

    It’s weird that dbus-monitor wasn’t showing you anything when the session bus was hogging a core. I’d not be surprised about Bustle not showing anything — it explicitly filters messages to/from the bus daemon — but dbus-monitor should probably have shown something happening…

  2. Wow, I thoroughly enjoyed that one, especially the last line.https://ameo.link/salasgentry3437408180

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: