diff options
author | Wang Nan <wangnan0@huawei.com> | 2016-04-20 14:59:51 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-04-28 08:58:59 -0400 |
commit | eca857ab381858450ec2f91f5aaae7f2f7a7a180 (patch) | |
tree | 84cfea69d6d0bc8af44ec420ab5c4afc804e479e | |
parent | 3c1cb7e3723caad9b4c1b2f816d86d8605296a4b (diff) |
perf record: Force enable --timestamp-filename when --switch-output is provided
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@redhat.com>
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/1461178794-40467-5-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>
-rw-r--r-- | tools/perf/Documentation/perf-record.txt | 5 | ||||
-rw-r--r-- | tools/perf/builtin-record.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/tools/perf/Documentation/perf-record.txt b/tools/perf/Documentation/perf-record.txt index a77a431ca4ef..79a8a14f37b1 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. | |||
347 | --all-user:: | 347 | --all-user:: |
348 | Configure all used events to run in user space. | 348 | Configure all used events to run in user space. |
349 | 349 | ||
350 | --timestamp-filename | ||
351 | Append timestamp to output file name. | ||
352 | |||
350 | --switch-output:: | 353 | --switch-output:: |
351 | Generate multiple perf.data files, timestamp prefixed, switching to a new one | 354 | Generate multiple perf.data files, timestamp prefixed, switching to a new one |
352 | when receiving a SIGUSR2. | 355 | when receiving a SIGUSR2. |
@@ -355,6 +358,8 @@ A possible use case is to, given an external event, slice the perf.data file | |||
355 | that gets then processed, possibly via a perf script, to decide if that | 358 | that gets then processed, possibly via a perf script, to decide if that |
356 | particular perf.data snapshot should be kept or not. | 359 | particular perf.data snapshot should be kept or not. |
357 | 360 | ||
361 | Implies --timestamp-filename. | ||
362 | |||
358 | SEE ALSO | 363 | SEE ALSO |
359 | -------- | 364 | -------- |
360 | linkperf:perf-stat[1], linkperf:perf-list[1] | 365 | linkperf:perf-stat[1], linkperf:perf-list[1] |
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c index 8ebe953c7af0..80b805b7f5c7 100644 --- a/tools/perf/builtin-record.c +++ b/tools/perf/builtin-record.c | |||
@@ -1351,6 +1351,9 @@ int cmd_record(int argc, const char **argv, const char *prefix __maybe_unused) | |||
1351 | return -EINVAL; | 1351 | return -EINVAL; |
1352 | } | 1352 | } |
1353 | 1353 | ||
1354 | if (rec->switch_output) | ||
1355 | rec->timestamp_filename = true; | ||
1356 | |||
1354 | if (!rec->itr) { | 1357 | if (!rec->itr) { |
1355 | rec->itr = auxtrace_record__init(rec->evlist, &err); | 1358 | rec->itr = auxtrace_record__init(rec->evlist, &err); |
1356 | if (err) | 1359 | if (err) |