PERF-DATA(1)
π perf-data(1) β the data file glow-up guide
okay bestie, welcome to perf data π β the part of perf that's all about data files and what you can do with them. this is from the perf manual, and it's genuinely so much less scary than it looks. let's go π
β¨ SYNOPSIS β¨
perf data [<common options>] <command> [<options>]",
(yes the ", at the end is literally in there, that's not me being chaotic, that's just how the manpage ships it π«Ά)
πΈ DESCRIPTION πΈ
Data file related processing. that's it, that's the whole vibe β anything to do with perf data files lives under here β¨
π COMMANDS π
convertβ turns a perf data file into another format π₯. and listen: you can set thedata-convertdebug variable to get debug messages out of the conversion, like so:
perf --debug data-convert data convert ...
π¦ OPTIONS FOR CONVERT π¦
these are the flags for the convert command specifically. it's giving "small but mighty" ngl π
--to-ctfβ triggers the CTF conversion β¨ you specify the path of the CTF data directory.--to-jsonβ triggers JSON conversion π you specify the JSON filename to output.--todβ converts time to wall clock time π°οΈ-iβ you specify the input perf data file path πΈ-f,--forceβ Don't complain, do it. π (iconic honestly)--timeβ only convert samples within the given time window:<start>,<stop>β times have the formatseconds.nanoseconds. if start isn't given (i.e. the time string is,x.y) then analysis starts at the beginning of the file. if stop time isn't given (i.e. the time string isx.y,) then analysis goes to the end of the file. multiple ranges can be separated by spaces, which means you gotta quote the argument, e.g.
--time "1234.567,1234.789 1235,"
also β and this is the fun part β time percent works with multiple time ranges too π the time string is 'a%/n,b%/m,...' or 'a%-b%,c%-%d,...'.
ngl this parser ate, so here are the examples, fr fr:
For example:
Select the second 10% time slice:
perf data convert --to-json out.json --time 10%/2
Select from 0% to 10% time slice:
perf data convert --to-json out.json --time 0%-10%
Select the first and second 10% time slices:
perf data convert --to-json out.json --time 10%/1,10%/2
Select from 0% to 10% and 30% to 40% slices:
perf data convert --to-json out.json --time 0%-10%,30%-40%
-v,--verboseβ be more verbose (show counter open errors, etc) π main character energy for your error messages.--allβ convert all events, including non-sample events (comm,fork, ...), to output π default is off, and only samples get converted. so if stuff seems missing, vibe check this flag π
lowkey important reminder:--alldefaults to off. if you're wondering where yourcommandforkevents went, they didn't ghost you β you just didn't pass the flag π
π SEE ALSO π
perf(1)- [1] Common Trace Format β
http://www.efficios.com/ctf
and that's the whole page bestie, no cap π§β¨ β this was perf manual perf-data(1), dated 10/31/2026, slay π
π
π¦ where this page comes from
- arch rolling: perf 7.3.1-1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms