User:Tbscope/examplesystemtapscripts/usingsysopen: Difference between revisions

From KDE TechBase
(Show the code correctly)
(Show the results correctly 1/2)
Line 23: Line 23:


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


It gives the following results:
It gives the following results:
<code>
Pass 1: parsed user script and 47 library script(s) in 330usr/0sys/342real ms.
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 2: analyzed script: 2 probe(s), 7 function(s), 1 embed(s), 1 global(s) in 220usr/30sys/244real ms.
Line 49: Line 52:
[    59] plasma(5239) open /proc/mounts
[    59] plasma(5239) open /proc/mounts
^CPass 5: run completed in 0usr/0sys/65800real ms.
^CPass 5: run completed in 0usr/0sys/65800real ms.
</code>


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

Revision as of 16:52, 29 November 2008

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.