- lttv_event_to_string(e, tfc->tf, a_string, TRUE, a_field_names, tfs);
+ guint cpu = ltt_tracefile_num(tfs->parent.tf);
+ LttvTraceState *ts = (LttvTraceState*)tfc->t_context;
+ LttvProcessState *process = ts->running_process[cpu];
+
+ e = ltt_tracefile_get_event(tfc->tf);
+
+ g_assert(lttv_iattribute_find_by_path(attributes, "filter/lttv_filter",
+ LTTV_POINTER, &value_filter));
+ filter = (LttvFilter*)*(value_filter.v_pointer);
+
+ /*
+ * call to the filter if available
+ */
+ if(filter->head != NULL)
+ if(!lttv_filter_tree_parse(filter->head,e,tfc->tf,
+ tfc->t_context->t,process,tfc))
+ return FALSE;
+
+ lttv_event_to_string(e, a_string, TRUE, a_field_names, tfs);