[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100814200415.GA24704@infradead.org>
Date: Sat, 14 Aug 2010 16:04:15 -0400
From: Christoph Hellwig <hch@...radead.org>
To: Frederic Weisbecker <fweisbec@...il.com>
Cc: linux-kernel@...r.kernel.org
Subject: perf scripting
On Fri, Jul 30, 2010 at 04:04:42PM +0200, Frederic Weisbecker wrote:
> I have the feeling you've made an ad-hoc post processing script that seems
> to rewrite all the format parsing, debugfs, stream handling, etc... we
> have that in perf tools already.
>
> May be you weren't aware of what we have in perf in terms of scripting support.
Frederic, any chance you could help me getting a bit more familar with
the perf perl scripting. I currently have a hacky little sequence that
I use to profile what callers generate XFS log traffic, and it like to
turn it into a script so that I can do a direct perf call to use it
to profile things without manual work, and generate nicer output.
Currently it looks like this:
perf probe --add xlog_sync
perf record -g -e probe:xlog_sync -a -- <insert actualy workload here>
then do
perf report -n -g flat
to get me the callchain in a readable format.
Now what I'd really like is a perl script that can read a file like
latencytop.trans (or just has the information embedded) which contains
functions in the backtrace that we're interested in.
E.g. one simple from the report command above may look like:
xlog_sync
xlog_write
xlog_cil_push
_xfs_log_force
xfs_log_force
xfs_sync_data
xfs_quiesce_data
xfs_fs_sync_fs
In which case I'm interested in xfs_log_force and xfs_fs_sync_fs. So
the output of the perl script should looks something like:
Samples Caller
2 xfs_fs_sync_fs
1 xfs_file_fsync
1 xfs_commit_dummy_trans
Or if I have a way to parse the argument of the probe (in the worst case
I can replace it with a trace event if that makes it easier):
Samples Flags Callers
1 sync xfs_fs_sync_fs
1 xfs_fs_sync_fs
1 sync xfs_file_fsync
1 sync xfs_commit_dummy_trans
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists