Merge "res_pjsip_outbound_registration.c: Filter redundant statsd reporting."
This commit is contained in:
commit
8bd9dc568a
6
CHANGES
6
CHANGES
|
@ -79,6 +79,12 @@ res_pjproject
|
|||
* Added new pjproject.conf startup section "log_level' option to set the
|
||||
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 ------------
|
||||
------------------------------------------------------------------------------
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
const char *status_old;
|
||||
const char *status_new;
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
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,
|
||||
sip_outbound_registration_status_str(status));
|
||||
client_state->status = status;
|
||||
status_new);
|
||||
}
|
||||
|
||||
/*! \brief Callback function for unregistering (potentially) and destroying state */
|
||||
|
|
Loading…
Reference in New Issue