Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1381782 > unrolled thread

[PATCH v5 3/6] perf record: Force enable --timestamp-filename when --switch-output is provided

Started byWang Nan <wangnan0@huawei.com>
First post2016-04-18 17:00 +0200
Last post2016-04-20 14:30 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH v5 3/6] perf record: Force enable --timestamp-filename when --switch-output is provided Wang Nan <wangnan0@huawei.com> - 2016-04-18 17:00 +0200
    Re: [PATCH v5 3/6] perf record: Force enable --timestamp-filename  when --switch-output is provided Jiri Olsa <jolsa@redhat.com> - 2016-04-20 10:10 +0200
      Re: [PATCH v5 3/6] perf record: Force enable --timestamp-filename  when --switch-output is provided "Wangnan (F)" <wangnan0@huawei.com> - 2016-04-20 10:30 +0200
        Re: [PATCH v5 3/6] perf record: Force enable --timestamp-filename  when --switch-output is provided Jiri Olsa <jolsa@redhat.com> - 2016-04-20 14:30 +0200

#1381782 — [PATCH v5 3/6] perf record: Force enable --timestamp-filename when --switch-output is provided

FromWang Nan <wangnan0@huawei.com>
Date2016-04-18 17:00 +0200
Subject[PATCH v5 3/6] perf record: Force enable --timestamp-filename when --switch-output is provided
Message-ID<rpiOB-7ii-7@gated-at.bofh.it>
Without this patch, the last output doesn't have timestamp appended if
--timestamp-filename is not explicitly provided. For example:

  # perf record -a --switch-output &
  [1] 11224
  # kill -s SIGUSR2 11224
  [ perf record: dump data: Woken up 1 times ]
  # [ perf record: Dump perf.data.2015122622372823 ]

  # fg
  perf record -a --switch-output
  ^C[ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 0.027 MB perf.data (540 samples) ]

  # ls -l
  total 836
  -rw------- 1 root root  33256 Dec 26 22:37 perf.data   <---- *Odd*
  -rw------- 1 root root 817156 Dec 26 22:37 perf.data.2015122622372823

Signed-off-by: Wang Nan <wangnan0@huawei.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Zefan Li <lizefan@huawei.com>
Cc: pi3orama@163.com
Link: http://lkml.kernel.org/r/1460643725-167413-4-git-send-email-wangnan0@huawei.com
Signed-off-by: He Kuang <hekuang@huawei.com>
[ Updated man page, that also got an entry for --timestamp-filename ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/Documentation/perf-record.txt | 5 +++++
 tools/perf/builtin-record.c              | 3 +++
 2 files changed, 8 insertions(+)

diff --git a/tools/perf/Documentation/perf-record.txt b/tools/perf/Documentation/perf-record.txt
index a77a431..79a8a14 100644
--- a/tools/perf/Documentation/perf-record.txt
+++ b/tools/perf/Documentation/perf-record.txt
@@ -347,6 +347,9 @@ Configure all used events to run in kernel space.
 --all-user::
 Configure all used events to run in user space.
 
+--timestamp-filename
+Append timestamp to output file name.
+
 --switch-output::
 Generate multiple perf.data files, timestamp prefixed, switching to a new one
 when receiving a SIGUSR2.
@@ -355,6 +358,8 @@ A possible use case is to, given an external event, slice the perf.data file
 that gets then processed, possibly via a perf script, to decide if that
 particular perf.data snapshot should be kept or not.
 
+Implies --timestamp-filename.
+
 SEE ALSO
 --------
 linkperf:perf-stat[1], linkperf:perf-list[1]
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index 07e57d9..13f0b9a 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -1347,6 +1347,9 @@ int cmd_record(int argc, const char **argv, const char *prefix __maybe_unused)
 		return -EINVAL;
 	}
 
