X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fconfig%2Fsession-config.c;h=8a0a95157f4a8a28955f2a1938090c9216e567eb;hb=88ae485a1c83df9b02f0954cf452548e5bd2e168;hp=11e0dcc4ea8e24120aadb74da453ab17b6faf70e;hpb=28676a1d553d82f961ac83147097c53dd8a401d2;p=lttng-tools.git diff --git a/src/common/config/session-config.c b/src/common/config/session-config.c index 11e0dcc4e..8a0a95157 100644 --- a/src/common/config/session-config.c +++ b/src/common/config/session-config.c @@ -95,6 +95,8 @@ const char * const config_element_output_type = "output_type"; const char * const config_element_tracefile_size = "tracefile_size"; const char * const config_element_tracefile_count = "tracefile_count"; const char * const config_element_live_timer_interval = "live_timer_interval"; +const char * const config_element_discarded_events = "discarded_events"; +const char * const config_element_lost_packets = "lost_packets"; const char * const config_element_type = "type"; const char * const config_element_buffer_type = "buffer_type"; const char * const config_element_session = "session"; @@ -170,7 +172,10 @@ const char * const config_event_context_hostname = "HOSTNAME"; const char * const config_event_context_ip = "IP"; const char * const config_event_context_perf_thread_counter = "PERF_THREAD_COUNTER"; const char * const config_event_context_app = "APP"; - +const char * const config_event_context_interruptible = "INTERRUPTIBLE"; +const char * const config_event_context_preemptible = "PREEMPTIBLE"; +const char * const config_event_context_need_reschedule = "NEED_RESCHEDULE"; +const char * const config_event_context_migratable = "MIGRATABLE"; struct consumer_output { int enabled; @@ -458,6 +463,39 @@ end: return ret >= 0 ? 0 : ret; } +LTTNG_HIDDEN +int config_writer_write_attribute(struct config_writer *writer, + const char *name, const char *value) +{ + int ret; + xmlChar *encoded_name = NULL; + xmlChar *encoded_value = NULL; + + if (!writer || !writer->writer || !name || !name[0]) { + ret = -1; + goto end; + } + + encoded_name = encode_string(name); + if (!encoded_name) { + ret = -1; + goto end; + } + + encoded_value = encode_string(value); + if (!encoded_value) { + ret = -1; + goto end; + } + + ret = xmlTextWriterWriteAttribute(writer->writer, encoded_name, + encoded_value); +end: + xmlFree(encoded_name); + xmlFree(encoded_value); + return ret >= 0 ? 0 : ret; +} + LTTNG_HIDDEN int config_writer_close_element(struct config_writer *writer) { @@ -952,6 +990,18 @@ int get_context_type(xmlChar *context_type) } else if (!strcmp((char *) context_type, config_event_context_ip)) { ret = LTTNG_EVENT_CONTEXT_IP; + } else if (!strcmp((char *) context_type, + config_event_context_interruptible)) { + ret = LTTNG_EVENT_CONTEXT_INTERRUPTIBLE; + } else if (!strcmp((char *) context_type, + config_event_context_preemptible)) { + ret = LTTNG_EVENT_CONTEXT_PREEMPTIBLE; + } else if (!strcmp((char *) context_type, + config_event_context_need_reschedule)) { + ret = LTTNG_EVENT_CONTEXT_NEED_RESCHEDULE; + } else if (!strcmp((char *) context_type, + config_event_context_migratable)) { + ret = LTTNG_EVENT_CONTEXT_MIGRATABLE; } else { goto error; }