perf c2c report: Add header macros
authorJiri Olsa <jolsa@kernel.org>
Thu, 22 Sep 2016 15:36:47 +0000 (17:36 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 19 Oct 2016 16:18:31 +0000 (13:18 -0300)
Adding helping macros to define header objects.  It will be used in
following patches, that add new dimensions.

The c2c report will support 2 line headers, hence we only define
line[0/1] in macros.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Joe Mario <jmario@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1474558645-19956-20-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-c2c.c

index 43f18aa3367ba0eee9801af984cbef5b0e103b70..78addc42c9e52fc3f4ac4429b4bca19e7b096952 100644 (file)
@@ -273,6 +273,41 @@ static int c2c_header(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp,
        return scnprintf(hpp->buf, hpp->size, "%*s", width, text);
 }
 
+#define HEADER_LOW(__h)                        \
+       {                               \
+               .line[1] = {            \
+                       .text = __h,    \
+               },                      \
+       }
+
+#define HEADER_BOTH(__h0, __h1)                \
+       {                               \
+               .line[0] = {            \
+                       .text = __h0,   \
+               },                      \
+               .line[1] = {            \
+                       .text = __h1,   \
+               },                      \
+       }
+
+#define HEADER_SPAN(__h0, __h1, __s)   \
+       {                               \
+               .line[0] = {            \
+                       .text = __h0,   \
+                       .span = __s,    \
+               },                      \
+               .line[1] = {            \
+                       .text = __h1,   \
+               },                      \
+       }
+
+#define HEADER_SPAN_LOW(__h)           \
+       {                               \
+               .line[1] = {            \
+                       .text = __h,    \
+               },                      \
+       }
+
 static struct c2c_dimension *dimensions[] = {
        NULL,
 };