+	if (rec->switch_output)
+		rec->timestamp_filename = true;
+
 	if (!rec->itr) {
 		rec->itr = auxtrace_record__init(rec->evlist, &err);
 		if (err)
-- 
1.8.3.4

[toc] | [next] | [standalone]


#1383142 — Re: [PATCH v5 3/6] perf record: Force enable --timestamp-filename when --switch-output is provided

FromJiri Olsa <jolsa@redhat.com>
Date2016-04-20 10:10 +0200
SubjectRe: [PATCH v5 3/6] perf record: Force enable --timestamp-filename when --switch-output is provided
Message-ID<rpVmW-4Cl-27@gated-at.bofh.it>
In reply to#1381782
On Mon, Apr 18, 2016 at 02:55:29PM +0000, Wang Nan wrote:
> Without this patch, the last output doesn't have timestamp appended if
> --timestamp-filename is not explicitly provided. For example:
> 
>   # perf record -a --switch-output &
>   [1] 11224
>   # kill -s SIGUSR2 11224
>   [ perf record: dump data: Woken up 1 times ]
>   # [ perf record: Dump perf.data.2015122622372823 ]
> 
>   # fg
>   perf record -a --switch-output
>   ^C[ perf record: Woken up 1 times to write data ]
>   [ perf record: Captured and wrote 0.027 MB perf.data (540 samples) ]
> 
>   # ls -l
>   total 836
>   -rw------- 1 root root  33256 Dec 26 22:37 perf.data   <---- *Odd*
>   -rw------- 1 root root 817156 Dec 26 22:37 perf.data.2015122622372823

I'm getting this:

[root@krava perf]# ./perf record -a --switch-output &
[root@krava perf]# kill -s SIGUSR2 18974
[ perf record: dump data: Woken up 4 times ]
[ perf record: Dump perf.data.2016042009574314 ]

[root@krava perf]# ./perf report -i perf.data.2016042009574314 
perf: Segmentation fault
-------- backtrace --------
./perf[0x552b0b]
/lib64/libc.so.6(+0x34a50)[0x7f711b434a50]
/lib64/libc.so.6(strlen+0x2a)[0x7f711b48b33a]
./perf(perf_hpp__reset_sort_width+0x4f)[0x4e9b1f]
./perf[0x54b113]
./perf(perf_evlist__tui_browse_hists+0x91)[0x551361]
./perf(cmd_report+0x1a34)[0x434b44]
./perf[0x485681]
./perf(main+0x672)[0x424382]
/lib64/libc.so.6(__libc_start_main+0xf0)[0x7f711b420700]
./perf(_start+0x29)[0x4244a9]
[0x0]


thanks,
jirka

[toc] | [prev] | [next] | [standalone]


#1383155 — Re: [PATCH v5 3/6] perf record: Force enable --timestamp-filename when --switch-output is provided

From"Wangnan (F)" <wangnan0@huawei.com>
Date2016-04-20 10:30 +0200
SubjectRe: [PATCH v5 3/6] perf record: Force enable --timestamp-filename when --switch-output is provided
Message-ID<rpVGh-4O7-5@gated-at.bofh.it>
In reply to#1383142

On 2016/4/20 15:59, Jiri Olsa wrote:
> On Mon, Apr 18, 2016 at 02:55:29PM +0000, Wang Nan wrote:
>> Without this patch, the last output doesn't have timestamp appended if
>> --timestamp-filename is not explicitly provided. For example:
>>
>>    # perf record -a --switch-output &
>>    [1] 11224
>>    # kill -s SIGUSR2 11224
>>    [ perf record: dump data: Woken up 1 times ]
>>    # [ perf record: Dump perf.data.2015122622372823 ]
>>
>>    # fg
>>    perf record -a --switch-output
>>    ^C[ perf record: Woken up 1 times to write data ]
>>    [ perf record: Captured and wrote 0.027 MB perf.data (540 samples) ]
>>
>>    # ls -l
>>    total 836
>>    -rw------- 1 root root  33256 Dec 26 22:37 perf.data   <---- *Odd*
>>    -rw------- 1 root root 817156 Dec 26 22:37 perf.data.2015122622372823
> I'm getting this:
>
> [root@krava perf]# ./perf record -a --switch-output &
> [root@krava perf]# kill -s SIGUSR2 18974
> [ perf record: dump data: Woken up 4 times ]
> [ perf record: Dump perf.data.2016042009574314 ]
>
> [root@krava perf]# ./perf report -i perf.data.2016042009574314
> perf: Segmentation fault
> -------- backtrace --------
> ./perf[0x552b0b]
> /lib64/libc.so.6(+0x34a50)[0x7f711b434a50]
> /lib64/libc.so.6(strlen+0x2a)[0x7f711b48b33a]
> ./perf(perf_hpp__reset_sort_width+0x4f)[0x4e9b1f]
> ./perf[0x54b113]
> ./perf(perf_evlist__tui_browse_hists+0x91)[0x551361]
> ./perf(cmd_report+0x1a34)[0x434b44]
> ./perf[0x485681]
> ./perf(main+0x672)[0x424382]
> /lib64/libc.so.6(__libc_start_main+0xf0)[0x7f711b420700]
> ./perf(_start+0x29)[0x4244a9]
> [0x0]

Can't reproduce... Can you get reproduce problem without this patch (3/6)?

My local tree is based on newest perf/core (commit ccd62a8 "perf trace:
Fix build when DWARF unwind isn't available"). Could you please check your
source?

Thank you.

>
> thanks,
> jirka

[toc] | [prev] | [next] | [standalone]


#1383336 — Re: [PATCH v5 3/6] perf record: Force enable --timestamp-filename when --switch-output is provided

FromJiri Olsa <jolsa@redhat.com>
Date2016-04-20 14:30 +0200
SubjectRe: [PATCH v5 3/6] perf record: Force enable --timestamp-filename when --switch-output is provided
Message-ID<rpZqy-7Qn-31@gated-at.bofh.it>
In reply to#1383155
On Wed, Apr 20, 2016 at 04:21:17PM +0800, Wangnan (F) wrote:
> 
> 
> On 2016/4/20 15:59, Jiri Olsa wrote:
> >On Mon, Apr 18, 2016 at 02:55:29PM +0000, Wang Nan wrote:
> >>Without this patch, the last output doesn't have timestamp appended if
> >>--timestamp-filename is not explicitly provided. For example:
> >>
> >>   # perf record -a --switch-output &
> >>   [1] 11224
> >>   # kill -s SIGUSR2 11224
> >>   [ perf record: dump data: Woken up 1 times ]
> >>   # [ perf record: Dump perf.data.2015122622372823 ]
> >>
> >>   # fg
> >>   perf record -a --switch-output
> >>   ^C[ perf record: Woken up 1 times to write data ]
> >>   [ perf record: Captured and wrote 0.027 MB perf.data (540 samples) ]
> >>
> >>   # ls -l
> >>   total 836
> >>   -rw------- 1 root root  33256 Dec 26 22:37 perf.data   <---- *Odd*
> >>   -rw------- 1 root root 817156 Dec 26 22:37 perf.data.2015122622372823
> >I'm getting this:
> >
> >[root@krava perf]# ./perf record -a --switch-output &
> >[root@krava perf]# kill -s SIGUSR2 18974
> >[ perf record: dump data: Woken up 4 times ]
> >[ perf record: Dump perf.data.2016042009574314 ]
> >
> >[root@krava perf]# ./perf report -i perf.data.2016042009574314
> >perf: Segmentation fault
> >-------- backtrace --------
> >./perf[0x552b0b]
> >/lib64/libc.so.6(+0x34a50)[0x7f711b434a50]
> >/lib64/libc.so.6(strlen+0x2a)[0x7f711b48b33a]
> >./perf(perf_hpp__reset_sort_width+0x4f)[0x4e9b1f]
> >./perf[0x54b113]
> >./perf(perf_evlist__tui_browse_hists+0x91)[0x551361]
> >./perf(cmd_report+0x1a34)[0x434b44]
> >./perf[0x485681]
> >./perf(main+0x672)[0x424382]
> >/lib64/libc.so.6(__libc_start_main+0xf0)[0x7f711b420700]
> >./perf(_start+0x29)[0x4244a9]
> >[0x0]
> 
> Can't reproduce... Can you get reproduce problem without this patch (3/6)?
> 
> My local tree is based on newest perf/core (commit ccd62a8 "perf trace:
> Fix build when DWARF unwind isn't available"). Could you please check your
> source?

you're right.. I rebuilt on latest Arnaldo's perf/core and can't reproduce again

jirka

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web