Messages in this thread Patch in this message | | | From | Jin Yao <> | Subject | [PATCH v1 2/6] perf Documentation: Update perf.data-file-format.txt | Date | Wed, 20 Sep 2017 23:12:33 +0800 |
| |
Currently the perf.data file starts with a perf_file_header, while in the document, it's perf_header. So update it by the new definition.
It also adds the description for new fields first_sample_time and last_sample_time. The new fields will be used in perf record/script/... to slice the traces.
Signed-off-by: Jin Yao <yao.jin@linux.intel.com> --- tools/perf/Documentation/perf.data-file-format.txt | 27 +++++++++++++--------- 1 file changed, 16 insertions(+), 11 deletions(-)
diff --git a/tools/perf/Documentation/perf.data-file-format.txt b/tools/perf/Documentation/perf.data-file-format.txt index e90c59c..7c27403 100644 --- a/tools/perf/Documentation/perf.data-file-format.txt +++ b/tools/perf/Documentation/perf.data-file-format.txt @@ -14,17 +14,18 @@ format that does not rely on seeking to adjust data offsets. This 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: - -struct perf_header { - char magic[8]; /* PERFILE2 */ - uint64_t size; /* size of the header */ - uint64_t attr_size; /* size of an attribute in attrs */ - struct perf_file_section attrs; - struct perf_file_section data; - struct perf_file_section event_types; - uint64_t flags; - uint64_t flags1[3]; +The file starts with a perf_file_header: + +struct perf_file_header { + u64 magic; + u64 size; + u64 attr_size; + struct perf_file_section attrs; + struct perf_file_section data; + struct perf_file_section event_types; + DECLARE_BITMAP(adds_features, HEADER_FEAT_BITS); + u64 first_sample_time; + u64 last_sample_time; }; The magic number identifies the perf file and the version. Current perf versions @@ -416,6 +417,10 @@ An array bound by the perf_file_section size. ids points to a array of uint64_t defining the ids for event attr attr. +first_sample_time and last_sample_time record the timestmaps of first sample +and last sample. In later, perf record will fetch the time from perf file +header and use them to slice the traces for parallelization. + Pipe-mode data Pipe-mode avoid seeks in the file by removing the perf_file_section and flags -- 2.7.4
| |