Added session debugger module for debugging session messages
This commit is contained in:
@@ -228,7 +228,7 @@ static void packet_io_config_print(const struct packet_io_config *cfg)
|
||||
PACKET_IO_LOG_INFO("packet_io.nr_worker_thread : %d", cfg->nr_worker_thread);
|
||||
for (uint16_t i = 0; i < cfg->nr_worker_thread; i++)
|
||||
{
|
||||
PACKET_IO_LOG_INFO("packet_io.cpu_mask[%03d] : %d", i, cfg->cpu_mask[i]);
|
||||
PACKET_IO_LOG_INFO("packet_io.cpu_mask[%03d] : %d", i, cfg->cpu_mask[i]);
|
||||
}
|
||||
PACKET_IO_LOG_INFO("packet_io.idle_yield_interval_ms : %lu", cfg->idle_yield_interval_ms);
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
#define PACKET_MANAGER_LOG_ERROR(format, ...) STELLAR_LOG_ERROR(__thread_local_logger, "packet manager", format, ##__VA_ARGS__)
|
||||
#define PACKET_MANAGER_LOG_DEBUG(format, ...) STELLAR_LOG_DEBUG(__thread_local_logger, "packet manager", format, ##__VA_ARGS__)
|
||||
#define PACKET_MANAGER_LOG_INFO(format, ...) STELLAR_LOG_WARN(__thread_local_logger, "packet manager", format, ##__VA_ARGS__)
|
||||
#define PACKET_MANAGER_LOG_FATAL(format, ...) STELLAR_LOG_FATAL(__thread_local_logger, "packet manager", format, ##__VA_ARGS__)
|
||||
|
||||
TAILQ_HEAD(packet_queue, packet);
|
||||
|
||||
@@ -468,7 +468,7 @@ struct stellar_module *packet_manager_on_init(struct stellar_module_manager *mod
|
||||
}
|
||||
stellar_module_set_ctx(pkt_mgr_mod, pkt_mgr);
|
||||
|
||||
PACKET_MANAGER_LOG_INFO("packet_manager initialized");
|
||||
PACKET_MANAGER_LOG_FATAL("packet_manager initialized");
|
||||
return pkt_mgr_mod;
|
||||
}
|
||||
|
||||
@@ -480,6 +480,6 @@ void packet_manager_on_exit(struct stellar_module_manager *mod_mgr __attribute__
|
||||
|
||||
packet_manager_free(pkt_mgr);
|
||||
stellar_module_free(mod);
|
||||
PACKET_MANAGER_LOG_INFO("packet_manager exited");
|
||||
PACKET_MANAGER_LOG_FATAL("packet_manager exited");
|
||||
}
|
||||
}
|
||||
@@ -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