From 21c013edd500fc9eb8794355c9e8336e4ca77ed1 Mon Sep 17 00:00:00 2001 From: Razvan Crainea Date: Wed, 21 Aug 2019 12:05:32 +0300 Subject: [PATCH] Revert "dialog: Fix broken stats after a restart+reload" This reverts commit aa2f534e18dc0830a160bb90d4cc3a116386953d. --- modules/dialog/dialog.c | 7 +++++++ modules/dialog/dlg_db_handler.c | 8 ++++++++ modules/dialog/dlg_replication.c | 3 +++ 3 files changed, 18 insertions(+) diff --git a/modules/dialog/dialog.c b/modules/dialog/dialog.c index 6157e2ad19..f847d15a5e 100644 --- a/modules/dialog/dialog.c +++ b/modules/dialog/dialog.c @@ -94,6 +94,8 @@ int race_condition_timeout = 5; /* seconds until call termination is triggered, /* statistic variables */ int dlg_enable_stats = 1; +int active_dlgs_cnt = 0; +int early_dlgs_cnt = 0; int db_flush_vp = 0; stat_var *active_dlgs = 0; stat_var *processed_dlgs = 0; @@ -912,6 +914,11 @@ static int mod_init(void) static int child_init(int rank) { + if (rank==1) { + if_update_stat(dlg_enable_stats, active_dlgs, active_dlgs_cnt); + if_update_stat(dlg_enable_stats, early_dlgs, early_dlgs_cnt); + } + if ( (dlg_db_mode==DB_MODE_REALTIME && (rank>=PROC_MAIN||rank==PROC_MODULE)) || (dlg_db_mode==DB_MODE_SHUTDOWN && (rank==PROC_MAIN||rank==PROC_MODULE)) || diff --git a/modules/dialog/dlg_db_handler.c b/modules/dialog/dlg_db_handler.c index 62b0f8b418..93b1143024 100644 --- a/modules/dialog/dlg_db_handler.c +++ b/modules/dialog/dlg_db_handler.c @@ -77,6 +77,8 @@ int dlg_db_mode = DB_MODE_NONE; static db_con_t* dialog_db_handle = 0; /* database connection handle */ static db_func_t dialog_dbf; +extern int active_dlgs_cnt; +extern int early_dlgs_cnt; extern int dlg_bulk_del_no; static inline void set_final_update_cols(db_val_t *, struct dlg_cell *, int); @@ -603,6 +605,12 @@ static int load_dialog_info_from_db(int dlg_hash_size) dlg->start_ts = VAL_INT(values+6); dlg->state = VAL_INT(values+7); + if (dlg->state==DLG_STATE_CONFIRMED_NA || + dlg->state==DLG_STATE_CONFIRMED) { + active_dlgs_cnt++; + } else if (dlg->state==DLG_STATE_EARLY) { + early_dlgs_cnt++; + } GET_STR_VALUE(cseq1, values, 9 , 1, 1); GET_STR_VALUE(cseq2, values, 10 , 1, 1); diff --git a/modules/dialog/dlg_replication.c b/modules/dialog/dlg_replication.c index 5fb86d839d..41624c7986 100644 --- a/modules/dialog/dlg_replication.c +++ b/modules/dialog/dlg_replication.c @@ -34,6 +34,9 @@ #include "../../resolve.h" #include "../../forward.h" +extern int active_dlgs_cnt; +extern int early_dlgs_cnt; + extern stat_var *processed_dlgs; extern stat_var *create_sent;