Perfkit

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)

  1. Thomas wrote:

    That looks really, really useful

    Wednesday, November 3, 2010 at 4:11 pm #
  2. anonim wrote:

    very cool

    Wednesday, November 3, 2010 at 4:12 pm #
  3. Matthew wrote:

    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?

    Wednesday, November 3, 2010 at 5:27 pm #
  4. chergert wrote:

    @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.

    Wednesday, November 3, 2010 at 5:55 pm #
  5. Sankar wrote:

    Very nice.

    Will it be possible for you to provide rpms for other distros ?

    Wednesday, November 3, 2010 at 10:34 pm #
  6. chergert wrote:

    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.

    Wednesday, November 3, 2010 at 10:37 pm #
  7. anonymous.dev wrote:

    This could be the foundation for something magnificent.

    Wednesday, November 3, 2010 at 11:22 pm #
  8. John wrote:

    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 :)

    Thursday, November 4, 2010 at 1:05 am #
  9. Wade Mealing wrote:

    This looks pretty similar to the pcp gui tools.

    Thursday, November 4, 2010 at 1:12 am #
  10. 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/

    Thursday, November 4, 2010 at 2:22 am #
  11. Anonymous wrote:

    Have you looked at http://lttng.org/ ?

    Thursday, November 4, 2010 at 5:43 am #
  12. chergert wrote:

    @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.

    Thursday, November 4, 2010 at 6:25 am #
  13. Boris Dusek wrote:

    Hi, did you use Instruments.app from Mac OS X as an inspiration?

    Thursday, November 4, 2010 at 9:49 am #
  14. chergert wrote:

    @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).

    Thursday, November 4, 2010 at 10:44 am #
  15. 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?

    Friday, November 5, 2010 at 3:11 pm #
  16. chergert wrote:

    Excellent idea!

    Friday, November 5, 2010 at 4:39 pm #