X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fsave.c;h=f8911aa53adb1157a13385e79f7ae508d94650c8;hb=f76d886f794c80a3c761613532d6a9a72a918cb8;hp=0a1393a4bd90267bb9d5d041af3f6b40e007595b;hpb=847a5916c26ab9cc0dfc9322cccd2c748c54747e;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/save.c b/src/bin/lttng-sessiond/save.c index 0a1393a4b..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); @@ -1409,9 +1422,6 @@ int save_domains(struct config_writer *writer, struct ltt_session *session) } } - if (session->ust_session) { - } - /* /domains */ ret = config_writer_close_element(writer); if (ret) {