Allow the creation of JUL, Log4j and Python channels
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Mon, 31 Aug 2015 20:00:22 +0000 (16:00 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Tue, 8 Sep 2015 13:07:07 +0000 (09:07 -0400)
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng-sessiond/cmd.c

index 6259ed089baa5f401990e90cb5034b3a048f1109..2ca22c2e9bb9af0bfc6f310433f410a55d9eacd6 100644 (file)
@@ -1108,9 +1108,40 @@ int cmd_enable_channel(struct ltt_session *session,
                break;
        }
        case LTTNG_DOMAIN_UST:
+       case LTTNG_DOMAIN_JUL:
+       case LTTNG_DOMAIN_LOG4J:
+       case LTTNG_DOMAIN_PYTHON:
        {
                struct ltt_ust_channel *uchan;
 
+               /*
+                * FIXME
+                *
+                * Current agent implementation limitations force us to allow
+                * only one channel at once in "agent" subdomains. Each
+                * subdomain has a default channel name which must be strictly
+                * adhered to.
+                */
+               if (domain->type == LTTNG_DOMAIN_JUL) {
+                       if (strncmp(attr->name, DEFAULT_JUL_CHANNEL_NAME,
+                                       LTTNG_SYMBOL_NAME_LEN)) {
+                               ret = LTTNG_ERR_INVALID_CHANNEL_NAME;
+                               goto error;
+                       }
+               } else if (domain->type == LTTNG_DOMAIN_LOG4J) {
+                       if (strncmp(attr->name, DEFAULT_LOG4J_CHANNEL_NAME,
+                                       LTTNG_SYMBOL_NAME_LEN)) {
+                               ret = LTTNG_ERR_INVALID_CHANNEL_NAME;
+                               goto error;
+                       }
+               } else if (domain->type == LTTNG_DOMAIN_PYTHON) {
+                       if (strncmp(attr->name, DEFAULT_PYTHON_CHANNEL_NAME,
+                                       LTTNG_SYMBOL_NAME_LEN)) {
+                               ret = LTTNG_ERR_INVALID_CHANNEL_NAME;
+                               goto error;
+                       }
+               }
+
                chan_ht = usess->domain_global.channels;
 
                uchan = trace_ust_find_channel_by_name(chan_ht, attr->name);
This page took 0.030284 seconds and 4 git commands to generate.