Re: [PATCH 6/7] perf record: Add switch-output size option argument

From: Jiri Olsa
Date: Tue Jan 03 2017 - 09:32:52 EST


On Tue, Jan 03, 2017 at 11:20:27AM -0300, Arnaldo Carvalho de Melo wrote:
> Em Tue, Jan 03, 2017 at 09:19:59AM +0100, Jiri Olsa escreveu:
> > It's now possible to specify the threshold size for
> > perf.data like:
> >
> > $ perf record --switch-output=2G ...
> >
> > Once it's reached, the current data are dumped in to the
> > perf.data.<timestamp> file and session does on.
>
> s/does/goes/g
>
> But:
>
> [root@jouet ~]# perf record -F9000 -a --switch-output=1K sleep 5
> [ perf record: dump data: Woken up 0 times ]
> [ perf record: Dump perf.data.2017010311185502 ]
> [ perf record: dump data: Woken up 1 times ]
> [ perf record: Dump perf.data.2017010311190003 ]
> [ perf record: Woken up 0 times to write data ]
> [ perf record: Dump perf.data.2017010311190020 ]
> [ perf record: Captured and wrote 2.240 MB perf.data.<timestamp> ]
> [root@jouet ~]# ls -larth perf.data.*
> -rw-------. 1 root root 2.3M Jan 3 11:18 perf.data.2017010311181984
> -rw-------. 1 root root 2.3M Jan 3 11:18 perf.data.2017010311182002
> -rw-------. 1 root root 2.3M Jan 3 11:18 perf.data.2017010311185502
> -rw-------. 1 root root 2.3M Jan 3 11:19 perf.data.2017010311190003
> -rw-------. 1 root root 2.3M Jan 3 11:19 perf.data.2017010311190020
> [root@jouet ~]#
>
> What is that I am missing?

hum, I think the size you configured is smaller then the size
of the shared kernel buffer and perf gets woken up by default
only when we cross some level of data that's in.. would need
to check

also I dont think 1K won't fit even the perf.data
header.. are you trying to break it? ;-)

jirka