From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, Jiri Olsa <jolsa@kernel.org>,
David Ahern <dsahern@gmail.com>,
Namhyung Kim <namhyung@kernel.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 16/35] perf tools stdio: Display multiple header lines
Date: Tue, 23 Aug 2016 18:03:17 -0300 [thread overview]
Message-ID: <1471986216-18390-17-git-send-email-acme@kernel.org> (raw)
In-Reply-To: <1471986216-18390-1-git-send-email-acme@kernel.org>
From: Jiri Olsa <jolsa@kernel.org>
Display multiple header lines in stdio output , if it's configured
within struct perf_hpp_list::nr_header_lines.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1470583710-1649-5-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/ui/stdio/hist.c | 34 +++++++++++++++++++++++++---------
1 file changed, 25 insertions(+), 9 deletions(-)
diff --git a/tools/perf/ui/stdio/hist.c b/tools/perf/ui/stdio/hist.c
index 91b8e10cabd5..9b807cbb56b1 100644
--- a/tools/perf/ui/stdio/hist.c
+++ b/tools/perf/ui/stdio/hist.c
@@ -639,13 +639,10 @@ hists__fprintf_hierarchy_headers(struct hists *hists,
return print_hierarchy_header(hists, hpp, symbol_conf.field_sep, fp);
}
-static int
-hists__fprintf_standard_headers(struct hists *hists,
- struct perf_hpp *hpp,
- FILE *fp)
+static void fprintf_line(struct hists *hists, struct perf_hpp *hpp,
+ int line, FILE *fp)
{
struct perf_hpp_fmt *fmt;
- unsigned int width;
const char *sep = symbol_conf.field_sep;
bool first = true;
@@ -658,14 +655,33 @@ hists__fprintf_standard_headers(struct hists *hists,
else
first = false;
- fmt->header(fmt, hpp, hists, 0);
+ fmt->header(fmt, hpp, hists, line);
fprintf(fp, "%s", hpp->buf);
}
+}
- fprintf(fp, "\n");
+static int
+hists__fprintf_standard_headers(struct hists *hists,
+ struct perf_hpp *hpp,
+ FILE *fp)
+{
+ struct perf_hpp_list *hpp_list = hists->hpp_list;
+ struct perf_hpp_fmt *fmt;
+ unsigned int width;
+ const char *sep = symbol_conf.field_sep;
+ bool first = true;
+ int line;
+
+ for (line = 0; line < hpp_list->nr_header_lines; line++) {
+ /* first # is displayed one level up */
+ if (line)
+ fprintf(fp, "# ");
+ fprintf_line(hists, hpp, line, fp);
+ fprintf(fp, "\n");
+ }
if (sep)
- return 1;
+ return hpp_list->nr_header_lines;
first = true;
@@ -689,7 +705,7 @@ hists__fprintf_standard_headers(struct hists *hists,
fprintf(fp, "\n");
fprintf(fp, "#\n");
- return 3;
+ return hpp_list->nr_header_lines + 2;
}
static int hists__fprintf_headers(struct hists *hists, FILE *fp)
--
2.7.4
next prev parent reply other threads:[~2016-08-23 22:58 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-23 21:03 [GIT PULL 00/35] perf/core improvements and fixes Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 01/35] tools: Introduce tools/include/linux/time64.h for *SEC_PER_*SEC macros Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 02/35] perf bench numa: Use NSEC_PER_U?SEC Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 03/35] perf sched: Use linux/time64.h Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 04/35] perf timechart: Use NSEC_PER_U?SEC Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 05/35] perf bench sched-pipe: Use linux/time64.h, USEC_PER_SEC Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 06/35] perf stat: Use *SEC_PER_*SEC macros Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 07/35] perf bench mem: Use USEC_PER_SEC Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 08/35] perf bench sched-messaging: Use USEC_PER_MSEC Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 09/35] perf record: " Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 10/35] perf kvm: Use NSEC_PER_USEC Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 11/35] perf bench futex: " Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 12/35] perf top: Use MSEC_PER_SEC Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 13/35] perf hists: Introduce nr_header_lines into struct perf_hpp_list Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 14/35] perf hists: Add line argument into perf_hpp_fmt's header callback Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 15/35] perf tools tui: Display multiple header lines Arnaldo Carvalho de Melo
2016-08-23 21:03 ` Arnaldo Carvalho de Melo [this message]
2016-08-23 21:03 ` [PATCH 17/35] perf hists: Add support for header span Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 18/35] perf disassemble: Move check for kallsyms + !kcore Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 19/35] perf disassemble: Simplify logic for picking the filename to disassemble Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 20/35] perf disassemble: Extract logic to find file to pass to objdump to a separate function Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 21/35] tools: Copy coresight-pmu.h header file needed by perf tools Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 22/35] perf report: Allow configuring the default sort order in ~/.perfconfig Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 23/35] perf tools: Use __weak definition from linux/compiler.h Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 24/35] perf tools: Skip running the feature tests for 'make install-doc' Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 25/35] perf hists browser: Remove superfluous null check on map Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 26/35] ftrace: kprobe: uprobe: Add x8/x16/x32/x64 for hexadecimal types Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 27/35] ftrace: probe: Add README entries for k/uprobe-events Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 28/35] perf probe: Add supported for type casting by the running kernel Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 29/35] perf probe: Support hexadecimal casting Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 30/35] perf probe: Use hexadecimal type by default if possible Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 31/35] ftrace: kprobe: uprobe: Show u8/u16/u32/u64 types in decimal Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 32/35] perf tools: Fix typo: "ehough" -> "enough" Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 33/35] perf test bpf: " Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 34/35] perf " Arnaldo Carvalho de Melo
2016-08-23 21:03 ` [PATCH 35/35] perf record: Fix spelling mistake "Finshed" -> "Finished" Arnaldo Carvalho de Melo
2016-08-24 9:09 ` [GIT PULL 00/35] perf/core improvements and fixes Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1471986216-18390-17-git-send-email-acme@kernel.org \
--to=acme@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=dsahern@gmail.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome