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 <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-CC: laforge <[email protected]>
Gerrit-CC: osmith <[email protected]>