Commit 6d13491e authored by David Carrillo-Cisneros's avatar David Carrillo-Cisneros Committed by Arnaldo Carvalho de Melo
Browse files

perf tools: Describe pipe mode in perf.data-file-fomat.txt



Add a minimal description of pipe's data format.

Signed-off-by: default avatarDavid Carrillo-Cisneros <davidcc@google.com>
Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: He Kuang <hekuang@huawei.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Paul Turner <pjt@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Simon Que <sque@chromium.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/20170410201432.24807-4-davidcc@google.com


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 1e0d4f02
Loading
Loading
Loading
Loading
+17 −2
Original line number Diff line number Diff line
@@ -11,8 +11,8 @@ All fields are in native-endian of the machine that generated the perf.data.

When perf is writing to a pipe it uses a special version of the file
format that does not rely on seeking to adjust data offsets.  This
format is not described here. The pipe version can be converted to
normal perf.data with perf inject.
format is described in "Pipe-mode data" section. The pipe data version can be
augmented with additional events using perf inject.

The file starts with a perf_header:

@@ -411,6 +411,21 @@ An array bound by the perf_file_section size.

ids points to a array of uint64_t defining the ids for event attr attr.

Pipe-mode data

Pipe-mode avoid seeks in the file by removing the perf_file_section and flags
from the struct perf_header. The trimmed header is:

struct perf_pipe_file_header {
	u64				magic;
	u64				size;
};

The information about attrs, data, and event_types is instead in the
synthesized events PERF_RECORD_ATTR, PERF_RECORD_HEADER_TRACING_DATA and
PERF_RECORD_HEADER_EVENT_TYPE that are generated by perf record in pipe-mode.


References:

include/uapi/linux/perf_event.h