Change in osmo-bsc[master]: implement all_allocated:{static_sdcch, static_tch} rate counters

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

neels gerrit-no-reply at lists.osmocom.org
Wed Nov 10 13:27:45 UTC 2021


neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25975 )

Change subject: implement all_allocated:{static_sdcch,static_tch} rate counters
......................................................................

implement all_allocated:{static_sdcch,static_tch} rate counters

Same as all_allocated:{sdcch,tch}, but already trigger when all
non-dynamic timeslots are allocated.

Related: SYS#4878
Related: Ib3997a827c9cc43d1361bb0cf3bfab9f6d91bf82 (osmo-ttcn3-hacks)
Change-Id: I2fa14531f16d3f07085620f1c50eb839c420da6a
---
M include/osmocom/bsc/bsc_stats.h
M include/osmocom/bsc/bts.h
M include/osmocom/bsc/gsm_data.h
M src/osmo-bsc/bsc_init.c
M src/osmo-bsc/bsc_stats.c
M src/osmo-bsc/bts.c
6 files changed, 82 insertions(+), 0 deletions(-)

Approvals:
  neels: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/include/osmocom/bsc/bsc_stats.h b/include/osmocom/bsc/bsc_stats.h
index 9a2f36c..9140f85 100644
--- a/include/osmocom/bsc/bsc_stats.h
+++ b/include/osmocom/bsc/bsc_stats.h
@@ -82,7 +82,9 @@
 	BSC_CTR_MSCPOOL_EMERG_FORWARDED,
 	BSC_CTR_MSCPOOL_EMERG_LOST,
 	BSC_CTR_ALL_ALLOCATED_SDCCH,
+	BSC_CTR_ALL_ALLOCATED_STATIC_SDCCH,
 	BSC_CTR_ALL_ALLOCATED_TCH,
+	BSC_CTR_ALL_ALLOCATED_STATIC_TCH,
 };
 
 extern const struct rate_ctr_desc bsc_ctr_description[];
diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h
index 8677143..9cf3fa4 100644
--- a/include/osmocom/bsc/bts.h
+++ b/include/osmocom/bsc/bts.h
@@ -159,7 +159,9 @@
 	BTS_CTR_SRVCC_FAILED,
 	BTS_CTR_SRVCC_ERROR,
 	BTS_CTR_ALL_ALLOCATED_SDCCH,
+	BTS_CTR_ALL_ALLOCATED_STATIC_SDCCH,
 	BTS_CTR_ALL_ALLOCATED_TCH,
+	BTS_CTR_ALL_ALLOCATED_STATIC_TCH,
 };
 
 extern const struct rate_ctr_desc bts_ctr_description[];
@@ -594,7 +596,9 @@
 	enum imm_ass_time imm_ass_time;
 
 	struct time_cc all_allocated_sdcch;
+	struct time_cc all_allocated_static_sdcch;
 	struct time_cc all_allocated_tch;
+	struct time_cc all_allocated_static_tch;
 };
 
 #define GSM_BTS_SI2Q(bts, i)   (struct gsm48_system_information_type_2quater *)((bts)->si_buf[SYSINFO_TYPE_2quater][i])
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index 30aab53..2823922 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -1263,7 +1263,9 @@
 	struct smlc_config *smlc;
 
 	struct time_cc all_allocated_sdcch;
+	struct time_cc all_allocated_static_sdcch;
 	struct time_cc all_allocated_tch;
+	struct time_cc all_allocated_static_tch;
 };
 
 struct gsm_audio_support {
diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c
index 11cda69..9328707 100644
--- a/src/osmo-bsc/bsc_init.c
+++ b/src/osmo-bsc/bsc_init.c
@@ -131,6 +131,17 @@
 			.T_defs = net->T_defs,
 		},
 	};
+	net->all_allocated_static_sdcch = (struct time_cc){
+		.cfg = {
+			.gran_usec = 1*1000000,
+			.forget_sum_usec = 60*1000000,
+			.rate_ctr = rate_ctr_group_get_ctr(net->bsc_ctrs, BSC_CTR_ALL_ALLOCATED_STATIC_SDCCH),
+			.T_gran = -16,
+			.T_round_threshold = -17,
+			.T_forget_sum = -18,
+			.T_defs = net->T_defs,
+		},
+	};
 	net->all_allocated_tch = (struct time_cc){
 		.cfg = {
 			.gran_usec = 1*1000000,
@@ -142,6 +153,17 @@
 			.T_defs = net->T_defs,
 		},
 	};
