Re: [PATCH v4 2/6] perf record: Get the first sample time and last sample time

From: Arnaldo Carvalho de Melo
Date: Thu Oct 19 2017 - 16:21:35 EST


Em Tue, Oct 03, 2017 at 10:22:34PM +0800, Jin Yao escreveu:
> In perf record, it's walked on all samples yet. So it's very easy to get

You're saying that perf record walks all samples always? That only
happens when we generate the build-id table, right? And people disable
that to speed up the process, knowing that some limitations will come
from that, for doing analysis right after running it is mostly OK to
disable the build-id processing.

- Arnaldo

> the first/last samples and save the time to perf file header via the
> function write_sample_time().
>
> In later, perf report/script will fetch the time from perf file header.
>
> Change log:
> -----------
> v3: Remove the definitions of first_sample_time and last_sample_time
> from struct record and directly save them in perf_evlist.
>
> Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx>
> ---
> tools/perf/builtin-record.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
> index 9b379f3..d5b78449 100644
> --- a/tools/perf/builtin-record.c
> +++ b/tools/perf/builtin-record.c
> @@ -488,6 +488,11 @@ static int process_sample_event(struct perf_tool *tool,
>
> rec->samples++;
>
> + if (rec->evlist->first_sample_time == 0)
> + rec->evlist->first_sample_time = sample->time;
> +
> + rec->evlist->last_sample_time = sample->time;
> +
> return build_id__mark_dso_hit(tool, event, sample, evsel, machine);
> }
>
> --
> 2.7.4