Added session debugger module for debugging session messages
This commit is contained in:
@@ -305,6 +305,7 @@ void session_manager_free(struct session_manager *sess_mgr)
|
||||
clean_session(sess_mgr_rt, UINT64_MAX);
|
||||
}
|
||||
|
||||
session_manager_runtime_print_stat(sess_mgr_rt);
|
||||
session_manager_runtime_free(sess_mgr->runtime[i]);
|
||||
}
|
||||
|
||||
@@ -320,7 +321,7 @@ struct session_manager *session_manager_new(struct stellar_polling_manager *poll
|
||||
assert(mq_schema);
|
||||
assert(toml_file);
|
||||
|
||||
uint16_t thread_num;
|
||||
uint64_t thread_num;
|
||||
uint64_t instance_id;
|
||||
uint64_t now_ms = clock_get_real_time_ms();
|
||||
|
||||
@@ -354,7 +355,7 @@ struct session_manager *session_manager_new(struct stellar_polling_manager *poll
|
||||
goto error_out;
|
||||
}
|
||||
|
||||
sess_mgr->thread_num = thread_num;
|
||||
sess_mgr->thread_num = (uint16_t)thread_num;
|
||||
for (int i = 0; i < sess_mgr->thread_num; i++)
|
||||
{
|
||||
sess_mgr->cfg->session_id_seed = instance_id << 8 | i;
|
||||
@@ -448,7 +449,7 @@ struct stellar_module *session_manager_on_init(struct stellar_module_manager *mo
|
||||
}
|
||||
stellar_module_set_ctx(sess_mgr_mod, sess_mgr);
|
||||
|
||||
SESSION_MANAGER_LOG_INFO("session_manager initialized");
|
||||
SESSION_MANAGER_LOG_FATAL("session_manager initialized");
|
||||
return sess_mgr_mod;
|
||||
}
|
||||
|
||||
@@ -460,6 +461,6 @@ void session_manager_on_exit(struct stellar_module_manager *mod_mgr __attribute_
|
||||
|
||||
session_manager_free(sess_mgr);
|
||||
stellar_module_free(mod);
|
||||
SESSION_MANAGER_LOG_ERROR("session_manager exited");
|
||||
SESSION_MANAGER_LOG_FATAL("session_manager exited");
|
||||
}
|
||||
}
|
||||
@@ -1292,23 +1292,23 @@ void session_manager_runtime_print_stat(struct session_manager_runtime *sess_mgr
|
||||
struct session_manager_stat *stat = &sess_mgr_rt->stat;
|
||||
|
||||
// TCP session
|
||||
SESSION_MANAGER_LOG_INFO("TCP session: history=%lu, used=%lu, opening=%lu, active=%lu, closing=%lu, discard=%lu, closed=%lu",
|
||||
stat->history_tcp_sessions, stat->tcp_sess_used, stat->tcp_sess_opening, stat->tcp_sess_active,
|
||||
SESSION_MANAGER_LOG_INFO("runtime[%p] => TCP session: history=%lu, used=%lu, opening=%lu, active=%lu, closing=%lu, discard=%lu, closed=%lu",
|
||||
sess_mgr_rt, stat->history_tcp_sessions, stat->tcp_sess_used, stat->tcp_sess_opening, stat->tcp_sess_active,
|
||||
stat->tcp_sess_closing, stat->tcp_sess_discard, stat->tcp_sess_closed);
|
||||
// UDP session
|
||||
SESSION_MANAGER_LOG_INFO("UDP session: history=%lu, used=%lu, opening=%lu, active=%lu, closing=%lu, discard=%lu, closed=%lu",
|
||||
stat->history_udp_sessions, stat->udp_sess_used, stat->udp_sess_opening, stat->udp_sess_active,
|
||||
SESSION_MANAGER_LOG_INFO("runtime[%p] => UDP session: history=%lu, used=%lu, opening=%lu, active=%lu, closing=%lu, discard=%lu, closed=%lu",
|
||||
sess_mgr_rt, stat->history_udp_sessions, stat->udp_sess_used, stat->udp_sess_opening, stat->udp_sess_active,
|
||||
stat->udp_sess_closing, stat->udp_sess_discard, stat->udp_sess_closed);
|
||||
// evicted session
|
||||
SESSION_MANAGER_LOG_INFO("evicted session: TCP=%lu, UDP=%lu", stat->tcp_sess_evicted, stat->udp_sess_evicted);
|
||||
SESSION_MANAGER_LOG_INFO("runtime[%p] => evicted session: TCP=%lu, UDP=%lu", sess_mgr_rt, stat->tcp_sess_evicted, stat->udp_sess_evicted);
|
||||
// Bypassed packet
|
||||
SESSION_MANAGER_LOG_INFO("bypassed TCP packet: table_full=%lu, session_not_found=%lu, duplicated=%lu",
|
||||
stat->tcp_pkts_bypass_table_full, stat->tcp_pkts_bypass_session_not_found, stat->tcp_pkts_bypass_duplicated);
|
||||
SESSION_MANAGER_LOG_INFO("bypassed UDP packet: table_full=%lu, session_evicted=%lu, duplicated=%lu",
|
||||
stat->udp_pkts_bypass_table_full, stat->udp_pkts_bypass_session_evicted, stat->udp_pkts_bypass_duplicated);
|
||||
SESSION_MANAGER_LOG_INFO("runtime[%p] => bypassed TCP packet: table_full=%lu, session_not_found=%lu, duplicated=%lu",
|
||||
sess_mgr_rt, stat->tcp_pkts_bypass_table_full, stat->tcp_pkts_bypass_session_not_found, stat->tcp_pkts_bypass_duplicated);
|
||||
SESSION_MANAGER_LOG_INFO("runtime[%p] => bypassed UDP packet: table_full=%lu, session_evicted=%lu, duplicated=%lu",
|
||||
sess_mgr_rt, stat->udp_pkts_bypass_table_full, stat->udp_pkts_bypass_session_evicted, stat->udp_pkts_bypass_duplicated);
|
||||
// TCP segment
|
||||
SESSION_MANAGER_LOG_INFO("TCP segment: input=%lu, consumed=%lu, timeout=%lu, retransmited=%lu, overlapped=%lu, omitted_too_many=%lu, inorder=%lu, reordered=%lu, buffered=%lu, freed=%lu",
|
||||
stat->tcp_segs_input, stat->tcp_segs_consumed, stat->tcp_segs_timeout, stat->tcp_segs_retransmited,
|
||||
SESSION_MANAGER_LOG_INFO("runtime[%p] => TCP segment: input=%lu, consumed=%lu, timeout=%lu, retransmited=%lu, overlapped=%lu, omitted_too_many=%lu, inorder=%lu, reordered=%lu, buffered=%lu, freed=%lu",
|
||||
sess_mgr_rt, stat->tcp_segs_input, stat->tcp_segs_consumed, stat->tcp_segs_timeout, stat->tcp_segs_retransmited,
|
||||
stat->tcp_segs_overlapped, stat->tcp_segs_omitted_too_many, stat->tcp_segs_inorder, stat->tcp_segs_reordered,
|
||||
stat->tcp_segs_buffered, stat->tcp_segs_freed);
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ extern "C"
|
||||
#include "tuple.h"
|
||||
#include "stellar/session.h"
|
||||
|
||||
#define SESSION_MANAGER_LOG_FATAL(format, ...) STELLAR_LOG_FATAL(__thread_local_logger, "session manager", format, ##__VA_ARGS__)
|
||||
#define SESSION_MANAGER_LOG_ERROR(format, ...) STELLAR_LOG_ERROR(__thread_local_logger, "session manager", format, ##__VA_ARGS__)
|
||||
#define SESSION_MANAGER_LOG_DEBUG(format, ...) STELLAR_LOG_DEBUG(__thread_local_logger, "session manager", format, ##__VA_ARGS__)
|
||||
#define SESSION_MANAGER_LOG_INFO(format, ...) STELLAR_LOG_INFO(__thread_local_logger, "session manager", format, ##__VA_ARGS__)
|
||||
|
||||
Reference in New Issue
Block a user