Commit-ID:  8ee4c46c5ec2481dd18098c5604f791ff911d427
Gitweb:     http://git.kernel.org/tip/8ee4c46c5ec2481dd18098c5604f791ff911d427
Author:     Wang Nan <wangn...@huawei.com>
AuthorDate: Fri, 24 Jun 2016 11:22:09 +0000
Committer:  Arnaldo Carvalho de Melo <a...@redhat.com>
CommitDate: Tue, 28 Jun 2016 10:54:56 -0300

perf data ctf: Prepare collect non-sample events

Following commits are going to allow 'perf data convert' to collect not
only samples, but also non-sample events like comm and fork. In this
patch we count non-sample events using c.non_sample_count, and prepare
to print number of both type of events like:

  # ~/perf data convert --all --to-ctf ./out.ctf
  [ perf data convert: Converted 'perf.data' into CTF data './out.ctf' ]
  [ perf data convert: Converted and wrote 0.846 MB (6508 samples, 686 
non-samples) ]

Signed-off-by: Wang Nan <wangn...@huawei.com>
Acked-by: Jiri Olsa <jo...@kernel.org>
Cc: Zefan Li <lize...@huawei.com>
Cc: pi3or...@163.com
Link: 
http://lkml.kernel.org/r/1466767332-114472-5-git-send-email-wangn...@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com>
---
 tools/perf/util/data-convert-bt.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/data-convert-bt.c 
b/tools/perf/util/data-convert-bt.c
index 09571b3..3b3ac7c 100644
--- a/tools/perf/util/data-convert-bt.c
+++ b/tools/perf/util/data-convert-bt.c
@@ -77,6 +77,7 @@ struct convert {
 
        u64                     events_size;
        u64                     events_count;
+       u64                     non_sample_count;
 
        /* Ordered events configured queue size. */
        u64                     queue_size;
@@ -1369,10 +1370,15 @@ int bt_convert__perf2ctf(const char *input, const char 
*path,
                file.path, path);
 
        fprintf(stderr,
-               "[ perf data convert: Converted and wrote %.3f MB (%" PRIu64 " 
samples) ]\n",
+               "[ perf data convert: Converted and wrote %.3f MB (%" PRIu64 " 
samples",
                (double) c.events_size / 1024.0 / 1024.0,
                c.events_count);
 
+       if (!c.non_sample_count)
+               fprintf(stderr, ") ]\n");
+       else
+               fprintf(stderr, ", %" PRIu64 " non-samples) ]\n", 
c.non_sample_count);
+
        cleanup_events(session);
        perf_session__delete(session);
        ctf_writer__cleanup(cw);

Reply via email to