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

Reply via email to