fix 32-bits lttv for kprobes
[lttv.git] / trunk / lttv / lttv / lttv / print.c
index c9099064d2bab23142806629342ad50cd707aa9b..b303900a216b7328761bd7bc6e02d90e1c1c72e8 100644 (file)
 static inline void print_enum_events(LttEvent *e, struct marker_field *f,
                       guint64 value, GString *s, LttvTracefileState *tfs)
 {
-  struct marker_info *info = marker_get_info_from_id(tfs->parent.tf->mdata,
-    e->event_id);
+  LttTracefile *tf = tfs->parent.tf;
+  struct marker_info *info = marker_get_info_from_id(tf->mdata, e->event_id);
   LttvTraceState *ts = (LttvTraceState*)(tfs->parent.t_context);
   
-  //TODO optimize with old quarks.
-  if (info->name == g_quark_from_static_string("kernel_syscall_entry") && 
-      f->name == LTT_FIELD_SYSCALL_ID) {
-    g_string_append_printf(s, " [%s]",
-      g_quark_to_string(ts->syscall_names[value]));
-  } else if ((info->name == g_quark_from_static_string("kernel_softirq_entry")
-    || info->name == g_quark_from_static_string("kernel_softirq_exit")
-    || info->name == g_quark_from_static_string("kernel_softirq_raise")) &&
-      f->name == g_quark_from_static_string("softirq_id")) {
-    g_string_append_printf(s, " [%s]",
-      g_quark_to_string(ts->soft_irq_names[value]));
+  if (tf->name == LTT_CHANNEL_KERNEL) {
+    if (info->name == LTT_EVENT_SYSCALL_ENTRY
+        && f->name == LTT_FIELD_SYSCALL_ID) {
+      g_string_append_printf(s, " [%s]",
+        g_quark_to_string(ts->syscall_names[value]));
+    } else if ((info->name == LTT_EVENT_SOFT_IRQ_ENTRY
+                || info->name == LTT_EVENT_SOFT_IRQ_EXIT
+                || info->name == LTT_EVENT_SOFT_IRQ_RAISE)
+               && f->name == LTT_FIELD_SOFT_IRQ_ID) {
+      g_string_append_printf(s, " [%s]",
+        g_quark_to_string(ts->soft_irq_names[value]));
+    } else if (info->name == LTT_EVENT_KPROBE
+               && f->name == LTT_FIELD_IP) {
+#if (__SIZEOF_LONG__ == 4)
+      GQuark symbol = (GQuark)g_hash_table_lookup(ts->kprobe_hash,
+                                          (gconstpointer)&value);
+#else
+      GQuark symbol = (GQuark)g_hash_table_lookup(ts->kprobe_hash,
+                                          (gconstpointer)value);
+#endif
+      if (symbol)
+        g_string_append_printf(s, " [%s]", g_quark_to_string(symbol));
+    }
   }
-
 }
 
 void lttv_print_field(LttEvent *e, struct marker_field *f, GString *s,
@@ -264,7 +275,8 @@ void lttv_event_to_string(LttEvent *e, GString *s,
 
   if(mandatory_fields) {
     time = ltt_event_time(e);
-    g_string_append_printf(s,"%s: %ld.%09ld (%s/%s_%u)",
+    g_string_append_printf(s,"%s.%s: %ld.%09ld (%s/%s_%u)",
+       g_quark_to_string(ltt_tracefile_name(tfs->parent.tf)),
         g_quark_to_string(info->name),
         (long)time.tv_sec, time.tv_nsec,
        g_quark_to_string(
This page took 0.025314 seconds and 4 git commands to generate.