Merge "res_pjsip_outbound_registration.c: Filter redundant statsd reporting." into 14

changes/58/4558/1
zuul 9 years ago committed by Gerrit Code Review
commit d78ebce67e

@ -25,6 +25,12 @@ res_pjproject
* Added new pjproject.conf startup section "log_level' option to set the * Added new pjproject.conf startup section "log_level' option to set the
initial maximum PJPROJECT logging level. initial maximum PJPROJECT logging level.
res_pjsip_outbound_registration
------------------
* Statsd no longer logs redundant status PJSIP.registrations.state changes
for internal state transitions that don't change the reported public status
state.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
--- Functionality changes from Asterisk 14.1.0 to Asterisk 14.2.0 ------------ --- Functionality changes from Asterisk 14.1.0 to Asterisk 14.2.0 ------------
------------------------------------------------------------------------------ ------------------------------------------------------------------------------

@ -627,15 +627,30 @@ static void schedule_registration(struct sip_outbound_registration_client_state
static void update_client_state_status(struct sip_outbound_registration_client_state *client_state, enum sip_outbound_registration_status status) static void update_client_state_status(struct sip_outbound_registration_client_state *client_state, enum sip_outbound_registration_status status)
{ {
const char *status_old;
const char *status_new;
if (client_state->status == status) { if (client_state->status == status) {
/* Status state did not change at all. */
return;
}
status_old = sip_outbound_registration_status_str(client_state->status);
status_new = sip_outbound_registration_status_str(status);
client_state->status = status;
if (!strcmp(status_old, status_new)) {
/*
* The internal status state may have changed but the status
* state we tell the world did not change at all.
*/
return; return;
} }
ast_statsd_log_string_va("PJSIP.registrations.state.%s", AST_STATSD_GAUGE, "-1", 1.0, ast_statsd_log_string_va("PJSIP.registrations.state.%s", AST_STATSD_GAUGE, "-1", 1.0,
sip_outbound_registration_status_str(client_state->status)); status_old);
ast_statsd_log_string_va("PJSIP.registrations.state.%s", AST_STATSD_GAUGE, "+1", 1.0, ast_statsd_log_string_va("PJSIP.registrations.state.%s", AST_STATSD_GAUGE, "+1", 1.0,
sip_outbound_registration_status_str(status)); status_new);
client_state->status = status;
} }
/*! \brief Callback function for unregistering (potentially) and destroying state */ /*! \brief Callback function for unregistering (potentially) and destroying state */

Loading…
Cancel
Save