26 Aug, 2009

1 commit

  • function_graph traces look like nested function calls, complete with
    braces denoting the start and end of functions. function-graph-fold.vim
    teaches vim how to fold these functions, to make it more convenient to
    browse them.

    To use, :source function-graph-fold.vim while viewing a function_graph
    trace, or use "view -S function-graph-fold.vim some-trace" to load it
    from the command-line together with a trace. You can then use the usual
    vim fold commands, such as "za", to open and close nested functions.
    While closed, a fold will show the total time taken for a call, as would
    normally appear on the line with the closing brace. Folded functions
    will not include finish_task_switch(), so folding should remain
    relatively sane even through a context switch.

    Note that this will almost certainly only work well with a single-CPU
    trace (e.g. trace-cmd report --cpu 1). It also takes some time to run
    (a few seconds for a large trace on my laptop). Nevertheless, I found
    it very handy to get an overview of a trace and then drill down on
    problematic calls.

    Signed-off-by: Josh Triplett
    LKML-Reference:
    Signed-off-by: Steven Rostedt

    Josh Triplett