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));