Browse Source

modules_k/tmx: Add active_transactions statistics

An active transaction is a transaction that is still waiting for a reply.
If it has seen a reply but is existing just to collect retransmissions,
it is not counted (in contrast to inuse_transactions).
Alex Hermann 14 years ago
parent
commit
d5898510ad
1 changed files with 8 additions and 0 deletions
  1. 8 0
      modules_k/tmx/tmx_mod.c

+ 8 - 0
modules_k/tmx/tmx_mod.c

@@ -90,6 +90,7 @@ unsigned long tmx_stats_trans_4xx(void);
 unsigned long tmx_stats_trans_5xx(void);
 unsigned long tmx_stats_trans_6xx(void);
 unsigned long tmx_stats_trans_inuse(void);
+unsigned long tmx_stats_trans_active(void);
 #if 0
 unsigned long tmx_stats_rcv_rpls(void);
 unsigned long tmx_stats_rld_rpls(void);
@@ -105,6 +106,7 @@ static stat_export_t mod_stats[] = {
 	{"5xx_transactions" ,    STAT_IS_FUNC, (stat_var**)tmx_stats_trans_5xx   },
 	{"6xx_transactions" ,    STAT_IS_FUNC, (stat_var**)tmx_stats_trans_6xx   },
 	{"inuse_transactions" ,  STAT_IS_FUNC, (stat_var**)tmx_stats_trans_inuse },
+	{"active_transactions" , STAT_IS_FUNC, (stat_var**)tmx_stats_trans_active},
 #if 0
 	{"received_replies" ,    STAT_IS_FUNC, (stat_var**)tmx_stats_rcv_rpls    },
 	{"relayed_replies" ,     STAT_IS_FUNC, (stat_var**)tmx_stats_rld_rpls    },
@@ -653,6 +655,12 @@ unsigned long tmx_stats_trans_inuse(void)
 	return (_tmx_stats_all.transactions - _tmx_stats_all.deleted);
 }
 
+unsigned long tmx_stats_trans_active(void)
+{
+	tmx_stats_update();
+	return (_tmx_stats_all.transactions - _tmx_stats_all.waiting);
+}
+
 #if 0
 unsigned long tmx_stats_rcv_rpls(void)
 {