CLI: Add trace format mi to session mi
[lttng-tools.git] / src / common / mi-lttng.cpp
index 01e89b779811a62be5da524148ba41b21f3cb71a..5600e2ad4643dc0bac61c97fa9dac80371817bcf 100644 (file)
@@ -14,7 +14,7 @@
 #include <common/tracker.hpp>
 #include <lttng/channel.h>
 #include <lttng/snapshot-internal.hpp>
-
+#include <lttng/trace-format-descriptor-internal.hpp>
 
 #define MI_SCHEMA_MAJOR_VERSION 4
 #define MI_SCHEMA_MINOR_VERSION 1
@@ -1022,6 +1022,8 @@ int mi_lttng_session(struct mi_writer *writer,
                struct lttng_session *session, int is_open)
 {
        int ret;
+       lttng_error_code ret_code;
+       struct lttng_trace_format_descriptor *trace_format_descriptor = nullptr;
 
        LTTNG_ASSERT(session);
 
@@ -1068,11 +1070,25 @@ int mi_lttng_session(struct mi_writer *writer,
                goto end;
        }
 
+       ret_code = lttng_session_get_trace_format_descriptor(session, &trace_format_descriptor);
+       if (ret_code != LTTNG_OK) {
+               ret = -1;
+               goto end;
+       }
+
+       ret_code = reinterpret_cast<lttng::trace_format_descriptor *>(trace_format_descriptor)
+                                  ->mi_serialize(writer);
+       if (ret_code != LTTNG_OK) {
+               ret = -1;
+               goto end;
+       }
+
        if (!is_open) {
                /* Closing session element */
                ret = mi_lttng_writer_close_element(writer);
        }
 end:
+       lttng_trace_format_descriptor_destroy(trace_format_descriptor);
        return ret;
 
 }
This page took 0.024434 seconds and 5 git commands to generate.