From 068ffaa8bfb67c2ddb3ecaf38cc90f94a1a92fe3 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Sat, 27 Nov 2010 02:41:01 -0200 Subject: perf tools: Fix lost and unknown events handling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix it by explaining what can be happening and giving the number of processed and lost events. Also holler if unknown events were found, that can be due to processing a perf.data file collected using a newer tool where newer events got added on reporting using an older perf tool, that or a bug, so ask for a report to be made. Works on both --tui and --stdio. Suggested-by: Thomas Gleixner Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Stephane Eranian Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/util/debug.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'tools/perf/util/debug.c') diff --git a/tools/perf/util/debug.c b/tools/perf/util/debug.c index c8d81b00089..e5161e8f991 100644 --- a/tools/perf/util/debug.c +++ b/tools/perf/util/debug.c @@ -46,6 +46,17 @@ int dump_printf(const char *fmt, ...) return ret; } +#ifdef NO_NEWT_SUPPORT +void ui__warning(const char *format, ...) +{ + va_list args; + + va_start(args, format); + vfprintf(stderr, format, args); + va_end(args); +} +#endif + static int dump_printf_color(const char *fmt, const char *color, ...) { va_list args; -- cgit v1.2.2 From 5b1c144475a7f2d0ab34d0b9b8414ab18b02a283 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Tue, 30 Nov 2010 17:48:53 -0200 Subject: perf debug: Simplify trace_event MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit No need to check that many times if debug_trace is on. Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Stephane Eranian LKML-Reference: Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/util/debug.c | 41 +++++++++++++---------------------------- 1 file changed, 13 insertions(+), 28 deletions(-) (limited to 'tools/perf/util/debug.c') diff --git a/tools/perf/util/debug.c b/tools/perf/util/debug.c index e5161e8f991..01bbe8ecec3 100644 --- a/tools/perf/util/debug.c +++ b/tools/perf/util/debug.c @@ -57,21 +57,6 @@ void ui__warning(const char *format, ...) } #endif -static int dump_printf_color(const char *fmt, const char *color, ...) -{ - va_list args; - int ret = 0; - - if (dump_trace) { - va_start(args, color); - ret = color_vfprintf(stdout, color, fmt, args); - va_end(args); - } - - return ret; -} - - void trace_event(event_t *event) { unsigned char *raw_event = (void *)event; @@ -81,29 +66,29 @@ void trace_event(event_t *event) if (!dump_trace) return; - dump_printf("."); - dump_printf_color("\n. ... raw event: size %d bytes\n", color, - event->header.size); + printf("."); + color_fprintf(stdout, color, "\n. ... raw event: size %d bytes\n", + event->header.size); for (i = 0; i < event->header.size; i++) { if ((i & 15) == 0) { - dump_printf("."); - dump_printf_color(" %04x: ", color, i); + printf("."); + color_fprintf(stdout, color, " %04x: ", i); } - dump_printf_color(" %02x", color, raw_event[i]); + color_fprintf(stdout, color, " %02x", raw_event[i]); if (((i & 15) == 15) || i == event->header.size-1) { - dump_printf_color(" ", color); + color_fprintf(stdout, color, " "); for (j = 0; j < 15-(i & 15); j++) - dump_printf_color(" ", color); + color_fprintf(stdout, color, " "); for (j = i & ~15; j <= i; j++) { - dump_printf_color("%c", color, - isprint(raw_event[j]) ? - raw_event[j] : '.'); + color_fprintf(stdout, color, "%c", + isprint(raw_event[j]) ? + raw_event[j] : '.'); } - dump_printf_color("\n", color); + color_fprintf(stdout, color, "\n"); } } - dump_printf(".\n"); + printf(".\n"); } -- cgit v1.2.2