Save filter expressions as part of agent events
[lttng-tools.git] / src / bin / lttng-sessiond / event.c
index 017efa1d5a7d2fd7bd86ac48aa0efb42444b562f..2244503c16d4287db0988adb40595f6ce20049bd 100644 (file)
@@ -194,7 +194,8 @@ int event_ust_enable_tracepoint(struct ltt_ust_session *usess,
                struct ltt_ust_channel *uchan, struct lttng_event *event,
                char *filter_expression,
                struct lttng_filter_bytecode *filter,
-               struct lttng_event_exclusion *exclusion)
+               struct lttng_event_exclusion *exclusion,
+               bool internal_event)
 {
        int ret = LTTNG_OK, to_create = 0;
        struct ltt_ust_event *uevent;
@@ -207,9 +208,9 @@ int event_ust_enable_tracepoint(struct ltt_ust_session *usess,
 
        uevent = trace_ust_find_event(uchan->events, event->name, filter,
                        event->loglevel, exclusion);
-       if (uevent == NULL) {
+       if (!uevent) {
                uevent = trace_ust_create_event(event, filter_expression,
-                       filter, exclusion);
+                               filter, exclusion, internal_event);
                /* We have passed ownership */
                filter_expression = NULL;
                filter = NULL;
@@ -358,7 +359,8 @@ error:
  */
 int event_agent_enable_all(struct ltt_ust_session *usess,
                struct agent *agt, struct lttng_event *event,
-               struct lttng_filter_bytecode *filter)
+               struct lttng_filter_bytecode *filter,
+               char *filter_expression)
 {
        int ret;
        struct agent_event *aevent;
@@ -369,7 +371,7 @@ int event_agent_enable_all(struct ltt_ust_session *usess,
        DBG("Event agent enabling ALL events for session %" PRIu64, usess->id);
 
        /* Enable event on agent application through TCP socket. */
-       ret = event_agent_enable(usess, agt, event, filter);
+       ret = event_agent_enable(usess, agt, event, filter, filter_expression);
        if (ret != LTTNG_OK) {
                goto error;
        }
@@ -395,7 +397,8 @@ error:
  */
 int event_agent_enable(struct ltt_ust_session *usess,
                struct agent *agt, struct lttng_event *event,
-               struct lttng_filter_bytecode *filter)
+               struct lttng_filter_bytecode *filter,
+               char *filter_expression)
 {
        int ret, created = 0;
        struct agent_event *aevent;
This page took 0.023837 seconds and 4 git commands to generate.