CLI flag generator from perf CSV output (perf stat -x,
)
More...
Go to the source code of this file.
Namespaces | |
namespace | pipeline |
namespace | pipeline.parse_perf_metrics |
Functions | |
pipeline.parse_perf_metrics.debug_print (dict values) | |
Variables | |
pipeline.parse_perf_metrics.trials = int(sys.argv[2]) | |
pipeline.parse_perf_metrics.df = pl.read_csv(sys.argv[1], has_header=False) | |
pipeline.parse_perf_metrics.columns | |
dict | pipeline.parse_perf_metrics.field_map |
dict | pipeline.parse_perf_metrics.event_to_key = {v: k for k, v in field_map.items() if v != "NA"} |
pipeline.parse_perf_metrics.filtered = df.filter(pl.col("event").is_in(event_to_key.keys())) | |
tuple | pipeline.parse_perf_metrics.to_clean |
dict | pipeline.parse_perf_metrics.values = {key: "NA" for key in field_map} |
pipeline.parse_perf_metrics.named | |
dict | pipeline.parse_perf_metrics.cli_key = event_to_key[row["event"]] |
list | pipeline.parse_perf_metrics.ordered_keys |
CLI flag generator from perf CSV output (perf stat -x,
)
Parses Linux perf stat
logs in CSV format and extracts a fixed set of performance metrics. Outputs these metrics as --key value
shell arguments for downstream use in pipeline scripts or shell evaluation.
Metrics are mapped from perf event names (e.g., "cycles:u"
) into canonical CLI keys (e.g., CYCLES
, IPC
). Unsupported metrics are filled as "NA"
. Derived values like IPC and misses per trial are computed inline using safe arithmetic fallbacks.
eval
.<perf_log.csv>
— Path to perf CSV file (from perf stat -x,
)<num_trials>
— Number of simulation trials (used for normalization)"NA"
unless enabled manually via raw PMU events.eval
in shell pipelines or programmatically via subprocess.Definition in file parse_perf_metrics.py.