On Sun, Feb 02, 2014 at 10:38:48PM +0100, Jiri Olsa wrote: > hi, > sending out tracepoint (mostly) events display enahncements.
forgot to mention.. the branch is in here: git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git perf/core_tp and it's based on namhyuung's perf/cumulate-v7 branch jirka > > * adding the '--tp' option for report command to show > tracepoint related info. Use can specify following switches: > fields: shows separated tracepoint fields > format: shows tracepoints 'print fmt' in single column > (This is default if no switch is given.) > > $ perf report --tp --no-children > Samples: 4K of event 'sched:sched_switch', Event count (approx.): 4788 > Overhead Command Shared Object Symbol Print fmt > + 26.27% swapper [kernel.kallsyms] [k] __schedule swapper/2:0 > [120] R ==> offlineimap:22134 [120] > + 26.27% offlineimap [kernel.kallsyms] [k] __schedule > offlineimap:22134 [120] S ==> swapper/2:0 [120] > - 8.15% swapper [kernel.kallsyms] [k] __schedule swapper/3:0 > [120] R ==> offlineimap:22134 [120] > __schedule > schedule_preempt_disabled > cpu_startup_entry > start_secondary > + 8.15% offlineimap [kernel.kallsyms] [k] __schedule > offlineimap:22134 [120] S ==> swapper/3:0 [120] > > $ perf report --tp=fields --no-children > Samples: 4K of event 'sched:sched_switch', Event count (approx.): 4788 > Overhead Command Shared Object Symbol > prev_comm prev_pid prev_prio prev_state > next_comm next_pid next_prio > + 26.27% swapper [kernel.kallsyms] [k] __schedule > swapper/2 0 120 0 > offlineimap 22134 120 > + 26.27% offlineimap [kernel.kallsyms] [k] __schedule > offlineimap 22134 120 1 > swapper/2 0 120 > - 8.15% swapper [kernel.kallsyms] [k] __schedule > swapper/3 0 120 0 > offlineimap 22134 120 > __schedule > schedule_preempt_disabled > cpu_startup_entry > start_secondary > + 8.15% offlineimap [kernel.kallsyms] [k] __schedule > offlineimap 22134 120 1 > swapper/3 0 120 > > > * adding '--list' report option to display entries sequentialy: > > Samples: 2K of event 'sched:sched_switch', Event count (approx.): 2450 > Self Children Time Command > Shared Object > Symbol Print fmt > + 0.04% 0.04% 9582.431783 +000000.000000 swapper > [kernel.kallsyms] [k] __schedule > swapper/1:0 [120] R ==> perf:11168 [120] > - 0.00% 0.04% 9582.431783 +000000.000000 swapper > [kernel.kallsyms] [k] __schedule > swapper/1:0 [120] R ==> perf:11168 [120] > __schedule > schedule > cpu_idle > start_secondary > + 0.00% 0.04% 9582.431783 +000000.000000 swapper > [kernel.kallsyms] [k] schedule > swapper/1:0 [120] R ==> perf:11168 [120] > + 0.00% 0.04% 9582.431783 +000000.000000 swapper > [kernel.kallsyms] [k] cpu_idle > swapper/1:0 [120] R ==> perf:11168 [120] > > * adding 'H' key handler to togle header columns > > > thanks for comments, > jirka > > > Signed-off-by: Jiri Olsa <jo...@redhat.com> > Cc: Corey Ashford <cjash...@linux.vnet.ibm.com> > Cc: Frederic Weisbecker <fweis...@gmail.com> > Cc: Ingo Molnar <mi...@elte.hu> > Cc: Namhyung Kim <namhy...@kernel.org> > Cc: Paul Mackerras <pau...@samba.org> > Cc: Peter Zijlstra <a.p.zijls...@chello.nl> > Cc: Arnaldo Carvalho de Melo <a...@redhat.com> > Cc: Steven Rostedt <rost...@goodmis.org> > Cc: David Ahern <dsah...@gmail.com> > --- > Jiri Olsa (22): > perf tools: Fix memory leak in event_format__print function > perf tools: Add time sort entry > perf tools: Add idx sort entry > perf tools: Add --list report option > perf tools: Add sort_entry struct into sort entries callbacks > perf tools: Add selected bool into se_snprintf sort entries callback > perf tools: Implement selected bool se_snprintf callback logic > perf tools: Implement selected logic for time sort entry > perf tools: Factor ui_browser ops out of ui_browser struct > perf tools: Add header callback into ui_browser_ops struct > perf tools: Remove ev_name argument from perf_evsel__hists_browse > perf tools: Add header callback to hist browser > perf tools: Factor hpp_arg struct to carry hist_browser > perf tools tui: Display columns header text on 'H' press > tools lib traceevent: Factor print_event_fields function > tools lib traceevent: Make the name output optional in pevent_field_info > tools lib traceevent: Add pevent_field_cmp function > perf tools: Factor sort entries loops > perf tools: Add local hists sort entry list > perf tools: Make hists col_len dynamicaly alocated > perf tools: Add raw info into hist entry > perf tools: Add support for tracepoint fields > > tools/lib/traceevent/event-parse.c | 181 > +++++++++++++++++++++---------- > tools/lib/traceevent/event-parse.h | 10 ++ > tools/perf/Documentation/perf-report.txt | 6 ++ > tools/perf/Makefile.perf | 1 + > tools/perf/builtin-annotate.c | 4 +- > tools/perf/builtin-diff.c | 4 +- > tools/perf/builtin-report.c | 52 ++++++++- > tools/perf/tests/hists_link.c | 6 +- > tools/perf/ui/browser.c | 101 ++++++++++++----- > tools/perf/ui/browser.h | 31 ++++-- > tools/perf/ui/browsers/annotate.c | 19 ++-- > tools/perf/ui/browsers/header.c | 8 +- > tools/perf/ui/browsers/hists.c | 168 ++++++++++++++++++++++------- > tools/perf/ui/browsers/map.c | 8 +- > tools/perf/ui/browsers/scripts.c | 2 +- > tools/perf/ui/gtk/hists.c | 8 +- > tools/perf/ui/hist.c | 10 +- > tools/perf/ui/stdio/hist.c | 6 +- > tools/perf/ui/tui/util.c | 8 +- > tools/perf/util/evsel.c | 24 +++-- > tools/perf/util/evsel.h | 6 +- > tools/perf/util/hist.c | 65 ++++++++--- > tools/perf/util/hist.h | 20 +++- > tools/perf/util/python.c | 3 +- > tools/perf/util/report-tp.c | 244 > +++++++++++++++++++++++++++++++++++++++++ > tools/perf/util/report-tp.h | 18 ++++ > tools/perf/util/sort.c | 370 > +++++++++++++++++++++++++++++++++++++++++++++++++-------------- > tools/perf/util/sort.h | 29 ++++- > tools/perf/util/symbol.h | 3 +- > tools/perf/util/trace-event-parse.c | 1 + > tools/perf/util/util.h | 17 +++ > 31 files changed, 1144 insertions(+), 289 deletions(-) > create mode 100644 tools/perf/util/report-tp.c > create mode 100644 tools/perf/util/report-tp.h -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/