| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 |
|
| 6 | import argparse
|
| 7 | import perf
|
| 8 |
|
| 9 | def main(event: str):
|
| 10 | evlist = perf.parse_events(event)
|
| 11 |
|
| 12 | for evsel in evlist:
|
| 13 | evsel.read_format = perf.FORMAT_TOTAL_TIME_ENABLED | perf.FORMAT_TOTAL_TIME_RUNNING
|
| 14 |
|
| 15 | evlist.open()
|
| 16 | evlist.enable()
|
| 17 |
|
| 18 | count = 100000
|
| 19 | while count > 0:
|
| 20 | count -= 1
|
| 21 |
|
| 22 | evlist.disable()
|
| 23 |
|
| 24 | for evsel in evlist:
|
| 25 | for cpu in evsel.cpus():
|
| 26 | for thread in evsel.threads():
|
| 27 | counts = evsel.read(cpu, thread)
|
| 28 | print(f"For {evsel} val: {counts.val} enable: {counts.ena} run: {counts.run}")
|
| 29 |
|
| 30 | evlist.close()
|
| 31 |
|
| 32 | if __name__ == '__main__':
|
| 33 | ap = argparse.ArgumentParser()
|
| 34 | ap.add_argument('-e', '--event', help="Events to open", default="cpu-clock,task-clock")
|
| 35 | args = ap.parse_args()
|
| 36 | main(args.event)
|