diff options
author | David Ahern <dsahern@gmail.com> | 2011-05-27 16:28:44 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2011-06-02 12:29:14 -0400 |
commit | 610723f24eeb842025178a6722fa9108c4e157b6 (patch) | |
tree | e184c3b2242ba9b9da065221d4673603dd9d8e86 /tools/perf/util | |
parent | 787bef174f055343c69a9639e6e05a564980ed4c (diff) |
perf script: Make printing of dso a separate field option
The 'sym' option displays both the function name and the DSO it comes
from. Split the display of the dso into a separate option. This allows
display of the ip address and symbol without the dso, thus shortening
line lengths - and decluttering the output a bit.
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1306528124-25861-3-git-send-email-dsahern@gmail.com
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util')
-rw-r--r-- | tools/perf/util/session.c | 13 | ||||
-rw-r--r-- | tools/perf/util/session.h | 2 |
2 files changed, 11 insertions, 4 deletions
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index ad33650cdd41..0dd418299261 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c | |||
@@ -1205,7 +1205,7 @@ struct perf_evsel *perf_session__find_first_evtype(struct perf_session *session, | |||
1205 | void perf_session__print_ip(union perf_event *event, | 1205 | void perf_session__print_ip(union perf_event *event, |
1206 | struct perf_sample *sample, | 1206 | struct perf_sample *sample, |
1207 | struct perf_session *session, | 1207 | struct perf_session *session, |
1208 | int print_sym) | 1208 | int print_sym, int print_dso) |
1209 | { | 1209 | { |
1210 | struct addr_location al; | 1210 | struct addr_location al; |
1211 | const char *symname, *dsoname; | 1211 | const char *symname, *dsoname; |
@@ -1241,12 +1241,15 @@ void perf_session__print_ip(union perf_event *event, | |||
1241 | else | 1241 | else |
1242 | symname = ""; | 1242 | symname = ""; |
1243 | 1243 | ||
1244 | printf(" %s", symname); | ||
1245 | } | ||
1246 | if (print_dso) { | ||
1244 | if (node->map && node->map->dso && node->map->dso->name) | 1247 | if (node->map && node->map->dso && node->map->dso->name) |
1245 | dsoname = node->map->dso->name; | 1248 | dsoname = node->map->dso->name; |
1246 | else | 1249 | else |
1247 | dsoname = ""; | 1250 | dsoname = ""; |
1248 | 1251 | ||
1249 | printf(" %s (%s)", symname, dsoname); | 1252 | printf(" (%s)", dsoname); |
1250 | } | 1253 | } |
1251 | printf("\n"); | 1254 | printf("\n"); |
1252 | 1255 | ||
@@ -1261,12 +1264,16 @@ void perf_session__print_ip(union perf_event *event, | |||
1261 | else | 1264 | else |
1262 | symname = ""; | 1265 | symname = ""; |
1263 | 1266 | ||
1267 | printf(" %s", symname); | ||
1268 | } | ||
1269 | |||
1270 | if (print_dso) { | ||
1264 | if (al.map && al.map->dso && al.map->dso->name) | 1271 | if (al.map && al.map->dso && al.map->dso->name) |
1265 | dsoname = al.map->dso->name; | 1272 | dsoname = al.map->dso->name; |
1266 | else | 1273 | else |
1267 | dsoname = ""; | 1274 | dsoname = ""; |
1268 | 1275 | ||
1269 | printf(" %s (%s)", symname, dsoname); | 1276 | printf(" (%s)", dsoname); |
1270 | } | 1277 | } |
1271 | } | 1278 | } |
1272 | } | 1279 | } |
diff --git a/tools/perf/util/session.h b/tools/perf/util/session.h index d76af0f975d3..de4178d7bb7b 100644 --- a/tools/perf/util/session.h +++ b/tools/perf/util/session.h | |||
@@ -170,6 +170,6 @@ struct perf_evsel *perf_session__find_first_evtype(struct perf_session *session, | |||
170 | void perf_session__print_ip(union perf_event *event, | 170 | void perf_session__print_ip(union perf_event *event, |
171 | struct perf_sample *sample, | 171 | struct perf_sample *sample, |
172 | struct perf_session *session, | 172 | struct perf_session *session, |
173 | int print_sym); | 173 | int print_sym, int print_dso); |
174 | 174 | ||
175 | #endif /* __PERF_SESSION_H */ | 175 | #endif /* __PERF_SESSION_H */ |