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, 1 Sep 2015 16:03:08 +0000 (12:03 -0400)
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng-sessiond/cmd.c

index 41f6582384cf5c5577ece366f9e6b8c2c217be76..860622d0065b9c3c80f22c32ee0b2d44b11f511d 100644 (file)
@@ -1114,9 +1114,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.037466 seconds and 4 git commands to generate.