36 lines · 897 B · Python
RawDownload
#!/usr/bin/env python3# SPDX-License-Identifier: GPL-2.0# -*- python -*-# -*- coding: utf-8 -*- import argparseimport 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)