From: tip-bot for Namhyung Kim <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: acme@redhat.com, linux-kernel@vger.kernel.org, paulus@samba.org,
hpa@zytor.com, mingo@kernel.org, a.p.zijlstra@chello.nl,
penberg@kernel.org, namhyung.kim@lge.com, namhyung@kernel.org,
jolsa@redhat.com, dsahern@gmail.com, tglx@linutronix.de
Subject: [tip:perf/core] perf gtk/hists: Display callchain overhead also
Date: Fri, 19 Jul 2013 00:48:37 -0700 [thread overview]
Message-ID: <tip-cc60f24e225e50a0b57398f9ba105fd8ffcf4bb3@git.kernel.org> (raw)
In-Reply-To: <1370337737-30812-4-git-send-email-namhyung@kernel.org>
Commit-ID: cc60f24e225e50a0b57398f9ba105fd8ffcf4bb3
Gitweb: http://git.kernel.org/tip/cc60f24e225e50a0b57398f9ba105fd8ffcf4bb3
Author: Namhyung Kim <namhyung.kim@lge.com>
AuthorDate: Tue, 4 Jun 2013 18:22:14 +0900
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Fri, 12 Jul 2013 13:52:40 -0300
perf gtk/hists: Display callchain overhead also
Display callchain percent value in the overhead column.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Reviewed-by: Pekka Enberg <penberg@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1370337737-30812-4-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/ui/gtk/hists.c | 27 ++++++++++++++++++++++++---
1 file changed, 24 insertions(+), 3 deletions(-)
diff --git a/tools/perf/ui/gtk/hists.c b/tools/perf/ui/gtk/hists.c
index 226c7e1..fa9f8a0 100644
--- a/tools/perf/ui/gtk/hists.c
+++ b/tools/perf/ui/gtk/hists.c
@@ -134,7 +134,7 @@ static void callchain_list__sym_name(struct callchain_list *cl,
}
static void perf_gtk__add_callchain(struct rb_root *root, GtkTreeStore *store,
- GtkTreeIter *parent, int col)
+ GtkTreeIter *parent, int col, u64 total)
{
struct rb_node *nd;
bool has_single_node = (rb_first(root) == rb_last(root));
@@ -144,9 +144,14 @@ static void perf_gtk__add_callchain(struct rb_root *root, GtkTreeStore *store,
struct callchain_list *chain;
GtkTreeIter iter, new_parent;
bool need_new_parent;
+ double percent;
+ u64 hits, child_total;
node = rb_entry(nd, struct callchain_node, rb_node);
+ hits = callchain_cumul_hits(node);
+ percent = 100.0 * hits / total;
+
new_parent = *parent;
need_new_parent = !has_single_node && (node->val_nr > 1);
@@ -155,6 +160,9 @@ static void perf_gtk__add_callchain(struct rb_root *root, GtkTreeStore *store,
gtk_tree_store_append(store, &iter, &new_parent);
+ scnprintf(buf, sizeof(buf), "%5.2f%%", percent);
+ gtk_tree_store_set(store, &iter, 0, buf, -1);
+
callchain_list__sym_name(chain, buf, sizeof(buf));
gtk_tree_store_set(store, &iter, col, buf, -1);
@@ -168,8 +176,14 @@ static void perf_gtk__add_callchain(struct rb_root *root, GtkTreeStore *store,
}
}
+ if (callchain_param.mode == CHAIN_GRAPH_REL)
+ child_total = node->children_hit;
+ else
+ child_total = total;
+
/* Now 'iter' contains info of the last callchain_list */
- perf_gtk__add_callchain(&node->rb_root, store, &iter, col);
+ perf_gtk__add_callchain(&node->rb_root, store, &iter, col,
+ child_total);
}
}
@@ -283,8 +297,15 @@ static void perf_gtk__show_hists(GtkWidget *window, struct hists *hists,
}
if (symbol_conf.use_callchain && sort__has_sym) {
+ u64 total;
+
+ if (callchain_param.mode == CHAIN_GRAPH_REL)
+ total = h->stat.period;
+ else
+ total = hists->stats.total_period;
+
perf_gtk__add_callchain(&h->sorted_chain, store, &iter,
- sym_col);
+ sym_col, total);
}
}
next prev parent reply other threads:[~2013-07-19 7:48 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-04 9:22 [PATCHSET 0/6] perf report: Add support for callchains on GTK browser (v2) Namhyung Kim
2013-06-04 9:22 ` [PATCH 1/6] perf gtk/hists: Use GtkTreeStore instead of GtkListStore Namhyung Kim
2013-07-19 7:48 ` [tip:perf/core] " tip-bot for Namhyung Kim
2013-06-04 9:22 ` [PATCH 2/6] perf gtk/hists: Add support for callchains Namhyung Kim
2013-06-04 9:34 ` Pekka Enberg
2013-07-19 7:48 ` [tip:perf/core] " tip-bot for Namhyung Kim
2013-06-04 9:22 ` [PATCH 3/6] perf gtk/hists: Display callchain overhead also Namhyung Kim
2013-06-04 9:35 ` Pekka Enberg
2013-07-19 7:48 ` tip-bot for Namhyung Kim [this message]
2013-06-04 9:22 ` [PATCH 4/6] perf gtk/hists: Make column headers resizable Namhyung Kim
2013-07-19 7:48 ` [tip:perf/core] " tip-bot for Namhyung Kim
2013-06-04 9:22 ` [PATCH 5/6] perf gtk/hists: Add a double-click handler for callchains Namhyung Kim
2013-07-19 7:48 ` [tip:perf/core] " tip-bot for Namhyung Kim
2013-06-04 9:22 ` [PATCH 6/6] perf gtk/hists: Set rules hint for the hist browser Namhyung Kim
2013-06-04 9:35 ` Pekka Enberg
2013-07-19 7:49 ` [tip:perf/core] " tip-bot for Namhyung Kim
2013-07-04 8:39 ` [PATCHSET 0/6] perf report: Add support for callchains on GTK browser (v2) Namhyung Kim
2013-07-05 15:04 ` Arnaldo Carvalho de Melo
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=tip-cc60f24e225e50a0b57398f9ba105fd8ffcf4bb3@git.kernel.org \
--to=tipbot@zytor.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=dsahern@gmail.com \
--cc=hpa@zytor.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung.kim@lge.com \
--cc=namhyung@kernel.org \
--cc=paulus@samba.org \
--cc=penberg@kernel.org \
--cc=tglx@linutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.