perf script: Handle -i option for perf script flamegraph

If specify the perf data file with -i option, the script will try to
read the header information regardless of the file name specified,
instead it will try to access the perf.data. This simple patch use the
file name from -i option for command perf report --header-only to read
the header.

Signed-off-by: Tianyou Li <tianyou.li@intel.com>
Reviewed-by: Pan Deng <pan.deng@intel.com>
Reviewed-by: Zhiguo Zhou <zhiguo.zhou@intel.com>
Reviewed-by: Wangyang Guo <wangyang.guo@intel.com>
Reviewed-by: Tim Chen <tim.c.chen@linux.intel.com>
Link: https://lore.kernel.org/r/20250610040536.2390060-1-tianyou.li@intel.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
Tianyou Li
2025-06-10 12:04:22 +08:00
committed by Namhyung Kim
parent 317fa41b47
commit df9c299371

View File

@@ -123,7 +123,13 @@ class FlameGraphCLI:
return ""
try:
output = subprocess.check_output(["perf", "report", "--header-only"])
# if the file name other than perf.data is given,
# we read the header of that file
if self.args.input:
output = subprocess.check_output(["perf", "report", "--header-only", "-i", self.args.input])
else:
output = subprocess.check_output(["perf", "report", "--header-only"])
return output.decode("utf-8")
except Exception as err: # pylint: disable=broad-except
print("Error reading report header: {}".format(err), file=sys.stderr)