summaryrefslogtreecommitdiff
path: root/common/src/tfe_ctrl_packet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'common/src/tfe_ctrl_packet.cpp')
-rw-r--r--common/src/tfe_ctrl_packet.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/common/src/tfe_ctrl_packet.cpp b/common/src/tfe_ctrl_packet.cpp
index 94f4ba5..3cb19cb 100644
--- a/common/src/tfe_ctrl_packet.cpp
+++ b/common/src/tfe_ctrl_packet.cpp
@@ -390,6 +390,16 @@ static int proxy_parse_messagepack(mpack_node_t node, void *ctx, void *logger)
break;
}
}
+
+ mpack_node_t node_session_uuid;
+ uuid_t session_uuid;
+ if (mpack_node_is_nil(mpack_node_map_cstr(node, "session_uuid")))
+ goto done;
+
+ node_session_uuid = mpack_node_map_cstr(node, "session_uuid");
+ if (mpack_parse_uuid(node_session_uuid, session_uuid) != -1)
+ tfe_cmsg_set(handler->cmsg, TFE_CMSG_STREAM_TRACE_ID, (const unsigned char*)session_uuid, UUID_LEN);
+done:
return 0;
}
@@ -570,6 +580,7 @@ void ctrl_packet_parser_dump(struct ctrl_pkt_parser *handler, void *logger)
int map_index = 0;
char *log_str = NULL;
uuid_t tags_ids_array[128];
+ uuid_t session_uuid;
int log_len = 0;
log_str = (char *)calloc(1, LOG_STR_LEN);
@@ -684,6 +695,17 @@ void ctrl_packet_parser_dump(struct ctrl_pkt_parser *handler, void *logger)
}
}
}
+
+ ret = tfe_cmsg_get_value(handler->cmsg, TFE_CMSG_STREAM_TRACE_ID, (unsigned char *)session_uuid, UUID_LEN, &size);
+ if (ret < 0) {
+ log_len += snprintf(log_str + log_len, LOG_STR_LEN - log_len, ", session_uuid:null");
+ }
+ else {
+ char str_session_uuid[UUID_STRING_SIZE] = {0};
+ uuid_unparse(session_uuid, str_session_uuid);
+ log_len += snprintf(log_str + log_len, LOG_STR_LEN - log_len, ", session_uuid:%s", str_session_uuid);
+ }
+
TFE_LOG_DEBUG(logger, "%s", log_str);
free(log_str);
log_str = NULL;