tools lib traceevent: Show contents (in hex) of data of unrecognized type records
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Fri, 12 Jan 2018 00:47:47 +0000 (19:47 -0500)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 17 Jan 2018 13:22:13 +0000 (10:22 -0300)
When a record has an unrecognized type, an error message is reported,
but it would also be helpful to see the contents of that record. At
least show what it is in hex, instead of just showing a blank line.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Link: http://lkml.kernel.org/r/20180112004822.542204577@goodmis.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/lib/traceevent/event-parse.c

index 344a034..e5f2acb 100644 (file)
@@ -5566,8 +5566,14 @@ void pevent_print_event(struct pevent *pevent, struct trace_seq *s,
 
        event = pevent_find_event_by_record(pevent, record);
        if (!event) {
-               do_warning("ug! no event found for type %d",
-                          trace_parse_common_type(pevent, record->data));
+               int i;
+               int type = trace_parse_common_type(pevent, record->data);
+
+               do_warning("ug! no event found for type %d", type);
+               trace_seq_printf(s, "[UNKNOWN TYPE %d]", type);
+               for (i = 0; i < record->size; i++)
+                       trace_seq_printf(s, " %02x",
+                                        ((unsigned char *)record->data)[i]);
                return;
        }