Re: [PATCH 4/6] perf tools: Add support to store time of day in CTF data conversion
From: Namhyung Kim
Date: Mon Aug 03 2020 - 00:00:25 EST
On Thu, Jul 30, 2020 at 11:39:48PM +0200, Jiri Olsa wrote:
> Adding support to convert and store time of day in CTF
> data conversion for 'perf data convert' subcommand.
>
> The perf.data used for conversion needs to have clock data
> information - must be recorded with -k/--clockid option).
>
> New --tod option is added to 'perf data convert' subcommand
> to convert data with timestamps converted to wall clock time.
>
> Record data with clockid set:
> # perf record -k CLOCK_MONOTONIC kill
> kill: not enough arguments
> [ perf record: Woken up 1 times to write data ]
> [ perf record: Captured and wrote 0.033 MB perf.data (8 samples) ]
>
> Convert data with TOD timestamps:
> # perf data convert --tod --to-ctf ./ctf
> [ perf data convert: Converted 'perf.data' into CTF data './ctf' ]
> [ perf data convert: Converted and wrote 0.000 MB (8 samples) ]
>
> Display data in perf script:
> # perf script -F+tod --ns
> perf 262150 2020-07-13 18:38:50.097678523 153633.958246159: 1 cycles: ...
> perf 262150 2020-07-13 18:38:50.097682941 153633.958250577: 1 cycles: ...
> perf 262150 2020-07-13 18:38:50.097684997 153633.958252633: 7 cycles: ...
> ...
I believe this belongs to a later patch.
Thanks
Namhyung
>
> Display data in babeltrace:
> # babeltrace --clock-date ./ctf
> [2020-07-13 18:38:50.097678523] (+?.?????????) cycles: { cpu_id = 0 }, { perf_ip = 0xFFF ...
> [2020-07-13 18:38:50.097682941] (+0.000004418) cycles: { cpu_id = 0 }, { perf_ip = 0xFFF ...
> [2020-07-13 18:38:50.097684997] (+0.000002056) cycles: { cpu_id = 0 }, { perf_ip = 0xFFF ...
> ...
>
> It's available only for recording with clockid specified,
> because it's the only case where we can get reference time
> to wallclock time. It's can't do that with perf clock yet.
>
> Error is display if you want to use --tod on data without
> clockid specified:
>
> # perf data convert --tod --to-ctf ./ctf
> Can't provide --tod time, missing clock data. Please record with -k/--clockid option.
> Failed to setup CTF writer.
> Error during conversion setup.
>
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> ---
> tools/perf/Documentation/perf-data.txt | 3 ++
> tools/perf/builtin-data.c | 1 +
> tools/perf/util/data-convert-bt.c | 56 +++++++++++++++++---------
> tools/perf/util/data-convert.h | 1 +
> 4 files changed, 41 insertions(+), 20 deletions(-)