+	net->all_allocated_static_tch = (struct time_cc){
+		.cfg = {
+			.gran_usec = 1*1000000,
+			.forget_sum_usec = 60*1000000,
+			.rate_ctr = rate_ctr_group_get_ctr(net->bsc_ctrs, BSC_CTR_ALL_ALLOCATED_STATIC_TCH),
+			.T_gran = -16,
+			.T_round_threshold = -17,
+			.T_forget_sum = -18,
+			.T_defs = net->T_defs,
+		},
+	};
 
 	INIT_LLIST_HEAD(&net->bts_rejected);
 	gsm_net_update_ctype(net);
diff --git a/src/osmo-bsc/bsc_stats.c b/src/osmo-bsc/bsc_stats.c
index 20ddd37..0da3a6c 100644
--- a/src/osmo-bsc/bsc_stats.c
+++ b/src/osmo-bsc/bsc_stats.c
@@ -104,7 +104,11 @@
 	[BSC_CTR_MSCPOOL_EMERG_LOST] =		{"mscpool:emerg:lost",
 						 "Emergency call requests lost because no MSC was found available"},
 	[BSC_CTR_ALL_ALLOCATED_SDCCH] =		{"all_allocated:sdcch", "Cumulative counter of seconds where all SDCCH channels were allocated"},
+	[BSC_CTR_ALL_ALLOCATED_STATIC_SDCCH] =	{"all_allocated:static_sdcch",
+						 "Cumulative counter of seconds where all non-dynamic SDCCH channels were allocated"},
 	[BSC_CTR_ALL_ALLOCATED_TCH] =		{"all_allocated:tch", "Cumulative counter of seconds where all TCH channels were allocated"},
+	[BSC_CTR_ALL_ALLOCATED_STATIC_TCH] =	{"all_allocated:static_tch",
+						 "Cumulative counter of seconds where all non-dynamic TCH channels were allocated"},
 };
 
 const struct rate_ctr_group_desc bsc_ctrg_desc = {
@@ -215,12 +219,22 @@
 				 bts_counts.val[CHAN_COUNTS1_ALL][CHAN_COUNTS2_MAX_TOTAL][GSM_LCHAN_SDCCH]
 				 && !bts_counts.val[CHAN_COUNTS1_ALL][CHAN_COUNTS2_FREE][GSM_LCHAN_SDCCH]);
 
+		time_cc_set_flag(&bts->all_allocated_static_sdcch,
+				 bts_counts.val[CHAN_COUNTS1_STATIC][CHAN_COUNTS2_MAX_TOTAL][GSM_LCHAN_SDCCH]
+				 && !bts_counts.val[CHAN_COUNTS1_STATIC][CHAN_COUNTS2_FREE][GSM_LCHAN_SDCCH]);
+
 		time_cc_set_flag(&bts->all_allocated_tch,
 				 (bts_counts.val[CHAN_COUNTS1_ALL][CHAN_COUNTS2_MAX_TOTAL][GSM_LCHAN_TCH_F]
 				  + bts_counts.val[CHAN_COUNTS1_ALL][CHAN_COUNTS2_MAX_TOTAL][GSM_LCHAN_TCH_H])
 				 && !(bts_counts.val[CHAN_COUNTS1_ALL][CHAN_COUNTS2_FREE][GSM_LCHAN_TCH_F]
 				      + bts_counts.val[CHAN_COUNTS1_ALL][CHAN_COUNTS2_FREE][GSM_LCHAN_TCH_H]));
 
+		time_cc_set_flag(&bts->all_allocated_static_tch,
+				 (bts_counts.val[CHAN_COUNTS1_STATIC][CHAN_COUNTS2_MAX_TOTAL][GSM_LCHAN_TCH_F]
+				  + bts_counts.val[CHAN_COUNTS1_STATIC][CHAN_COUNTS2_MAX_TOTAL][GSM_LCHAN_TCH_H])
+				 && !(bts_counts.val[CHAN_COUNTS1_STATIC][CHAN_COUNTS2_FREE][GSM_LCHAN_TCH_F]
+				      + bts_counts.val[CHAN_COUNTS1_STATIC][CHAN_COUNTS2_FREE][GSM_LCHAN_TCH_H]));
+
 		chan_counts_add(&bsc_counts, &bts_counts);
 	}
 
@@ -228,9 +242,19 @@
 			 bsc_counts.val[CHAN_COUNTS1_ALL][CHAN_COUNTS2_MAX_TOTAL][GSM_LCHAN_SDCCH]
 			 && !bsc_counts.val[CHAN_COUNTS1_ALL][CHAN_COUNTS2_FREE][GSM_LCHAN_SDCCH]);
 
