X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fevent.c;h=e9192900892acb831fdc32ab160bc7c9f3e28a5b;hb=f4f9d4dbdc89ea5a439390d3084183f2f4b40371;hp=0efdc9253d59adc98da8508c8909b9a6d9e58f06;hpb=d0ae4ea864f84fa2456563abb20fe42e5cc29625;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/event.c b/src/bin/lttng-sessiond/event.c index 0efdc9253..e91929008 100644 --- a/src/bin/lttng-sessiond/event.c +++ b/src/bin/lttng-sessiond/event.c @@ -33,6 +33,7 @@ #include "ust-app.h" #include "trace-kernel.h" #include "trace-ust.h" +#include "agent.h" /* * Add unique UST event based on the event name, filter bytecode and loglevel. @@ -129,7 +130,8 @@ int event_kernel_disable_event_all(struct ltt_kernel_channel *kchan) * We own filter_expression and filter. */ int event_kernel_enable_event(struct ltt_kernel_channel *kchan, - struct lttng_event *event) + struct lttng_event *event, char *filter_expression, + struct lttng_filter_bytecode *filter) { int ret; struct ltt_kernel_event *kevent; @@ -137,10 +139,14 @@ int event_kernel_enable_event(struct ltt_kernel_channel *kchan, assert(kchan); assert(event); - kevent = trace_kernel_get_event_by_name(event->name, kchan, - event->type); + kevent = trace_kernel_find_event(event->name, kchan, + event->type, filter); if (kevent == NULL) { - ret = kernel_create_event(event, kchan); + ret = kernel_create_event(event, kchan, + filter_expression, filter); + /* We have passed ownership */ + filter_expression = NULL; + filter = NULL; if (ret < 0) { switch (-ret) { case EEXIST: @@ -169,6 +175,8 @@ int event_kernel_enable_event(struct ltt_kernel_channel *kchan, ret = LTTNG_OK; end: + free(filter_expression); + free(filter); return ret; } @@ -589,8 +597,8 @@ error: } /* - * Return the agent default event name to use by testing if the process is root - * or not. Return NULL on error. + * Return the default event name associated with the provided UST domain. Return + * NULL on error. */ const char *event_get_default_agent_ust_name(enum lttng_domain_type domain) { @@ -598,21 +606,13 @@ const char *event_get_default_agent_ust_name(enum lttng_domain_type domain) switch (domain) { case LTTNG_DOMAIN_LOG4J: - if (is_root) { - default_event_name = DEFAULT_SYS_LOG4J_EVENT_NAME; - } else { - default_event_name = DEFAULT_USER_LOG4J_EVENT_NAME; - } + default_event_name = DEFAULT_LOG4J_EVENT_NAME; break; case LTTNG_DOMAIN_JUL: - if (is_root) { - default_event_name = DEFAULT_SYS_JUL_EVENT_NAME; - } else { - default_event_name = DEFAULT_USER_JUL_EVENT_NAME; - } + default_event_name = DEFAULT_JUL_EVENT_NAME; break; case LTTNG_DOMAIN_PYTHON: - default_event_name = DEFAULT_USER_PYTHON_EVENT_NAME; + default_event_name = DEFAULT_PYTHON_EVENT_NAME; break; default: assert(0);