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 <[email protected]>
> ---
>  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

Reply via email to