Rename the "metadata regenerate" command to "regenerate metadata"
[lttng-tools.git] / src / common / mi-lttng.c
index 72b0791527eddf25ba89fb1a7ed4b27197fc9101..57678c1b8dbbab1b3d00e3d8a07d4ead219784d3 100644 (file)
@@ -21,6 +21,7 @@
 #include <common/config/session-config.h>
 #include <common/defaults.h>
 #include <lttng/snapshot-internal.h>
+#include <lttng/channel.h>
 #include "mi-lttng.h"
 
 #include <assert.h>
 #define MI_SCHEMA_MINOR_VERSION 0
 
 /* Machine interface namespace URI */
-const char * const mi_lttng_xmlns = "xmlns";
-const char * const mi_lttng_xmlns_xsi = "xmlns:xsi";
-const char * const mi_lttng_w3_schema_uri = "http://www.w3.org/2001/XMLSchema-instance";
-const char * const mi_lttng_schema_location = "xsi:schemaLocation";
-const char * const mi_lttng_schema_location_uri =
+LTTNG_HIDDEN const char * const mi_lttng_xmlns = "xmlns";
+LTTNG_HIDDEN const char * const mi_lttng_xmlns_xsi = "xmlns:xsi";
+LTTNG_HIDDEN const char * const mi_lttng_w3_schema_uri = "http://www.w3.org/2001/XMLSchema-instance";
+LTTNG_HIDDEN const char * const mi_lttng_schema_location = "xsi:schemaLocation";
+LTTNG_HIDDEN const char * const mi_lttng_schema_location_uri =
        DEFAULT_LTTNG_MI_NAMESPACE " "
        "http://lttng.org/xml/schemas/lttng-mi/" XSTR(MI_SCHEMA_MAJOR_VERSION)
        "/lttng-mi-" XSTR(MI_SCHEMA_MAJOR_VERSION) "."
        XSTR(MI_SCHEMA_MINOR_VERSION) ".xsd";
-const char * const mi_lttng_schema_version = "schemaVersion";
-const char * const mi_lttng_schema_version_value = XSTR(MI_SCHEMA_MAJOR_VERSION)
+LTTNG_HIDDEN const char * const mi_lttng_schema_version = "schemaVersion";
+LTTNG_HIDDEN const char * const mi_lttng_schema_version_value = XSTR(MI_SCHEMA_MAJOR_VERSION)
        "." XSTR(MI_SCHEMA_MINOR_VERSION);
 
 /* Strings related to command */
@@ -55,6 +56,10 @@ const char * const mi_lttng_element_command_enable_channels = "enable-channel";
 const char * const mi_lttng_element_command_enable_event = "enable-event";
 const char * const mi_lttng_element_command_list = "list";
 const char * const mi_lttng_element_command_load = "load";
+LTTNG_HIDDEN const char * const mi_lttng_element_command_metadata = "metadata";
+LTTNG_HIDDEN const char * const mi_lttng_element_command_metadata_action = "metadata_action";
+LTTNG_HIDDEN const char * const mi_lttng_element_command_regenerate = "regenerate";
+LTTNG_HIDDEN const char * const mi_lttng_element_command_regenerate_action = "regenerate_action";
 const char * const mi_lttng_element_command_name = "name";
 const char * const mi_lttng_element_command_output = "output";
 const char * const mi_lttng_element_command_save = "save";
@@ -177,6 +182,12 @@ const char * const mi_lttng_element_snapshots = "snapshots";
 /* String related to track/untrack command */
 const char * const mi_lttng_element_track_untrack_all_wildcard = "*";
 
+/* Deprecated symbols preserved for ABI compatibility. */
+const char * const mi_lttng_context_type_perf_counter;
+const char * const mi_lttng_context_type_perf_cpu_counter;
+const char * const mi_lttng_context_type_perf_thread_counter;
+const char * const mi_lttng_element_track_untrack_pid_target;
+const char * const mi_lttng_element_track_untrack_targets;
 
 /* This is a merge of jul loglevel and regular loglevel
  * Those should never overlap by definition
@@ -293,10 +304,9 @@ const char *mi_lttng_loglevel_string(int value, enum lttng_domain_type domain)
                        return mi_lttng_loglevel_str_unknown;
                }
                break;
+       default:
+               return mi_lttng_loglevel_str_unknown;
        }
-
-       /* Reaching this means the domain is unknown. */
-       return mi_lttng_loglevel_str_unknown;
 }
 
 LTTNG_HIDDEN
@@ -866,9 +876,22 @@ int mi_lttng_channel_attr(struct mi_writer *writer,
                struct lttng_channel_attr *attr)
 {
        int ret = 0;
+       struct lttng_channel *chan = caa_container_of(attr,
+                       struct lttng_channel, attr);
+       uint64_t discarded_events, lost_packets;
 
        assert(attr);
 
+       ret = lttng_channel_get_discarded_event_count(chan, &discarded_events);
+       if (ret) {
+               goto end;
+       }
+
+       ret = lttng_channel_get_lost_packet_count(chan, &lost_packets);
+       if (ret) {
+               goto end;
+       }
+
        /* Opening Attributes */
        ret = mi_lttng_writer_open_element(writer, config_element_attributes);
        if (ret) {
@@ -947,6 +970,22 @@ int mi_lttng_channel_attr(struct mi_writer *writer,
                goto end;
        }
 
+       /* Discarded events */
+       ret = mi_lttng_writer_write_element_unsigned_int(writer,
+               config_element_discarded_events,
+               discarded_events);
+       if (ret) {
+               goto end;
+       }
+
+       /* Lost packets */
+       ret = mi_lttng_writer_write_element_unsigned_int(writer,
+               config_element_lost_packets,
+               lost_packets);
+       if (ret) {
+               goto end;
+       }
+
        /* Closing attributes */
        ret = mi_lttng_writer_close_element(writer);
        if (ret) {
@@ -992,7 +1031,7 @@ int mi_lttng_event_common_attributes(struct mi_writer *writer,
        }
 
        /* Event filter expression */
-       ret = lttng_event_get_filter_string(event, &filter_expression);
+       ret = lttng_event_get_filter_expression(event, &filter_expression);
        if (ret) {
                goto end;
        }
This page took 0.024548 seconds and 4 git commands to generate.