lte: Add new trace RrcTimeout to trace RRC timeouts at eNB

This commit is contained in:
Vignesh Babu
2019-04-12 15:55:47 +02:00
committed by ZorazeAli
parent 5caacaf1b6
commit 74baf6f8ab
2 changed files with 33 additions and 0 deletions

View File

@@ -1835,6 +1835,10 @@ LteEnbRrc::GetTypeId (void)
"trace fired when an UE is released",
MakeTraceSourceAccessor (&LteEnbRrc::m_connectionReleaseTrace),
"ns3::LteEnbRrc::ConnectionHandoverTracedCallback")
.AddTraceSource ("RrcTimeout",
"trace fired when a timer expires",
MakeTraceSourceAccessor (&LteEnbRrc::m_rrcTimeoutTrace),
"ns3::LteEnbRrc::TimerExpiryTracedCallback")
;
return tid;
}
@@ -2313,6 +2317,8 @@ LteEnbRrc::ConnectionRequestTimeout (uint16_t rnti)
NS_LOG_FUNCTION (this << rnti);
NS_ASSERT_MSG (GetUeManager (rnti)->GetState () == UeManager::INITIAL_RANDOM_ACCESS,
"ConnectionRequestTimeout in unexpected state " << ToString (GetUeManager (rnti)->GetState ()));
m_rrcTimeoutTrace (GetUeManager (rnti)->GetImsi (), rnti,
ComponentCarrierToCellId (GetUeManager (rnti)->GetComponentCarrierId ()), "ConnectionRequestTimeout");
RemoveUe (rnti);
}
@@ -2322,6 +2328,8 @@ LteEnbRrc::ConnectionSetupTimeout (uint16_t rnti)
NS_LOG_FUNCTION (this << rnti);
NS_ASSERT_MSG (GetUeManager (rnti)->GetState () == UeManager::CONNECTION_SETUP,
"ConnectionSetupTimeout in unexpected state " << ToString (GetUeManager (rnti)->GetState ()));
m_rrcTimeoutTrace (GetUeManager (rnti)->GetImsi (), rnti,
ComponentCarrierToCellId (GetUeManager (rnti)->GetComponentCarrierId ()), "ConnectionSetupTimeout");
RemoveUe (rnti);
}
@@ -2331,6 +2339,8 @@ LteEnbRrc::ConnectionRejectedTimeout (uint16_t rnti)
NS_LOG_FUNCTION (this << rnti);
NS_ASSERT_MSG (GetUeManager (rnti)->GetState () == UeManager::CONNECTION_REJECTED,
"ConnectionRejectedTimeout in unexpected state " << ToString (GetUeManager (rnti)->GetState ()));
m_rrcTimeoutTrace (GetUeManager (rnti)->GetImsi (), rnti,
ComponentCarrierToCellId (GetUeManager (rnti)->GetComponentCarrierId ()), "ConnectionRejectedTimeout");
RemoveUe (rnti);
}
@@ -2340,6 +2350,8 @@ LteEnbRrc::HandoverJoiningTimeout (uint16_t rnti)
NS_LOG_FUNCTION (this << rnti);
NS_ASSERT_MSG (GetUeManager (rnti)->GetState () == UeManager::HANDOVER_JOINING,
"HandoverJoiningTimeout in unexpected state " << ToString (GetUeManager (rnti)->GetState ()));
m_rrcTimeoutTrace (GetUeManager (rnti)->GetImsi (), rnti,
ComponentCarrierToCellId (GetUeManager (rnti)->GetComponentCarrierId ()), "HandoverJoiningTimeout");
RemoveUe (rnti);
}
@@ -2349,6 +2361,8 @@ LteEnbRrc::HandoverLeavingTimeout (uint16_t rnti)
NS_LOG_FUNCTION (this << rnti);
NS_ASSERT_MSG (GetUeManager (rnti)->GetState () == UeManager::HANDOVER_LEAVING,
"HandoverLeavingTimeout in unexpected state " << ToString (GetUeManager (rnti)->GetState ()));
m_rrcTimeoutTrace (GetUeManager (rnti)->GetImsi (), rnti,
ComponentCarrierToCellId (GetUeManager (rnti)->GetComponentCarrierId ()), "HandoverLeavingTimeout");
RemoveUe (rnti);
}

View File

@@ -1085,6 +1085,19 @@ public:
(const uint64_t imsi, const uint16_t cellId, const uint16_t rnti,
const LteRrcSap::MeasurementReport report);
/**
* TracedCallback signature for timer expiry events
*
* \param [in] imsi
* \param [in] rnti
* \param [in] cellId
* \param [in] cause
*/
typedef void (*TimerExpiryTracedCallback)
(const uint64_t imsi, const uint16_t rnti, const uint16_t cellId,
const std::string cause);
private:
@@ -1665,6 +1678,12 @@ private:
*
*/
TracedCallback<uint64_t, uint16_t, uint16_t> m_connectionReleaseTrace;
/**
* The 'TimerExpiry' Trace source. Fired when any of the RRC timers maintained
* at eNB expires. Exporting IMSI, cell ID, and RNTI and name of timer
* which expired.
*/
TracedCallback<uint64_t, uint16_t, uint16_t, std::string> m_rrcTimeoutTrace;
uint16_t m_numberOfComponentCarriers; ///< number of component carriers