forked from acouzens/open5gs
Log and print UEs/eNBs/sessions stats (#303)
This commit is contained in:
parent
da242e6734
commit
ee80d1f996
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue