daniel has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/41310?usp=email ) Change subject: Add rate counters for loadshare-tcap ...................................................................... Add rate counters for loadshare-tcap * Track TCAP decoding success/failure by AS * Track ASP selection success/failure for loadshare-tcap Related: SYS#5423 Change-Id: Id67704991feacf54e3123f76e9506dd323b2498b --- M src/ss7_as.c M src/ss7_as.h M src/tcap_as_loadshare.c 3 files changed, 25 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/ss7_as.c b/src/ss7_as.c index 98a9057..808047d 100644 --- a/src/ss7_as.c +++ b/src/ss7_as.c @@ -98,6 +98,13 @@ [SS7_AS_CTR_TX_MSU_SLS_13] = { "tx:msu:sls:13", SS7_AS_CTR_TX_MSU_SLS_STR "13" }, [SS7_AS_CTR_TX_MSU_SLS_14] = { "tx:msu:sls:14", SS7_AS_CTR_TX_MSU_SLS_STR "14" }, [SS7_AS_CTR_TX_MSU_SLS_15] = { "tx:msu:sls:15", SS7_AS_CTR_TX_MSU_SLS_STR "15" }, +#ifdef WITH_TCAP_LOADSHARING + [SS7_AS_CTR_RX_TCAP_DECODED] = { "tcap:decoded", "Number of TCAP-messages decoded successfully (loadshare-tcap)" }, + [SS7_AS_CTR_RX_TCAP_FAILED] = { "tcap:failed", "Number of TCAP-messages that failed decoding (loadshare-tcap)" }, + [SS7_AS_CTR_TCAP_ASP_SELECTED] = { "tcap:asp:selected", "ASP selection successful for a TCAP-message (loadshare-tcap)" }, + [SS7_AS_CTR_TCAP_ASP_FALLBACK] = { "tcap:asp:fallback", "Fallback ASP selected for a TCAP-message (loadshare-tcap)" }, + [SS7_AS_CTR_TCAP_ASP_FAILED] = { "tcap:asp:failed", "ASP selection failed for a TCAP-message (loadshare-tcap)" }, +#endif /* WITH_TCAP_LOADSHARING */ }; static const struct rate_ctr_group_desc ss7_as_rcgd = { diff --git a/src/ss7_as.h b/src/ss7_as.h index 18210ec..b787a92 100644 --- a/src/ss7_as.h +++ b/src/ss7_as.h @@ -63,6 +63,13 @@ SS7_AS_CTR_TX_MSU_SLS_13, SS7_AS_CTR_TX_MSU_SLS_14, SS7_AS_CTR_TX_MSU_SLS_15, +#ifdef WITH_TCAP_LOADSHARING + SS7_AS_CTR_RX_TCAP_DECODED, + SS7_AS_CTR_RX_TCAP_FAILED, + SS7_AS_CTR_TCAP_ASP_SELECTED, + SS7_AS_CTR_TCAP_ASP_FALLBACK, + SS7_AS_CTR_TCAP_ASP_FAILED, +#endif /* WITH_TCAP_LOADSHARING */ }; #define NUM_AS_EXT_SLS 128 diff --git a/src/tcap_as_loadshare.c b/src/tcap_as_loadshare.c index 157685e..dea56f8 100644 --- a/src/tcap_as_loadshare.c +++ b/src/tcap_as_loadshare.c @@ -26,6 +26,7 @@ #include <osmocom/core/byteswap.h> #include <osmocom/core/linuxlist.h> #include <osmocom/core/logging.h> +#include <osmocom/core/rate_ctr.h> #include <osmocom/core/talloc.h> #include <osmocom/netif/ipa.h> @@ -511,10 +512,12 @@ LOGPAS(as, DLSS7, LOGL_DEBUG, "TCAP: decoded rc=%d otid=%u dtid=%u\n", rc, parsed.otid, parsed.dtid); if (rc <= 0) { + rate_ctr_inc2(as->ctrg, SS7_AS_CTR_RX_TCAP_FAILED); LOGPAS(as, DLSS7, LOGL_ERROR, "TCAP: failed get otid/dtid.\n"); rc = -EINVAL; goto out_free_sua; } + rate_ctr_inc2(as->ctrg, SS7_AS_CTR_RX_TCAP_DECODED); /* TCAP messages towards the IPA nodes */ switch (parsed.present) { @@ -527,11 +530,16 @@ /* lookup a new ASP */ asp = tcap_as_asp_find_by_tcap_id(as, &calling_addr, &called_addr, parsed.otid); - /* if no ASP found for this TCAP, try to find a non-tcap-range ASP as fallback*/ - if (!asp) { + if (asp) { + rate_ctr_inc2(as->ctrg, SS7_AS_CTR_TCAP_ASP_SELECTED); + } else { + /* if no ASP found for this TCAP, try to find a non-tcap-range ASP as fallback*/ asp = find_asp_no_tcap_range(as); - if (!asp) { + if (asp) + rate_ctr_inc2(as->ctrg, SS7_AS_CTR_TCAP_ASP_FALLBACK); + else { /* couldn't find a suitable canditate for OTID */ + rate_ctr_inc2(as->ctrg, SS7_AS_CTR_TCAP_ASP_FAILED); LOGPAS(as, DLSS7, LOGL_DEBUG, "TCAP: couldn't find a suitable canditate for otid %u\n", parsed.otid); rc = -ENOKEY; goto out_free_sua; -- To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/41310?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: libosmo-sigtran Gerrit-Branch: master Gerrit-Change-Id: Id67704991feacf54e3123f76e9506dd323b2498b Gerrit-Change-Number: 41310 Gerrit-PatchSet: 19 Gerrit-Owner: lynxis lazus <lynxis@fe80.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel <dwillmann@sysmocom.de> Gerrit-Reviewer: pespin <pespin@sysmocom.de> Gerrit-CC: laforge <laforge@osmocom.org> Gerrit-CC: osmith <osmith@sysmocom.de>