| #!/usr/bin/env python3 | |
| # SPDX-License-Identifier: GPL-2.0 | |
| # -*- python -*- | |
| # -*- coding: utf-8 -*- | |
| import argparse | |
| import perf | |
| def main(event: str): | |
| evlist = perf.parse_events(event) | |
| for evsel in evlist: | |
| evsel.read_format = perf.FORMAT_TOTAL_TIME_ENABLED | perf.FORMAT_TOTAL_TIME_RUNNING | |
| evlist.open() | |
| evlist.enable() | |
| count = 100000 | |
| while count > 0: | |
| count -= 1 | |
| evlist.disable() | |
| for evsel in evlist: | |
| for cpu in evsel.cpus(): | |
| for thread in evsel.threads(): | |
| counts = evsel.read(cpu, thread) | |
| print(f"For {evsel} val: {counts.val} enable: {counts.ena} run: {counts.run}") | |
| evlist.close() | |
| if __name__ == '__main__': | |
| ap = argparse.ArgumentParser() | |
| ap.add_argument('-e', '--event', help="Events to open", default="cpu-clock,task-clock") | |
| args = ap.parse_args() | |
| main(args.event) |