User:Tbscope/examplesystemtapscripts/usingsysopen

From KDE TechBase
Revision as of 16:51, 29 November 2008 by Tbscope (talk | contribs) (Show the code correctly)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Script

The following text is the contents of the debug.stp file.

global starttime

probe begin {

   starttime = gettimeofday_s()

}

probe kernel.function("sys_open").call {

   if(execname()==@1) {
       filename = user_string($filename)
       printf("[%6d] %s(%d) open %s\n", (gettimeofday_s() - starttime), execname(), pid(), filename)
   }

}

Results for plasma

When the script is run like this: sudo stap -v ./debug.stp plasma

It gives the following results: Pass 1: parsed user script and 47 library script(s) in 330usr/0sys/342real ms. Pass 2: analyzed script: 2 probe(s), 7 function(s), 1 embed(s), 1 global(s) in 220usr/30sys/244real ms. Pass 3: translated to C into "/tmp/stap34SfoX/stap_8db786e95cd1a11f8070bb0ef7f3ca06_1906.c" in 500usr/190sys/693real ms. Pass 4: compiled C into "stap_8db786e95cd1a11f8070bb0ef7f3ca06_1906.ko" in 3940usr/480sys/4443real ms. Pass 5: starting run. [ 9] plasma(5239) open /etc/fstab [ 9] plasma(5239) open /etc/mtab [ 9] plasma(5239) open /proc/mounts [ 19] plasma(5239) open /etc/mtab [ 19] plasma(5239) open /proc/mounts [ 19] plasma(5239) open /etc/fstab [ 25] plasma(5239) open /var/tmp/kdecache-kde4/kpc/kde-icon-cache.updated [ 29] plasma(5239) open /etc/mtab [ 29] plasma(5239) open /proc/mounts [ 39] plasma(5239) open /etc/fstab [ 39] plasma(5239) open /etc/mtab [ 39] plasma(5239) open /proc/mounts [ 49] plasma(5239) open /etc/mtab [ 49] plasma(5239) open /proc/mounts [ 59] plasma(5239) open /etc/fstab [ 59] plasma(5239) open /etc/mtab [ 59] plasma(5239) open /proc/mounts ^CPass 5: run completed in 0usr/0sys/65800real ms.

As you can see, plasma opens three specific files every 10 seconds.

Results for Konsole

When the script is run like this: sudo stap -v ./debug.stp konsole

It gives the following results: Pass 1: parsed user script and 47 library script(s) in 320usr/20sys/338real ms. Pass 2: analyzed script: 2 probe(s), 7 function(s), 1 embed(s), 1 global(s) in 210usr/30sys/247real ms. Pass 3: translated to C into "/tmp/stapKL9fWp/stap_f06923bc6d17872e0d5cfb29c594b1a7_1907.c" in 420usr/250sys/679real ms. Pass 4: compiled C into "stap_f06923bc6d17872e0d5cfb29c594b1a7_1907.ko" in 3920usr/510sys/4450real ms. Pass 5: starting run. [ 10] konsole(5257) open /var/tmp/kdecache-kde4/kpc/kde-icon-cache.updated [ 10] konsole(5257) open /var/tmp/kdecache-kde4/kpc/kde-icon-cache.lock.CE5257 [ 10] konsole(5257) open /var/tmp/kdecache-kde4/kpc/kde-icon-cache.lock.gW5257 [ 15] konsole(5257) open /var/tmp/kdecache-kde4/kpc/kde-icon-cache.updated [ 39] konsole(5257) open /var/tmp/kdecache-kde4/kpc/kde-icon-cache.updated [ 41] konsole(5257) open /var/tmp/kdecache-kde4/kpc/kde-icon-cache.lock.nu5257 [ 44] konsole(5257) open /var/tmp/kdecache-kde4/kpc/kde-icon-cache.updated ^CPass 5: run completed in 0usr/10sys/47755real ms.