lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