Hi, working with perf record, I noticed following behavior:
# perf record sleep 1 # perf report -i perf.data --> expected output (note: -i perf.data not really needed) # perf record -o - sleep 1 | cat > perf.data # perf report -i perf.data --> incompatible file format (rerun with -v to learn more) # perf report -i - < perf.data --> expected output I see indeed in the code that the perf_session__process_events in session.c makes a difference on where the samples are coming from, but I was wondering what the exact difference is, and if it would be possible to convert a pipe_output generated file to a 'normal' one? I tried to lookup on the wiki and various tutorials what the difference is, but no success. The reason I want to use the pipe is to do streaming compression of the output of perf: # perf record -o - sleep 1 | gzip -c > perf.data.gz But without knowing the pipe_output difference, one could do: # gzip -d perf.data.gz # perf report -i perf.data Now I see that that is not possible, I'll do/document it as # gzip -d -c perf.data.gz | perf report But I still want to understand why there is a difference (and what is the consequence of using the pipe_output format) best regards, Jan -- To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
