From 9eb6aa7a42ed8d7e5b6d095bd3c31886ab5ebd33 Mon Sep 17 00:00:00 2001 From: compudj Date: Mon, 22 Aug 2005 23:06:29 +0000 Subject: [PATCH] make batchanalysis and textDump work git-svn-id: http://ltt.polymtl.ca/svn@1052 04897980-b3bd-0310-b5e0-8ef037075253 --- ltt/branches/poly/ltt/event.c | 7 +++-- ltt/branches/poly/ltt/tracefile.c | 4 +-- .../lttv/modules/gui/controlflow/drawing.c | 2 +- .../poly/lttv/modules/text/textDump.c | 27 ++++++++++++++----- 4 files changed, 28 insertions(+), 12 deletions(-) diff --git a/ltt/branches/poly/ltt/event.c b/ltt/branches/poly/ltt/event.c index 8b22b472..207c5d55 100644 --- a/ltt/branches/poly/ltt/event.c +++ b/ltt/branches/poly/ltt/event.c @@ -571,7 +571,8 @@ guint64 ltt_event_get_long_unsigned(LttEvent *e, LttField *f) LttTypeEnum t = f->field_type->type_class; - g_assert(t == LTT_UINT || t == LTT_ENUM); + g_assert(t == LTT_UINT || t == LTT_ENUM + || t == LTT_ULONG || LTT_SIZE_T || LTT_OFF_T || LTT_POINTER); if(f->field_size == 1){ guint8 x = *(guint8 *)(e->data + f->offset_root); @@ -593,7 +594,9 @@ gint64 ltt_event_get_long_int(LttEvent *e, LttField *f) // e->tracefile->trace->system_description->endian ? 0:1; gboolean reverse_byte_order = LTT_GET_BO(e->tracefile); - g_assert( f->field_type->type_class == LTT_INT); + g_assert( f->field_type->type_class == LTT_INT + || f->field_type->type_class == LTT_LONG + || f->field_type->type_class == LTT_SSIZE_T); if(f->field_size == 1){ gint8 x = *(gint8 *)(e->data + f->offset_root); diff --git a/ltt/branches/poly/ltt/tracefile.c b/ltt/branches/poly/ltt/tracefile.c index 0d03c07d..3eefa029 100644 --- a/ltt/branches/poly/ltt/tracefile.c +++ b/ltt/branches/poly/ltt/tracefile.c @@ -1725,7 +1725,7 @@ void ltt_update_event_size(LttTracefile *tf) g_quark_to_string(tf->name)); goto event_type_error; } - + if(event_type->root_field) size = get_field_type_size(tf, event_type, 0, 0, event_type->root_field, tf->event.data); @@ -1741,7 +1741,7 @@ void ltt_update_event_size(LttTracefile *tf) /* Check consistency between kernel and LTTV structure sizes */ g_assert(tf->event.data_size == tf->event.event_size); - + return; facility_error: diff --git a/ltt/branches/poly/lttv/modules/gui/controlflow/drawing.c b/ltt/branches/poly/lttv/modules/gui/controlflow/drawing.c index b4411bc4..e074853a 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/drawing.c +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/drawing.c @@ -214,7 +214,7 @@ void drawing_data_request(Drawing_t *drawing, associated by id hooks. */ hooks = g_array_new(FALSE, FALSE, sizeof(LttvTraceHook)); - g_array_set_size(hooks, 10); + hooks = g_array_set_size(hooks, 10); /* before hooks */ diff --git a/ltt/branches/poly/lttv/modules/text/textDump.c b/ltt/branches/poly/lttv/modules/text/textDump.c index b6de60fe..1335afc4 100644 --- a/ltt/branches/poly/lttv/modules/text/textDump.c +++ b/ltt/branches/poly/lttv/modules/text/textDump.c @@ -60,17 +60,22 @@ void print_field(LttEvent *e, LttField *f, GString *s, gboolean field_names) { LttField *element; - char *name; + GQuark name; int nb, i; type = ltt_field_type(f); switch(ltt_type_class(type)) { case LTT_INT: + case LTT_LONG: + case LTT_SSIZE_T: g_string_append_printf(s, " %lld", ltt_event_get_long_int(e,f)); break; case LTT_UINT: + case LTT_ULONG: + case LTT_SIZE_T: + case LTT_OFF_T: g_string_append_printf(s, " %llu", ltt_event_get_long_unsigned(e,f)); break; @@ -78,6 +83,10 @@ void print_field(LttEvent *e, LttField *f, GString *s, gboolean field_names) { g_string_append_printf(s, " %g", ltt_event_get_double(e,f)); break; + case LTT_POINTER: + g_string_append_printf(s, " 0x%llx", ltt_event_get_long_unsigned(e,f)); + break; + case LTT_STRING: g_string_append_printf(s, " \"%s\"", ltt_event_get_string(e,f)); break; @@ -106,7 +115,7 @@ void print_field(LttEvent *e, LttField *f, GString *s, gboolean field_names) { element = ltt_field_member(f,i); if(field_names) { ltt_type_member_type(type, i, &name); - g_string_append_printf(s, " %s = ", name); + g_string_append_printf(s, " %s = ", g_quark_to_string(name)); } print_field(e, element, s, field_names); } @@ -120,7 +129,7 @@ void print_field(LttEvent *e, LttField *f, GString *s, gboolean field_names) { element = ltt_field_member(f,i); if(field_names) { ltt_type_member_type(type, i, &name); - g_string_append_printf(s, " %s = ", name); + g_string_append_printf(s, " %s = ", g_quark_to_string(name)); } print_field(e, element, s, field_names); } @@ -153,8 +162,9 @@ void lttv_event_to_string(LttEvent *e, GString *s, if(mandatory_fields) { time = ltt_event_time(e); g_string_append_printf(s,"%s.%s: %ld.%09ld (%s)", - ltt_facility_name(facility), - ltt_eventtype_name(event_type), (long)time.tv_sec, time.tv_nsec, + g_quark_to_string(ltt_facility_name(facility)), + g_quark_to_string(ltt_eventtype_name(event_type)), + (long)time.tv_sec, time.tv_nsec, g_quark_to_string(tfs->cpu_name)); /* Print the process id and the state/interrupt type of the process */ g_string_append_printf(s,", %u, %u, %s", tfs->process->pid, @@ -255,12 +265,14 @@ print_stats(FILE *fp, LttvTracesetStats *tscs) for(i = 0 ; i < nb ; i++) { tcs = (LttvTraceStats *)(LTTV_TRACESET_CONTEXT(tscs)->traces[i]); +#if 0 //FIXME desc = ltt_trace_system_description(tcs->parent.parent.t); LttTime start_time = ltt_trace_system_description_trace_start_time(desc); fprintf(fp, "Trace on system %s at time %lu.%09lu :\n", ltt_trace_system_description_node_name(desc), start_time.tv_sec, start_time.tv_nsec); +#endif //FIXME saved_length = indent->len; g_string_append(indent, " "); print_tree(fp, indent, tcs->stats); @@ -318,13 +330,14 @@ static gboolean write_traceset_footer(void *hook_data, void *call_data) static gboolean write_trace_header(void *hook_data, void *call_data) { LttvTraceContext *tc = (LttvTraceContext *)call_data; - +#if 0 //FIXME LttSystemDescription *system = ltt_trace_system_description(tc->t); fprintf(a_file," Trace from %s in %s\n%s\n\n", ltt_trace_system_description_node_name(system), ltt_trace_system_description_domain_name(system), ltt_trace_system_description_description(system)); +#endif //0 return FALSE; } @@ -343,7 +356,7 @@ static int write_event_content(void *hook_data, void *call_data) LttvFilter *filter; - e = tfc->e; + e = ltt_tracefile_get_event(tfc->tf); g_assert(lttv_iattribute_find_by_path(attributes, "filter/lttv_filter", -- 2.34.1