X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Flttv%2Fprint.c;h=812ecef5409f652cf1c6b9ef1813070da11f16d2;hb=e3523819ae718aa322635a69268f642b0c0c1f5b;hp=b0f1d58845df7ff87d3e6d3848a493259cb86e9e;hpb=76373d36bc73cd876b20a1ca173aeb35b1209d0c;p=lttv.git diff --git a/ltt/branches/poly/lttv/lttv/print.c b/ltt/branches/poly/lttv/lttv/print.c index b0f1d588..812ecef5 100644 --- a/ltt/branches/poly/lttv/lttv/print.c +++ b/ltt/branches/poly/lttv/lttv/print.c @@ -49,8 +49,6 @@ void lttv_print_field(LttEvent *e, LttField *f, GString *s, LttType *type; - LttField *element; - GQuark name; int nb, i; @@ -107,10 +105,9 @@ void lttv_print_field(LttEvent *e, LttField *f, GString *s, case LTT_SEQUENCE: g_string_append_printf(s, "{ "); nb = ltt_event_field_element_number(e,f); - element = ltt_field_element(f); for(i = 0 ; i < nb ; i++) { - ltt_event_field_element_select(e,f,i); - lttv_print_field(e, element, s, field_names); + LttField *child = ltt_event_field_element_select(e,f,i); + lttv_print_field(e, child, s, field_names); if(i != nb-1) g_string_append_printf(s, ", "); } g_string_append_printf(s, " }"); @@ -120,9 +117,10 @@ void lttv_print_field(LttEvent *e, LttField *f, GString *s, g_string_append_printf(s, "{ "); nb = ltt_type_member_number(type); for(i = 0 ; i < nb ; i++) { + LttField *element; element = ltt_field_member(f,i); if(field_names) { - ltt_type_member_type(type, i, &name); + name = ltt_field_name(element); g_string_append_printf(s, "%s = ", g_quark_to_string(name)); } lttv_print_field(e, element, s, field_names); @@ -135,9 +133,10 @@ void lttv_print_field(LttEvent *e, LttField *f, GString *s, g_string_append_printf(s, "{ "); nb = ltt_type_member_number(type); for(i = 0 ; i < nb ; i++) { + LttField *element; element = ltt_field_member(f,i); if(field_names) { - ltt_type_member_type(type, i, &name); + name = ltt_field_name(element); g_string_append_printf(s, "%s = ", g_quark_to_string(name)); } lttv_print_field(e, element, s, field_names); @@ -145,7 +144,8 @@ void lttv_print_field(LttEvent *e, LttField *f, GString *s, } g_string_append_printf(s, " }"); break; - + case LTT_NONE: + break; } } @@ -161,10 +161,12 @@ void lttv_event_to_string(LttEvent *e, GString *s, LttTime time; - guint cpu = ltt_tracefile_num(tfs->parent.tf); + guint cpu = tfs->cpu; LttvTraceState *ts = (LttvTraceState*)tfs->parent.t_context; LttvProcessState *process = ts->running_process[cpu]; + GQuark name; + guint i, num_fields; g_string_set_size(s,0); @@ -181,16 +183,27 @@ void lttv_event_to_string(LttEvent *e, GString *s, g_quark_to_string(ltt_tracefile_name(tfs->parent.tf)), cpu); /* Print the process id and the state/interrupt type of the process */ - g_string_append_printf(s,", %u, %u, %s", process->pid, - process->ppid, + g_string_append_printf(s,", %u, %u, 0x%llX, %s", process->pid, + process->ppid, process->current_function, g_quark_to_string(process->state->t)); } + event_type = ltt_event_eventtype(e); - num_fields = ltt_event_num_fields(e); + num_fields = ltt_eventtype_num_fields(event_type); + if(num_fields == 0) return; + g_string_append_printf(s, " "); + g_string_append_printf(s, "{ "); for(i=0; i