[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

strace file I/O parser

From: <kbohling_at_birddog.com>
Date: 2002-03-15 02:19:41 CET

I hacked up a little strace parser then when fed input from an strace call like
this:

strace -T -ttt -o logfile svn co file:///repos/ mystuff

and you run

processTrace.py logfile

it outputs lines that tell you which file took the most I/O by name. And it
also accumulates the time statistics by system call (strace will do that
already). So you can tell which system calls are eating up all the time. File
I/O calls open/read/write/close timeings are kept per file in the filesystem.
So if you're doing tons of file I/O you can tell which files you are doing it
to, rather then just guessing.

This is the sample output from an strace of a checkout of the linux kernel
include directory.

5.20819900 0L 10287803L "r1495/asm-ia64/.svn/tmp/entries"
5.27630900 0L 8852590L "r1495/asm-s390/.svn/tmp/entries"
5.46784100 0L 10153827L "r1495/asm-arm/.svn/tmp/entries"
5.55891500 0L 11110494L "r1495/asm-alpha/.svn/tmp/entries"
5.76720700 0L 12014341L "r1495/asm-sh/.svn/tmp/entries"
6.11012900 0L 12427375L "r1495/asm-i386/.svn/tmp/entries"
6.30406000 0L 13607264L "r1495/asm-mips64/.svn/tmp/entries"
7.14565200 0L 17939960L "r1495/asm-sparc64/.svn/tmp/entries"
7.69736600 0L 19489789L "r1495/asm-mips/.svn/tmp/entries"
7.93170700 0L 20804071L "r1495/asm-ppc/.svn/tmp/entries"
8.15309700 pread(
8.28073600 0L 21679283L "r1495/asm-sparc/.svn/tmp/entries"
8.36428500 lstat64(
8.42225500 stat64(
8.44870100 0L 24868091L "r1495/asm-m68k/.svn/tmp/entries"
13.95042100 rename(
33.43351700 0L 277292811L "r1495/linux/.svn/tmp/entries"

First column is in seconds, the second one is bytes read, then bytes written,
then file,
or the second column is the name of a system call.

If anybody things it's useful, I'll happily commit it to the /tools/dev section.

        Kirby

-- 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Received on Fri Mar 15 02:19:58 2002

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.