summaryrefslogtreecommitdiffstats
path: root/examples/small_demos/prof.stp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/small_demos/prof.stp')
-rwxr-xr-xexamples/small_demos/prof.stp35
1 files changed, 0 insertions, 35 deletions
diff --git a/examples/small_demos/prof.stp b/examples/small_demos/prof.stp
deleted file mode 100755
index 389f743a..00000000
--- a/examples/small_demos/prof.stp
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env stap
-
-# This is an example of profiling a specific command or pid.
-# It works by recording the time when a system call is entered
-# exited.
-
-# Usage: prof.stp -c "top -n5"
-# Will start up "top" and after 5 iterations, will exit.
-#
-# Usage: prof.stp -x 3323
-# Will profile pid 3323 until it ^c is hit.
-#
-
-probe kernel.function("sys_*").call {
- if (target() == tid())
- calltime[tid()] = gettimeofday_us()
-}
-
-probe kernel.function("sys_*").return {
- if (target() != tid()) next
- now = gettimeofday_us()
- c = calltime[tid()]
- if (!c) next
- ttime[probefunc()] <<< now - c
- delete calltime[tid()]
-}
-
-probe end {
- printf("\n")
- foreach (x in ttime)
- printf("%-20s\tcalls:%6d\tavg time (us):%5d\ttotal(us):%7d\n",
- x, @count(ttime[x]), @avg(ttime[x]), @sum(ttime[x]))
-}
-
-global calltime, ttime