linux/tools/perf
Arnaldo Carvalho de Melo f9224c5c94 perf report: Implement initial UI using newt
Newt has widespread availability and provides a rather simple
API as can be seen by the size of this patch.

The work needed to support it will benefit other frontends too.

In this initial patch it just checks if the output is a tty, if
not it falls back to the previous behaviour, also if
newt-devel/libnewt-dev is not installed the previous behaviour
is maintaned.

Pressing enter on a symbol will annotate it, ESC in the
annotation window will return to the report symbol list.

More work will be done to remove the special casing in
color_fprintf, stop using fmemopen/FILE in the printing of
hist_entries, etc.

Also the annotation doesn't need to be done via spawning "perf
annotate" and then browsing its output, we can do better by
calling directly the builtin-annotate.c functions, that would
then be moved to tools/perf/util/annotate.c and shared with perf
top, etc

But lets go by baby steps, this patch already improves perf
usability by allowing to quickly do annotations on symbols from
the report screen and provides a first experimentation with
libnewt/TUI integration of tools.

Tested on RHEL5 and Fedora12 X86_64 and on Debian PARISC64 to
browse a perf.data file collected on a Fedora12 x86_64 box.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Avi Kivity <avi@redhat.com>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1268349164-5822-5-git-send-email-acme@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2010-03-12 10:28:46 +01:00
..
bench perf sched: Fix build failure on sparc 2009-12-14 08:59:12 +01:00
Documentation perf: Make the install relative to DESTDIR if specified 2010-03-11 14:08:11 +01:00
scripts perf/scripts: Add syscall tracing scripts 2010-02-25 04:07:48 +01:00
util perf report: Implement initial UI using newt 2010-03-12 10:28:46 +01:00
.gitignore perf: Ignore perf-archive temp file 2010-01-29 10:37:33 +01:00
builtin-annotate.c perf session: Change perf_session post processing functions to take histogram tree 2010-03-10 13:53:49 +01:00
builtin-bench.c perf bench: Add "all" pseudo subsystem and "all" pseudo suite 2009-12-14 08:51:19 +01:00
builtin-buildid-cache.c perf buildid-cache: Add new command to manage build-id cache 2010-01-21 08:31:29 +01:00
builtin-buildid-list.c perf build-id: Move the routine to find DSOs with hits to the lib 2010-02-04 09:33:26 +01:00
builtin-diff.c perf session: Change perf_session post processing functions to take histogram tree 2010-03-10 13:53:49 +01:00
builtin-help.c perf: Make cmd_to_page() function more compact 2010-01-13 10:53:51 +01:00
builtin-kmem.c perf symbols: Remove perf_session usage in symbols layer 2010-02-04 09:33:24 +01:00
builtin-list.c perf list: Fix large list output by using the pager 2009-08-13 09:05:48 +02:00
builtin-lock.c perf lock: Drop the buffers multiplexing dependency 2010-02-27 17:06:19 +01:00
builtin-probe.c perf probe: Correct probe syntax on command line help 2010-03-04 11:39:21 +01:00
builtin-record.c Merge branch 'perf/urgent' into perf/core 2010-03-12 10:20:59 +01:00
builtin-report.c perf report: Implement initial UI using newt 2010-03-12 10:28:46 +01:00
builtin-sched.c perf tools: Don't cast RIP to pointers 2010-01-16 10:58:45 +01:00
builtin-stat.c perf tools: Fix sparse CPU numbering related bugs 2010-03-11 13:36:53 +01:00
builtin-timechart.c Merge branch 'perf/urgent' into perf/core 2010-01-29 10:36:22 +01:00
builtin-top.c perf top: Export get_window_dimensions 2010-03-12 10:28:36 +01:00
builtin-trace.c perf trace: Don't use pager if scripting 2010-03-04 12:19:55 +01:00
builtin.h perf lock: Introduce new tool "perf lock", for analyzing lock statistics 2010-01-31 09:08:26 +01:00
command-list.txt perf lock: Fix and add misc documentally things 2010-02-27 17:05:22 +01:00
CREDITS perf_counter tools: Add CREDITS file for Git contributors 2009-06-24 19:54:29 +02:00
design.txt perf: Fix few typos + cosmetics 2010-01-13 17:39:44 +01:00
Makefile perf report: Implement initial UI using newt 2010-03-12 10:28:46 +01:00
perf-archive.sh perf archive: Don't try to collect files without a build-id 2010-03-02 19:27:46 +01:00
perf.c perf report: Implement initial UI using newt 2010-03-12 10:28:46 +01:00
perf.h perf top: Export get_window_dimensions 2010-03-12 10:28:36 +01:00