I've been busy working on something. It is still just a toy. It's called perfkit. Fork me on Github.
I'm getting older, and I'm having trouble remembering how to use every little tool under the sun. From valgrind, to interesting proc files, to ftrace and perf. You get the idea. So I've been building an application that I can write plugins for to do this and hide the gory details behind a pretty interface.
If nobody likes it, thats fine; I'll probably keep hacking on this even for my own use. However, after listening to William Jon McCann speak on Gnome OS today at Linux Plumbers Conference, I think it is important to have a tool like this as part of the developer experience for Gnome 3.4 (or whatever release ends up targeting the developer experience).
I have some larger plans with this for more than just profiling, but I'll write about that at a later time when its more formulated in my mind.
http://www.youtube.com/watch?v=Y_adf-Jk6XA Sorry if you don't like youtube, I apologize. Wasn't really looking to spend all my available bandwidth on this.

Comments (16)
That looks really, really useful
very cool
Hi,
Just curious about some of the gtk widgetry going on in the video.
Drop shadows and nice little floating labels. Are these new in gtk3?
@Matthew
No, everything inside the content area is actually written using Clutter. I tried my best to make it *look* like it was Gtk though.
Very nice.
Will it be possible for you to provide rpms for other distros ?
I’ll provide packages (for Fedora/Debian/Ubuntu) after the initial release. I don’t plan on doing a release until after it’s slightly more than trivially useful.
This could be the foundation for something magnificent.
Nice idea!
I noticed you were zooming out a lot to get a better picture of CPU/Mem usage;
auto-scaling/zooming would be a nice addition
This looks pretty similar to the pcp gui tools.
Do you know about Nemiver[1]? It could be great if both projects join forces together, they have the same target audience.
Looks really great!
[1] http://projects.gnome.org/nemiver/
Have you looked at http://lttng.org/ ?
@John
Nice suggestion, I’ll try to add it.
@Gil
Yeah, I enjoy using Nemiver as well. I’m sure some sort of collaboration between the two projects could be done someday. But strictly speaking, I think of profiling and debugging as separate issues.
@Anonymous
Yes I’ve looked at lttng (especially the usespace-rcu stuff they’ve done). My goal is to not be locked into one tracing toolkit. I want a system that lets me use any of them (ftrace, lttng, systemtap, …) without having to learn a new complex set of command line and UI tools.
Hi, did you use Instruments.app from Mac OS X as an inspiration?
@Boris
I’ve never used it, but I have looked at a screenshot or two. It seems like a decent way to present the type of information I need (at least for now).
This is — wait for it — awesome!
I would suggest that you enable a useful set of instruments (say, memory + cpu) on startup, and make the “select target” a bit more prominent. Maybe open the target selection dialog if a user presses the Play button if she hasn’t selected a process yet?
Excellent idea!