res_chan_stats: Fix bug to send correct statistics to StatsD

Fixed a bug that originally would show a negative number of
active calls occuring in Asterisk. A gauge is persistent so
incrementing and decrementing it results in a more consistent
performance. Also changed to the call to StatsD to use
ast_statsd_log_string() so that a "+" could be sent to StatsD.

ASTERISK-25619 #close

Change-Id: Iaaeff5c4c6a46535366b4d16ea0ed0ee75ab2ee7
This commit is contained in:
tcambron
2015-12-09 09:48:29 -06:00
committed by Mark Michelson
parent 142d4fefb8
commit cd119ed4a2

View File

@@ -111,7 +111,7 @@ static void updates(void *data, struct stasis_subscription *sub,
if (!update->old_snapshot && update->new_snapshot) {
/* Initial cache entry; count a channel creation */
ast_statsd_log("channels.count", AST_STATSD_COUNTER, 1);
ast_statsd_log_string("channels.count", AST_STATSD_GAUGE, "+1", 1.0);
} else if (update->old_snapshot && !update->new_snapshot) {
/* Cache entry removed. Compute the age of the channel and post
* that, as well as decrementing the channel count.
@@ -125,7 +125,7 @@ static void updates(void *data, struct stasis_subscription *sub,
ast_statsd_log("channels.calltime", AST_STATSD_TIMER, age);
/* And decrement the channel count */
ast_statsd_log("channels.count", AST_STATSD_COUNTER, -1);
ast_statsd_log_string("channels.count", AST_STATSD_GAUGE, "-1", 1.0);
}
}