| #!/usr/bin/python | |
| # Copyright (c) PLUMgrid, Inc. | |
| # Licensed under the Apache License, Version 2.0 (the "License") | |
| from bcc import BPF | |
| from time import sleep | |
| b = BPF(src_file="task_switch.c") | |
| b.attach_kprobe(event_re="^finish_task_switch$|^finish_task_switch\.isra\.\d$", | |
| fn_name="count_sched") | |
| # generate many schedule events | |
| for i in range(0, 100): sleep(0.01) | |
| for k, v in b["stats"].items(): | |
| print("task_switch[%5d->%5d]=%u" % (k.prev_pid, k.curr_pid, v.value)) |