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

From: Arnaldo Carvalho de Melo
Date: Fri Jan 05 2018 - 07:54:12 EST


Em Fri, Jan 05, 2018 at 09:15:03AM +0800, Jin, Yao escreveu:
>
>
> On 1/5/2018 3:09 AM, Arnaldo Carvalho de Melo wrote:
> > Em Fri, Dec 08, 2017 at 09:13:42PM +0800, Jin Yao escreveu:
> > > In the default 'perf record' configuration, all samples are processed,
> > > to create the HEADER_BUILD_ID table. So it's very easy to get the
> > > first/last samples and save the time to perf file header via the
> > > function write_sample_time().
> > >
> > > Later, at post processing time, perf report/script will fetch
> > > the time from perf file header.
> >
> > So, at this point I was expecting that that record would be present on
> > the perf.data file:
> >
> > [acme@jouet perf]$ perf record --timestamp-boundary sleep 1
> > Cannot read kernel map
> > [ perf record: Woken up 1 times to write data ]
> > [ perf record: Captured and wrote 0.001 MB perf.data (7 samples) ]
> > [acme@jouet perf]$ perf report -D | grep PERF_RECORD_SAMPLE | wc -l
> > 7
> > [acme@jouet perf]$ perf report -D | grep PERF_RECORD_SAMPLE_TIME
> > [acme@jouet perf]$
> >
> > What am I doing wrong?
> >
> > To clarify, this is with just the first two patches in this series
> > applied.
> >
> > - Arnaldo
>
> Hi Arnaldo,
>
> The timestamp boundary information is saved in perf file header.

Right, my bad, I somehow thought it would be as PERF_RECORD_SAMPLE_TIME,
duh.

Will continue reviewing, sorry about that.

- Arnaldo

> So if we want to look at them, we need to add '--header' in perf report.
>
> For example,
>
> root@skl:/tmp# perf report -D --header | grep 'time of'
> # time of first sample : 248333.706656
> # time of last sample : 248357.215328
>
> Thanks
> Jin Yao