<p>neels <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/26072">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  neels: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">implement incoming_intra_bsc_ho:* rate counters<br><br>We have lots of counters for intra-BSC handover *away from* a given BTS,<br>but still missing are counters indicating how many handovers *targeted*<br>a given BTS. Also count incoming HO.<br><br>Related: SYS#4878<br>Related: Iba229313d73fa20266f6d4eac5820579fb14c604 (osmo-ttcn3-hacks)<br>Change-Id: Id9f2c6e2865ebe680879018fff08d283ce24c983<br>---<br>M include/osmocom/bsc/bts.h<br>M src/osmo-bsc/bts.c<br>M src/osmo-bsc/handover_fsm.c<br>3 files changed, 34 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h</span><br><span>index 68e7cfe..7e73acd 100644</span><br><span>--- a/include/osmocom/bsc/bts.h</span><br><span>+++ b/include/osmocom/bsc/bts.h</span><br><span>@@ -131,6 +131,13 @@</span><br><span>      BTS_CTR_INTRA_BSC_HO_TIMEOUT,</span><br><span>        BTS_CTR_INTRA_BSC_HO_FAILED,</span><br><span>         BTS_CTR_INTRA_BSC_HO_ERROR,</span><br><span style="color: hsl(120, 100%, 40%);">+   BTS_CTR_INCOMING_INTRA_BSC_HO_ATTEMPTED,</span><br><span style="color: hsl(120, 100%, 40%);">+      BTS_CTR_INCOMING_INTRA_BSC_HO_COMPLETED,</span><br><span style="color: hsl(120, 100%, 40%);">+      BTS_CTR_INCOMING_INTRA_BSC_HO_STOPPED,</span><br><span style="color: hsl(120, 100%, 40%);">+        BTS_CTR_INCOMING_INTRA_BSC_HO_NO_CHANNEL,</span><br><span style="color: hsl(120, 100%, 40%);">+     BTS_CTR_INCOMING_INTRA_BSC_HO_TIMEOUT,</span><br><span style="color: hsl(120, 100%, 40%);">+        BTS_CTR_INCOMING_INTRA_BSC_HO_FAILED,</span><br><span style="color: hsl(120, 100%, 40%);">+ BTS_CTR_INCOMING_INTRA_BSC_HO_ERROR,</span><br><span>         BTS_CTR_INTER_BSC_HO_OUT_ATTEMPTED,</span><br><span>  BTS_CTR_INTER_BSC_HO_OUT_COMPLETED,</span><br><span>  BTS_CTR_INTER_BSC_HO_OUT_STOPPED,</span><br><span>diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c</span><br><span>index ee2e791..83adcc4 100644</span><br><span>--- a/src/osmo-bsc/bts.c</span><br><span>+++ b/src/osmo-bsc/bts.c</span><br><span>@@ -1166,6 +1166,28 @@</span><br><span>              { "intra_bsc_ho:error",</span><br><span>              "Intra-BSC inter-cell HO failed for other reason" },</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+  [BTS_CTR_INCOMING_INTRA_BSC_HO_ATTEMPTED] = \</span><br><span style="color: hsl(120, 100%, 40%);">+         { "incoming_intra_bsc_ho:attempted",</span><br><span style="color: hsl(120, 100%, 40%);">+                  "Incoming intra-BSC inter-cell handover attempts" },</span><br><span style="color: hsl(120, 100%, 40%);">+      [BTS_CTR_INCOMING_INTRA_BSC_HO_COMPLETED] = \</span><br><span style="color: hsl(120, 100%, 40%);">+         { "incoming_intra_bsc_ho:completed",</span><br><span style="color: hsl(120, 100%, 40%);">+                  "Incoming intra-BSC inter-cell handover completed" },</span><br><span style="color: hsl(120, 100%, 40%);">+     [BTS_CTR_INCOMING_INTRA_BSC_HO_STOPPED] = \</span><br><span style="color: hsl(120, 100%, 40%);">+           { "incoming_intra_bsc_ho:stopped",</span><br><span style="color: hsl(120, 100%, 40%);">+            "Connection ended during HO" },</span><br><span style="color: hsl(120, 100%, 40%);">+   [BTS_CTR_INCOMING_INTRA_BSC_HO_NO_CHANNEL] = \</span><br><span style="color: hsl(120, 100%, 40%);">+                { "incoming_intra_bsc_ho:no_channel",</span><br><span style="color: hsl(120, 100%, 40%);">+                 "Failure to allocate lchan for HO" },</span><br><span style="color: hsl(120, 100%, 40%);">+     [BTS_CTR_INCOMING_INTRA_BSC_HO_TIMEOUT] = \</span><br><span style="color: hsl(120, 100%, 40%);">+           { "incoming_intra_bsc_ho:timeout",</span><br><span style="color: hsl(120, 100%, 40%);">+            "Handover timed out" },</span><br><span style="color: hsl(120, 100%, 40%);">+   [BTS_CTR_INCOMING_INTRA_BSC_HO_FAILED] = \</span><br><span style="color: hsl(120, 100%, 40%);">+            { "incoming_intra_bsc_ho:failed",</span><br><span style="color: hsl(120, 100%, 40%);">+             "Received Handover Fail messages" },</span><br><span style="color: hsl(120, 100%, 40%);">+      [BTS_CTR_INCOMING_INTRA_BSC_HO_ERROR] = \</span><br><span style="color: hsl(120, 100%, 40%);">+             { "incoming_intra_bsc_ho:error",</span><br><span style="color: hsl(120, 100%, 40%);">+              "Incoming intra-BSC inter-cell HO failed for other reason" },</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  [BTS_CTR_INTER_BSC_HO_OUT_ATTEMPTED] = \</span><br><span>             { "interbsc_ho_out:attempted",</span><br><span>               "Attempts to handover to remote BSS" },</span><br><span>diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c</span><br><span>index 7cf11cc..37e7417 100644</span><br><span>--- a/src/osmo-bsc/handover_fsm.c</span><br><span>+++ b/src/osmo-bsc/handover_fsm.c</span><br><span>@@ -387,6 +387,7 @@</span><br><span>   } else {</span><br><span>             ho_count(bts, CTR_INTRA_BSC_HO_ATTEMPTED);</span><br><span>           ho_fsm_update_id(fi, "intraBSC");</span><br><span style="color: hsl(120, 100%, 40%);">+           ho_count_bts(ho->new_bts, BTS_CTR_INCOMING_INTRA_BSC_HO_ATTEMPTED);</span><br><span>       }</span><br><span> </span><br><span>        if (!ho->new_lchan) {</span><br><span>@@ -829,6 +830,7 @@</span><br><span> FUNC_RESULT_COUNTER(BTS, HANDOVER)</span><br><span> FUNC_RESULT_COUNTER(BTS, INTRA_CELL_HO)</span><br><span> FUNC_RESULT_COUNTER(BTS, INTRA_BSC_HO)</span><br><span style="color: hsl(120, 100%, 40%);">+FUNC_RESULT_COUNTER(BTS, INCOMING_INTRA_BSC_HO)</span><br><span> FUNC_RESULT_COUNTER(BTS, INTER_BSC_HO_IN)</span><br><span> </span><br><span> /* INTRA_BSC_HO_OUT does not have a NO_CHANNEL result, so can't do this with FUNC_RESULT_COUNTER() macro. */</span><br><span>@@ -1020,6 +1022,9 @@</span><br><span>      ho_count_bsc(result_counter_bsc(ho->scope, result));</span><br><span>      ho_count_bts(bts, result_counter_BTS_HANDOVER(result));</span><br><span>      ho_count_bts(bts, result_counter_bts(ho->scope, result));</span><br><span style="color: hsl(120, 100%, 40%);">+  /* For inter-cell HO, also increment the "INCOMING" counters on the target BTS. */</span><br><span style="color: hsl(120, 100%, 40%);">+  if (ho->scope & HO_INTRA_BSC)</span><br><span style="color: hsl(120, 100%, 40%);">+          ho_count_bts(ho->new_bts, result_counter_BTS_INCOMING_INTRA_BSC_HO(result));</span><br><span>      if (ho->scope & HO_INTER_BSC_IN && conn->fast_return.last_eutran_plmn_valid) {</span><br><span>             /* From outside local BSC and with Last EUTRAN PLMN Id => SRVCC */</span><br><span>                ho_count_bsc(result_counter_BSC_SRVCC(result));</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/26072">change 26072</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-bsc/+/26072"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Id9f2c6e2865ebe680879018fff08d283ce24c983 </div>
<div style="display:none"> Gerrit-Change-Number: 26072 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>