From: Jonathan Rajotte Date: Mon, 25 Apr 2022 17:44:15 +0000 (-0400) Subject: CLI: Add trace format output to listing X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;h=5140b048e5def4d0962cc127c9fc49ad5762c430;p=deliverable%2Flttng-tools.git CLI: Add trace format output to listing Signed-off-by: Jonathan Rajotte Change-Id: I5a11609b342db97e82b5f33481d086b32b48ccc1 --- diff --git a/src/bin/lttng/commands/list.cpp b/src/bin/lttng/commands/list.cpp index 8636cd101..0ecdddbe7 100644 --- a/src/bin/lttng/commands/list.cpp +++ b/src/bin/lttng/commands/list.cpp @@ -2129,13 +2129,40 @@ static int list_sessions(const char *session_name) for (i = 0; i < count; i++) { if (session_name != NULL) { if (strncmp(sessions[i].name, session_name, NAME_MAX) == 0) { + uint64_t major, minor; + lttng_trace_format_descriptor_status tf_status; + struct lttng_trace_format_descriptor *trace_format_descriptor = NULL; session_found = 1; MSG("Recording session %s: [%s%s]", session_name, active_string(sessions[i].enabled), snapshot_string(sessions[i].snapshot_mode)); if (*sessions[i].path) { - MSG("%sTrace output: %s\n", indent4, sessions[i].path); + MSG("%sTrace output: %s", indent4, sessions[i].path); } + + lttng_session_get_trace_format_descriptor(&sessions[i], &trace_format_descriptor); + lttng_trace_format_descriptor_type format_type = lttng_trace_format_get_type(trace_format_descriptor); + switch (format_type) { + case LTTNG_TRACE_FORMAT_DESCRIPTOR_TYPE_CTF_1: + tf_status = lttng_trace_format_ctf_1_get_version(trace_format_descriptor, &major, &minor); + break; + case LTTNG_TRACE_FORMAT_DESCRIPTOR_TYPE_CTF_2: + tf_status = lttng_trace_format_ctf_2_get_version(trace_format_descriptor, &major, &minor); + break; + default: + tf_status = LTTNG_TRACE_FORMAT_DESCRIPTOR_STATUS_INVALID; + break; + } + + lttng_trace_format_descriptor_destroy(trace_format_descriptor); + if (tf_status != LTTNG_TRACE_FORMAT_DESCRIPTOR_STATUS_OK) { + ERR("Session '%s' not found", session_name); + ret = CMD_ERROR; + goto end; + } + + MSG("%sTrace format: CTF %" PRIu64 ".%" PRIu64"\n", indent4, major, minor); + memcpy(&the_listed_session, &sessions[i], sizeof(the_listed_session));