Log and print UEs/eNBs/sessions stats (#303)

This commit is contained in:
Spencer Sevilla 2019-11-04 22:23:33 -08:00 committed by Sukchan Lee
parent da242e6734
commit ee80d1f996
4 changed files with 75 additions and 0 deletions

View File

@ -49,6 +49,41 @@ static OGS_POOL(mme_bearer_pool, mme_bearer_t);
static int context_initialized = 0;
int num_ues = 0;
int num_enbs = 0;
int num_mme_sessions = 0;
void stats_add_ue(void) {
num_ues = num_ues + 1;
ogs_info("Added a UE. Number of UEs is now %d", num_ues);
}
void stats_remove_ue(void) {
num_ues = num_ues - 1;
ogs_info("Removed a UE. Number of UEs is now %d", num_ues);
}
void stats_add_enb(void) {
num_enbs = num_enbs + 1;
ogs_info("Added a UE. Number of eNBs is now %d", num_enbs);
}
void stats_remove_enb(void) {
num_enbs = num_enbs - 1;
ogs_info("Removed a UE. Number of eNBs is now %d", num_enbs);
}
void stats_add_mme_session(void) {
num_mme_sessions = num_mme_sessions + 1;
ogs_info("Added a session. Number of sessions is now %d", num_mme_sessions);
}
void stats_remove_mme_session(void) {
num_mme_sessions = num_mme_sessions - 1;
ogs_info("Removed a session. Number of sessions is now %d", num_mme_sessions);
}
void mme_context_init()
{
ogs_assert(context_initialized == 0);
@ -1864,6 +1899,8 @@ mme_enb_t *mme_enb_add(ogs_sock_t *sock, ogs_sockaddr_t *addr)
ogs_list_add(&self.enb_list, enb);
stats_add_enb();
return enb;
}
@ -1894,6 +1931,8 @@ int mme_enb_remove(mme_enb_t *enb)
ogs_pool_free(&mme_enb_pool, enb);
stats_remove_enb();
return OGS_OK;
}
@ -1979,6 +2018,8 @@ enb_ue_t *enb_ue_add(mme_enb_t *enb)
sizeof(enb_ue->mme_ue_s1ap_id), enb_ue);
ogs_list_add(&enb->enb_ue_list, enb_ue);
stats_add_ue();
return enb_ue;
}
@ -2004,6 +2045,8 @@ void enb_ue_remove(enb_ue_t *enb_ue)
ogs_hash_set(self.mme_ue_s1ap_id_hash, &enb_ue->mme_ue_s1ap_id,
sizeof(enb_ue->mme_ue_s1ap_id), NULL);
stats_remove_ue();
ogs_pool_free(&enb_ue_pool, enb_ue);
}
@ -2550,6 +2593,8 @@ mme_sess_t *mme_sess_add(mme_ue_t *mme_ue, uint8_t pti)
ogs_list_add(&mme_ue->sess_list, sess);
stats_add_mme_session();
return sess;
}
@ -2566,6 +2611,8 @@ void mme_sess_remove(mme_sess_t *sess)
OGS_TLV_CLEAR_DATA(&sess->pgw_pco);
ogs_pool_free(&mme_sess_pool, sess);
stats_remove_mme_session();
}
void mme_sess_remove_all(mme_ue_t *mme_ue)

View File

@ -791,6 +791,16 @@ int mme_m_tmsi_free(mme_m_tmsi_t *tmsi);
uint8_t mme_selected_int_algorithm(mme_ue_t *mme_ue);
uint8_t mme_selected_enc_algorithm(mme_ue_t *mme_ue);
void stats_add_ue(void);
void stats_remove_ue(void);
void stats_add_enb(void);
void stats_remove_enb(void);
void stats_add_mme_session(void);
void stats_remove_mme_session(void);
#ifdef __cplusplus
}
#endif

View File

@ -34,6 +34,17 @@ static OGS_POOL(pgw_pf_pool, pgw_pf_t);
static int context_initiaized = 0;
int num_sessions = 0;
void stats_add_session(void) {
num_sessions = num_sessions + 1;
ogs_info("Added a session. Number of active sessions is now %d", num_sessions);
}
void stats_remove_session(void) {
num_sessions = num_sessions - 1;
ogs_info("Removed a session. Number of active sessions is now %d", num_sessions);
}
void pgw_context_init(void)
{
ogs_assert(context_initiaized == 0);
@ -769,6 +780,8 @@ pgw_sess_t *pgw_sess_add(
sess->ipv6 ? INET6_NTOP(&sess->ipv6->addr, buf2) : "");
ogs_list_add(&self.sess_list, sess);
stats_add_session();
return sess;
}
@ -788,6 +801,8 @@ int pgw_sess_remove(pgw_sess_t *sess)
ogs_pool_free(&pgw_sess_pool, sess);
stats_remove_session();
return OGS_OK;
}

View File

@ -273,6 +273,9 @@ void pgw_subnet_remove_all(void);
pgw_subnet_t *pgw_subnet_first(void);
pgw_subnet_t *gw_subnet_next(pgw_subnet_t *subnet);
void stats_add_session(void);
void stats_remove_session(void);
#ifdef __cplusplus
}
#endif