diff options
Diffstat (limited to 'tools/perf/python/twatch.py')
-rwxr-xr-x | tools/perf/python/twatch.py | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/tools/perf/python/twatch.py b/tools/perf/python/twatch.py index b9d508336ae6..c235c22b107a 100755 --- a/tools/perf/python/twatch.py +++ b/tools/perf/python/twatch.py | |||
@@ -15,14 +15,14 @@ | |||
15 | 15 | ||
16 | import perf | 16 | import perf |
17 | 17 | ||
18 | def main(): | 18 | def main(context_switch = 0, thread = -1): |
19 | cpus = perf.cpu_map() | 19 | cpus = perf.cpu_map() |
20 | threads = perf.thread_map() | 20 | threads = perf.thread_map(thread) |
21 | evsel = perf.evsel(type = perf.TYPE_SOFTWARE, | 21 | evsel = perf.evsel(type = perf.TYPE_SOFTWARE, |
22 | config = perf.COUNT_SW_DUMMY, | 22 | config = perf.COUNT_SW_DUMMY, |
23 | task = 1, comm = 1, mmap = 0, freq = 0, | 23 | task = 1, comm = 1, mmap = 0, freq = 0, |
24 | wakeup_events = 1, watermark = 1, | 24 | wakeup_events = 1, watermark = 1, |
25 | sample_id_all = 1, | 25 | sample_id_all = 1, context_switch = context_switch, |
26 | sample_type = perf.SAMPLE_PERIOD | perf.SAMPLE_TID | perf.SAMPLE_CPU) | 26 | sample_type = perf.SAMPLE_PERIOD | perf.SAMPLE_TID | perf.SAMPLE_CPU) |
27 | 27 | ||
28 | """What we want are just the PERF_RECORD_ lifetime events for threads, | 28 | """What we want are just the PERF_RECORD_ lifetime events for threads, |
@@ -48,4 +48,21 @@ def main(): | |||
48 | print event | 48 | print event |
49 | 49 | ||
50 | if __name__ == '__main__': | 50 | if __name__ == '__main__': |
51 | """ | ||
52 | To test the PERF_RECORD_SWITCH record, pick a pid and replace | ||
53 | in the following line. | ||
54 | |||
55 | Example output: | ||
56 | |||
57 | cpu: 3, pid: 31463, tid: 31593 { type: context_switch, next_prev_pid: 31463, next_prev_tid: 31593, switch_out: 1 } | ||
58 | cpu: 1, pid: 31463, tid: 31489 { type: context_switch, next_prev_pid: 31463, next_prev_tid: 31489, switch_out: 1 } | ||
59 | cpu: 2, pid: 31463, tid: 31496 { type: context_switch, next_prev_pid: 31463, next_prev_tid: 31496, switch_out: 1 } | ||
60 | cpu: 3, pid: 31463, tid: 31491 { type: context_switch, next_prev_pid: 31463, next_prev_tid: 31491, switch_out: 0 } | ||
61 | |||
62 | It is possible as well to use event.misc & perf.PERF_RECORD_MISC_SWITCH_OUT | ||
63 | to figure out if this is a context switch in or out of the monitored threads. | ||
64 | |||
65 | If bored, please add command line option parsing support for these options :-) | ||
66 | """ | ||
67 | # main(context_switch = 1, thread = 31463) | ||
51 | main() | 68 | main() |