summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.examples/small_demos/sched_snoop.stp
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@elastic.org>2008-04-24 13:55:34 -0400
committerFrank Ch. Eigler <fche@elastic.org>2008-04-24 13:55:34 -0400
commitfe44e686c32ccb684bd5ec6df57aed00532fc024 (patch)
tree260953c84c8679572d65bf83a65884050f91d2f7 /testsuite/systemtap.examples/small_demos/sched_snoop.stp
parentf72154b33e67069cd7c308d24255574b9fbacb1d (diff)
parent478e10649195945adf7153fe5254932df1e2a902 (diff)
downloadsystemtap-steved-fe44e686c32ccb684bd5ec6df57aed00532fc024.tar.gz
systemtap-steved-fe44e686c32ccb684bd5ec6df57aed00532fc024.tar.xz
systemtap-steved-fe44e686c32ccb684bd5ec6df57aed00532fc024.zip
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap
* 'master' of ssh://sources.redhat.com/git/systemtap: Made kernel 2.6.25 changes in task_finder.c. Move examples to testsuite/systemtap.examples
Diffstat (limited to 'testsuite/systemtap.examples/small_demos/sched_snoop.stp')
-rwxr-xr-xtestsuite/systemtap.examples/small_demos/sched_snoop.stp35
1 files changed, 35 insertions, 0 deletions
diff --git a/testsuite/systemtap.examples/small_demos/sched_snoop.stp b/testsuite/systemtap.examples/small_demos/sched_snoop.stp
new file mode 100755
index 00000000..623643dd
--- /dev/null
+++ b/testsuite/systemtap.examples/small_demos/sched_snoop.stp
@@ -0,0 +1,35 @@
+#!/usr/bin/env stap
+
+global start_ts
+
+probe begin {
+ start_ts = gettimeofday_us()
+ printf("%12s %3s %5s %5s %-16s ACTION\n",
+ "TIMESTAMP", "CPU", "PID", "TID", "EXECNAME")
+}
+
+function report(action:string) {
+ printf("%3d %12d %5d %5d %-16s %s\n",
+ gettimeofday_us() - start_ts, cpu(),
+ pid(), tid(), execname(), action)
+}
+
+probe scheduler.cpu_off {
+ report(sprintf("cpu_off%s", idle? " [idle]" : ""))
+}
+
+probe scheduler.cpu_on {
+ report(sprintf("cpu_on%s", idle? " [idle]" : ""))
+}
+
+probe scheduler.tick {
+ report(sprintf("tick%s", idle? " [idle]" : ""))
+}
+
+probe scheduler.migrate ? {
+ report("migrate")
+}
+
+probe scheduler.balance ? {
+ report("balance")
+}