+	time_cc_set_flag(&net->all_allocated_static_sdcch,
+			 bsc_counts.val[CHAN_COUNTS1_STATIC][CHAN_COUNTS2_MAX_TOTAL][GSM_LCHAN_SDCCH]
+			 && !bsc_counts.val[CHAN_COUNTS1_STATIC][CHAN_COUNTS2_FREE][GSM_LCHAN_SDCCH]);
+
 	time_cc_set_flag(&net->all_allocated_tch,
 			 (bsc_counts.val[CHAN_COUNTS1_ALL][CHAN_COUNTS2_MAX_TOTAL][GSM_LCHAN_TCH_F]
 			  + bsc_counts.val[CHAN_COUNTS1_ALL][CHAN_COUNTS2_MAX_TOTAL][GSM_LCHAN_TCH_H])
 			 && !(bsc_counts.val[CHAN_COUNTS1_ALL][CHAN_COUNTS2_FREE][GSM_LCHAN_TCH_F]
 			      + bsc_counts.val[CHAN_COUNTS1_ALL][CHAN_COUNTS2_FREE][GSM_LCHAN_TCH_H]));
+
+	time_cc_set_flag(&net->all_allocated_static_tch,
+			 (bsc_counts.val[CHAN_COUNTS1_STATIC][CHAN_COUNTS2_MAX_TOTAL][GSM_LCHAN_TCH_F]
+			  + bsc_counts.val[CHAN_COUNTS1_STATIC][CHAN_COUNTS2_MAX_TOTAL][GSM_LCHAN_TCH_H])
+			 && !(bsc_counts.val[CHAN_COUNTS1_STATIC][CHAN_COUNTS2_FREE][GSM_LCHAN_TCH_F]
+			      + bsc_counts.val[CHAN_COUNTS1_STATIC][CHAN_COUNTS2_FREE][GSM_LCHAN_TCH_H]));
 }
diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c
index 880cb22..4dd05a9 100644
--- a/src/osmo-bsc/bts.c
+++ b/src/osmo-bsc/bts.c
@@ -222,6 +222,17 @@
 			.T_defs = net->T_defs,
 		},
 	};
+	bts->all_allocated_static_sdcch = (struct time_cc){
+		.cfg = {
+			.gran_usec = 1*1000000,
+			.forget_sum_usec = 60*1000000,
+			.rate_ctr = rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_ALL_ALLOCATED_STATIC_SDCCH),
+			.T_gran = -16,
+			.T_round_threshold = -17,
+			.T_forget_sum = -18,
+			.T_defs = net->T_defs,
+		},
+	};
 	bts->all_allocated_tch = (struct time_cc){
 		.cfg = {
 			.gran_usec = 1*1000000,
@@ -233,6 +244,17 @@
 			.T_defs = net->T_defs,
 		},
 	};
+	bts->all_allocated_static_tch = (struct time_cc){
+		.cfg = {
+			.gran_usec = 1*1000000,
+			.forget_sum_usec = 60*1000000,
+			.rate_ctr = rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_ALL_ALLOCATED_STATIC_TCH),
+			.T_gran = -16,
+			.T_round_threshold = -17,
+			.T_forget_sum = -18,
+			.T_defs = net->T_defs,
+		},
+	};
 
 	/* create our primary TRX */
 	bts->c0 = gsm_bts_trx_alloc(bts);
@@ -1262,9 +1284,15 @@
 	[BTS_CTR_ALL_ALLOCATED_SDCCH] = \
 		{ "all_allocated:sdcch",
 		  "Cumulative counter of seconds where all SDCCH channels were allocated" },
+	[BTS_CTR_ALL_ALLOCATED_STATIC_SDCCH] = \
+		{ "all_allocated:static_sdcch",
+		  "Cumulative counter of seconds where all non-dynamic SDCCH channels were allocated" },
 	[BTS_CTR_ALL_ALLOCATED_TCH] = \
 		{ "all_allocated:tch",
 		  "Cumulative counter of seconds where all TCH channels were allocated" },
+	[BTS_CTR_ALL_ALLOCATED_STATIC_TCH] = \
+		{ "all_allocated:static_tch",
+		  "Cumulative counter of seconds where all non-dynamic TCH channels were allocated" },
 };
 
 const struct rate_ctr_group_desc bts_ctrg_desc = {

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25975
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I2fa14531f16d3f07085620f1c50eb839c420da6a
Gerrit-Change-Number: 25975
Gerrit-PatchSet: 12
Gerrit-Owner: neels <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: neels <nhofmeyr at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20211110/41214cf8/attachment.htm>


More information about the gerrit-log mailing list