#!/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)