[PATCH v2 0/7] perf tools: Add wallclock time conversion support

From: Jiri Olsa
Date: Wed Aug 05 2020 - 05:35:23 EST


hi,
this patchset is based on changes made by David Ahern long time ago.
The perf code moved a lot since then, but the idea is the same.

The patchset is adding the ability to display TOD/wallclock timestamp
in 'perf script' output and in 'perf data convert --to-ctf' subcommand,
so the converted CTF data contain TOD/wallclock timestamps.

It's done by adding new header FEATURE 'CLOCK_DATA' to perf.data, that
stores reference times for both TOD/wallclock time and for the clock that
perf record is configured to use. These reference times are then used to
convert sample's timestamps to TOD/wallclock timestamps.

The feature is available only for recording with clockid specified,
because it's the only case where we can get reference time to TOD/wallclock
time. We can't do that with perf clock yet.

Also available in here:
git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
perf/abs_time

v2 changes:
- fixed HEADER_CLOCK_DATA doc, typo, print format [Namhyung]
- moved clockid related code into separate object [Andi]

thanks,
jirka


---
Jiri Olsa (7):
perf tools: Move parse_clockid into clockid object
perf tools: Add clockid_name function
perf tools: Store clock references for -k/--clockid option
perf tools: Move clockid_res_ns under clock struct
perf tools: Add support to store time of day in CTF data conversion
perf script: Change enum perf_output_field values to be 64 bits
perf script: Add tod field to display time of day

tools/perf/Documentation/perf-data.txt | 3 ++
tools/perf/Documentation/perf.data-file-format.txt | 13 +++++++
tools/perf/builtin-data.c | 1 +
tools/perf/builtin-record.c | 145 +++++++++++++++++++++++---------------------------------------------------
tools/perf/builtin-script.c | 195 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------
tools/perf/util/Build | 1 +
tools/perf/util/clockid.c | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tools/perf/util/clockid.h | 11 ++++++
tools/perf/util/data-convert-bt.c | 57 ++++++++++++++++++-----------
tools/perf/util/data-convert.h | 1 +
tools/perf/util/env.h | 14 +++++++-
tools/perf/util/header.c | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
tools/perf/util/header.h | 1 +
13 files changed, 492 insertions(+), 190 deletions(-)
create mode 100644 tools/perf/util/clockid.c
create mode 100644 tools/perf/util/clockid.h