xref: /aosp_15_r20/external/bcc/examples/tracing/task_switch.py (revision 387f9dfdfa2baef462e92476d413c7bc2470293e)
1#!/usr/bin/python
2# Copyright (c) PLUMgrid, Inc.
3# Licensed under the Apache License, Version 2.0 (the "License")
4
5from bcc import BPF
6from time import sleep
7
8b = BPF(src_file="task_switch.c")
9b.attach_kprobe(event_re="^finish_task_switch$|^finish_task_switch\.isra\.\d$",
10                fn_name="count_sched")
11
12# generate many schedule events
13for i in range(0, 100): sleep(0.01)
14
15for k, v in b["stats"].items():
16    print("task_switch[%5d->%5d]=%u" % (k.prev_pid, k.curr_pid, v.value))
17