Re: [RFC/PATCH 00/14] perf record: Add support to store data in directory

From: Alexey Budankov
Date: Mon Feb 04 2019 - 14:56:36 EST


On 04.02.2019 22:27, Arnaldo Carvalho de Melo wrote:
> Em Mon, Feb 04, 2019 at 10:56:05AM -0800, Stephane Eranian escreveu:
>> On Mon, Feb 4, 2019 at 3:41 AM Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
>>>
>>> On Mon, Feb 04, 2019 at 02:29:56PM +0300, Alexey Budankov wrote:
>>>> On 04.02.2019 13:36, Jiri Olsa wrote:
>>>>> On Mon, Feb 04, 2019 at 01:12:11PM +0300, Alexey Budankov wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> On 03.02.2019 18:30, Jiri Olsa wrote:
>>>>>>> hi,
>>>>>>> this patchset adds the --dir option to record command (and all
>>>>>>> the other record command that overload cmd_record) that allows
>>>>>>> the data to be stored in directory with multiple data files.
>>>>>>>
>>>>>>> It's next step for multiple threads implementation in record.
>>>>>>> It's now possible to make directory data via --dir option, like:
>>>>>>>
>>>>>>> $ perf record --dir perf bench sched messaging
>>>>>>
>>>>>> Is it possible to name data directory differently from perf.data
>>>>>> e.g. using --output option, like this?
>>>>>>
>>>>>> $ perf record --output result_1 --dir perf bench sched messaging
>>>>>
>>>>>
>>>>> yep, it's taken into account:
>>>>>
>>>>> [jolsa@krava perf]$ ./perf record --output result_1 --dir ./perf bench sched messaging
>>>>> Couldn't synthesize bpf events.
>>>>> # Running 'sched/messaging' benchmark:
>>>>> # 20 sender and receiver processes per group
>>>>> # 10 groups == 400 processes run
>>>>>
>>>>> Total time: 0.177 [sec]
>>>>> [ perf record: Woken up 1 times to write data ]
>>>>> [ perf record: Captured and wrote 0.316 MB result_1 (7225 samples) ]
>>>>>
>>>>> [jolsa@krava perf]$ ll result_1/
>>>>> total 348
>>>>> -rw-------. 1 jolsa jolsa 27624 Feb 4 11:35 data.0
>>>>> -rw-------. 1 jolsa jolsa 56672 Feb 4 11:35 data.1
>>>>> -rw-------. 1 jolsa jolsa 30824 Feb 4 11:35 data.2
>>>>> -rw-------. 1 jolsa jolsa 49136 Feb 4 11:35 data.3
>>>>> -rw-------. 1 jolsa jolsa 22712 Feb 4 11:35 data.4
>>>>> -rw-------. 1 jolsa jolsa 53392 Feb 4 11:35 data.5
>>>>> -rw-------. 1 jolsa jolsa 43352 Feb 4 11:35 data.6
>>>>> -rw-------. 1 jolsa jolsa 46688 Feb 4 11:35 data.7
>>>>> -rw-------. 1 jolsa jolsa 9068 Feb 4 11:35 header
>>>>
>>>> Awesome. What do you think about having it like this:
>>>>
>>>> $ perf record --output result_1.data ... - writes data to a file
>>>>
>>>> $ perf record --dir result_1 ... - or even
>>>> $ perf record --output_dir result_1 ... - writes data into a directory
>>>>
>>>> IMHO, this interface is simpler for a user.
>>>
>>> yep, seems more convenient.. I'll add it
>>>
>> But what happens if you do: perf record -o foo --output_dir foo.d?
>
> Should fail, i.e. either you use single-file or directory output, I
> think.

I also expect it this way.

Alexey

>
> - Arnaldo
>