X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fsave.c;h=f8911aa53adb1157a13385e79f7ae508d94650c8;hp=c76abbac633c0688565d0008c3bf68b823b25b3b;hb=1adbdb1045a79cd4a02941c5994820ccb17a68c3;hpb=091ced216b4da7ba8e1abdd8d18237dffb457642 diff --git a/src/bin/lttng-sessiond/save.c b/src/bin/lttng-sessiond/save.c index c76abbac6..f8911aa53 100644 --- a/src/bin/lttng-sessiond/save.c +++ b/src/bin/lttng-sessiond/save.c @@ -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);