Send filter expression string to session daemon
[lttng-tools.git] / src / bin / lttng-sessiond / event.c
index db62151f57512c4dca6fb1affe32806c44415190..da6a2913fc217352734fe821306ff8ae4879775a 100644 (file)
@@ -314,7 +314,9 @@ end:
  * Enable all UST tracepoints for a channel from a UST session.
  */
 int event_ust_enable_all_tracepoints(struct ltt_ust_session *usess,
-               struct ltt_ust_channel *uchan, struct lttng_filter_bytecode *filter)
+               struct ltt_ust_channel *uchan,
+               char *filter_expression,
+               struct lttng_filter_bytecode *filter)
 {
        int ret, i, size;
        struct lttng_ht_iter iter;
@@ -365,7 +367,8 @@ int event_ust_enable_all_tracepoints(struct ltt_ust_session *usess,
                }
 
                /* Create ust event */
-               uevent = trace_ust_create_event(&events[i], filter, NULL);
+               uevent = trace_ust_create_event(&events[i], filter_expression,
+                       filter, NULL);
                if (uevent == NULL) {
                        ret = LTTNG_ERR_FATAL;
                        goto error_destroy;
@@ -409,6 +412,7 @@ error:
  */
 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)
 {
@@ -424,7 +428,8 @@ 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) {
-               uevent = trace_ust_create_event(event, filter, exclusion);
+               uevent = trace_ust_create_event(event, filter_expression,
+                       filter, exclusion);
                if (uevent == NULL) {
                        ret = LTTNG_ERR_UST_ENABLE_FAIL;
                        goto error;
@@ -615,24 +620,19 @@ error:
  *
  * Return LTTNG_OK on success or else a LTTNG_ERR* code.
  */
-int event_jul_enable_all(struct ltt_ust_session *usess)
+int event_jul_enable_all(struct ltt_ust_session *usess,
+               struct lttng_event *event)
 {
        int ret;
        struct jul_event *jevent;
-       struct lttng_event event;
        struct lttng_ht_iter iter;
 
        assert(usess);
 
        DBG("Event JUL enabling ALL events for session %" PRIu64, usess->id);
 
-       /* Create the * wildcard event name for the Java agent. */
-       memset(event.name, 0, sizeof(event.name));
-       strncpy(event.name, "*", sizeof(event.name));
-       event.name[sizeof(event.name) - 1] = '\0';
-
        /* Enable event on JUL application through TCP socket. */
-       ret = event_jul_enable(usess, &event);
+       ret = event_jul_enable(usess, event);
        if (ret != LTTNG_OK) {
                goto error;
        }
@@ -664,15 +664,19 @@ int event_jul_enable(struct ltt_ust_session *usess, struct lttng_event *event)
        assert(usess);
        assert(event);
 
-       DBG("Event JUL enabling %s for session %" PRIu64, event->name, usess->id);
+       DBG("Event JUL enabling %s for session %" PRIu64 " with loglevel type %d "
+                       "and loglevel %d", event->name, usess->id, event->loglevel_type,
+                       event->loglevel);
 
-       jevent = jul_find_by_name(event->name, &usess->domain_jul);
+       jevent = jul_find_event(event->name, event->loglevel, &usess->domain_jul);
        if (!jevent) {
                jevent = jul_create_event(event->name);
                if (!jevent) {
                        ret = LTTNG_ERR_NOMEM;
                        goto error;
                }
+               jevent->loglevel = event->loglevel;
+               jevent->loglevel_type = event->loglevel_type;
                created = 1;
        }
 
@@ -716,7 +720,7 @@ int event_jul_disable(struct ltt_ust_session *usess, char *event_name)
 
        DBG("Event JUL disabling %s for session %" PRIu64, event_name, usess->id);
 
-       jevent = jul_find_by_name(event_name, &usess->domain_jul);
+       jevent = jul_find_event_by_name(event_name, &usess->domain_jul);
        if (!jevent) {
                ret = LTTNG_ERR_UST_EVENT_NOT_FOUND;
                goto error;
This page took 0.023999 seconds and 4 git commands to generate.