Don't save log level in session configuration when unneeded
[lttng-tools.git] / src / bin / lttng-sessiond / save.c
index c76abbac633c0688565d0008c3bf68b823b25b3b..f8911aa53adb1157a13385e79f7ae508d94650c8 100644 (file)
@@ -363,6 +363,16 @@ int save_kernel_event(struct config_writer *writer,
                goto end;
        }
 
+       if (event->filter_expression) {
+               ret = config_writer_write_element_string(writer,
+                               config_element_filter,
+                               event->filter_expression);
+               if (ret) {
+                       ret = LTTNG_ERR_SAVE_IO_FAIL;
+                       goto end;
+               }
+       }
+
        if (event->event->instrumentation == LTTNG_KERNEL_FUNCTION ||
                event->event->instrumentation == LTTNG_KERNEL_KPROBE ||
                event->event->instrumentation == LTTNG_KERNEL_KRETPROBE) {
@@ -632,11 +642,14 @@ int save_ust_event(struct config_writer *writer,
                goto end;
        }
 
-       ret = config_writer_write_element_signed_int(writer,
-               config_element_loglevel, event->attr.loglevel);
-       if (ret) {
-               ret = LTTNG_ERR_SAVE_IO_FAIL;
-               goto end;
+       /* The log level is irrelevant if no "filtering" is enabled */
+       if (event->attr.loglevel_type != LTTNG_UST_LOGLEVEL_ALL) {
+               ret = config_writer_write_element_signed_int(writer,
+                               config_element_loglevel, event->attr.loglevel);
+               if (ret) {
+                       ret = LTTNG_ERR_SAVE_IO_FAIL;
+                       goto end;
+               }
        }
 
        if (event->filter_expression) {
@@ -705,6 +718,10 @@ int save_ust_events(struct config_writer *writer,
        cds_lfht_for_each_entry(events->ht, &iter.iter, node, node) {
                event = caa_container_of(node, struct ltt_ust_event, node);
 
+               if (event->internal) {
+                       /* Internal events must not be exposed to clients */
+                       continue;
+               }
                ret = save_ust_event(writer, event);
                if (ret) {
                        rcu_read_unlock();
@@ -1382,11 +1399,7 @@ int save_domains(struct config_writer *writer, struct ltt_session *session)
                        goto end;
                }
 
-               rcu_read_lock();
-               agent_count =
-                       lttng_ht_get_count(session->ust_session->agents);
-               rcu_read_unlock();
-
+               agent_count = lttng_ht_get_count(session->ust_session->agents);
                if (agent_count > 0) {
                        ret = config_writer_open_element(writer,
                                config_element_domain);
This page took 0.023772 seconds and 4 git commands to generate.