Whether you are writing or using a DataEngine it can often be very nice to see what the heck is going on in there. Today I had the need for doing just this while making some improvements to the Contour activity switcher in Plasma Active. So I whipped up a rather small but very useful (as it turned out) class called DataEngineTracker. You simply hand it a DataEngine and an option QObject parent and it will print out every source that comes, goes or gets updated.
For lack of a better place, I plopped it into the kdeexamples repository so that others (and the future me ;) can easily include it into their project (DataEngine, Plasmoid, application, ..) and see what a given DataEngine is doing. It's BSD licensed, so it can be used pretty much anywhere.
In today's case with Plasma Active, it showed up an unintentional update was happening on the activity thumbnails for the switcher every second. If you had a lot of activities, this added up quite a bit. We've also killed some other performance issues and the polish is really coming together in general now in all those little ways that one probably won't even notice in the final release .. but certainly would if they weren't there. ;)
On a side note, kdeexamples now contains over 7,000 lines of code. Sweet.