2 Dec 2008 15:12
How to dig deeper
In order to get more information on IO performance problems I created the script below:
#!/usr/sbin/dtrace -s
#pragma D option flowindent
syscall::*write*:entry
/pid == $1 && guard++ == 0/
{
self -> ts = timestamp;
self->traceme = 1;
printf("fd: %d", arg0);
}
fbt:::
/self->traceme/
{
/* elapsd =timestamp - self -> ts;
printf(" elapsed : %d" , elapsd); */
printf(" timestamp : %d" , timestamp);
}
syscall::*write*:return
/self->traceme/
{
self->traceme = 0;
elapsed=timestamp - self -> ts;
printf(" timestamp : %d" , timestamp);
printf("\telapsed : %d" , elapsed);
exit(0);
}
I gives me the timestamp for every fbt call during a write system call.
A snippet is here below
8 <- schedctl_save timestamp : 1627201334052600
(Continue reading)
RSS Feed