struct marker_info *info = marker_get_info_from_id(tf->mdata, e->event_id);
LttvTraceState *ts = (LttvTraceState*)(tfs->parent.t_context);
- if (tf->name == LTT_CHANNEL_KERNEL &&
- 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 ((tf->name == LTT_CHANNEL_KERNEL &&
- (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]));
+ 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]));
+ }
+/* TODO : implement hash table.
+ else if (info->name == LTT_EVENT_KPROBE
+ && f->name = LTT_FIELD_IP) {
+ g_string_append_printf(s, " [%s]",
+ g_quark_to_string(ts->kprobe_symbols[value]));
+ }
+*/
}
-
}
void lttv_print_field(LttEvent *e, struct marker_field *f, GString *s,
LTT_EVENT_REQUEST_COMPLETE,
LTT_EVENT_LIST_INTERRUPT,
LTT_EVENT_SYS_CALL_TABLE,
- LTT_EVENT_SOFTIRQ_VEC;
+ LTT_EVENT_SOFTIRQ_VEC,
+ LTT_EVENT_KPROBE_TABLE;
/* Fields Quarks */
LTT_FIELD_ACTION,
LTT_FIELD_ID,
LTT_FIELD_ADDRESS,
- LTT_FIELD_SYMBOL;
+ LTT_FIELD_SYMBOL,
+ LTT_FIELD_IP;
LttvExecutionMode
LTTV_STATE_MODE_UNKNOWN,
LTT_EVENT_LIST_INTERRUPT = g_quark_from_string("interrupt");
LTT_EVENT_SYS_CALL_TABLE = g_quark_from_string("sys_call_table");
LTT_EVENT_SOFTIRQ_VEC = g_quark_from_string("softirq_vec");
+ LTT_EVENT_KPROBE_TABLE = g_quark_from_string("kprobe_table");
LTT_FIELD_SYSCALL_ID = g_quark_from_string("syscall_id");
LTT_FIELD_TRAP_ID = g_quark_from_string("trap_id");
LTT_FIELD_ID = g_quark_from_string("id");
LTT_FIELD_ADDRESS = g_quark_from_string("address");
LTT_FIELD_SYMBOL = g_quark_from_string("symbol");
+ LTT_FIELD_IP = g_quark_from_string("ip");
LTTV_CPU_UNKNOWN = g_quark_from_string("unknown");
LTTV_CPU_IDLE = g_quark_from_string("idle");
LTT_EVENT_REQUEST_COMPLETE,
LTT_EVENT_LIST_INTERRUPT,
LTT_EVENT_SYS_CALL_TABLE,
- LTT_EVENT_SOFTIRQ_VEC;
+ LTT_EVENT_SOFTIRQ_VEC,
+ LTT_EVENT_KPROBE_TABLE;
/* Fields Quarks */
LTT_FIELD_ACTION,
LTT_FIELD_ID,
LTT_FIELD_ADDRESS,
- LTT_FIELD_SYMBOL;
+ LTT_FIELD_SYMBOL,
+ LTT_FIELD_IP;
typedef struct _LttvTracesetState LttvTracesetState;
typedef struct _LttvTracesetStateClass LttvTracesetStateClass;