A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::RadioBearerStatsCalculator Class Reference

This class is an ns-3 trace sink that performs the calculation of PDU statistics for uplink and downlink. More...

#include <radio-bearer-stats-calculator.h>

+ Inheritance diagram for ns3::RadioBearerStatsCalculator:
+ Collaboration diagram for ns3::RadioBearerStatsCalculator:

Public Member Functions

 RadioBearerStatsCalculator ()
 Class constructor. More...
 
 RadioBearerStatsCalculator (std::string protocolType)
 Class constructor. More...
 
virtual ~RadioBearerStatsCalculator ()
 Class destructor. More...
 
void DlRxPdu (uint16_t cellId, uint64_t imsi, uint16_t rnti, uint8_t lcid, uint32_t packetSize, uint64_t delay)
 Notifies the stats calculator that an downlink reception has occurred. More...
 
void DlTxPdu (uint16_t cellId, uint64_t imsi, uint16_t rnti, uint8_t lcid, uint32_t packetSize)
 Notifies the stats calculator that an downlink transmission has occurred. More...
 
void DoDispose ()
 This method is called by Object::Dispose or by the object's destructor, whichever comes first. More...
 
uint32_t GetDlCellId (uint64_t imsi, uint8_t lcid)
 Gets the attached Enb cellId. More...
 
double GetDlDelay (uint64_t imsi, uint8_t lcid)
 Gets the downlink RLC to RLC delay. More...
 
std::vector< double > GetDlDelayStats (uint64_t imsi, uint8_t lcid)
 Gets the downlink RLC to RLC statistics: average, min, max and standard deviation. More...
 
std::string GetDlOutputFilename (void)
 Get the name of the file where the downlink statistics will be stored. More...
 
std::string GetDlPdcpOutputFilename (void)
 Get the name of the file where the downlink PDCP statistics will be stored. More...
 
std::vector< double > GetDlPduSizeStats (uint64_t imsi, uint8_t lcid)
 Gets the downlink PDU size statistics: average, min, max and standard deviation. More...
 
uint64_t GetDlRxData (uint64_t imsi, uint8_t lcid)
 Gets the number of received downlink data bytes. More...
 
uint32_t GetDlRxPackets (uint64_t imsi, uint8_t lcid)
 Gets the number of received downlink data bytes. More...
 
uint64_t GetDlTxData (uint64_t imsi, uint8_t lcid)
 Gets the number of transmitted downlink data bytes. More...
 
uint32_t GetDlTxPackets (uint64_t imsi, uint8_t lcid)
 Gets the number of transmitted downlink data bytes. More...
 
Time GetEpoch () const
 
Time GetStartTime () const
 
uint32_t GetUlCellId (uint64_t imsi, uint8_t lcid)
 Gets the attached Enb cellId. More...
 
double GetUlDelay (uint64_t imsi, uint8_t lcid)
 Gets the uplink RLC to RLC delay. More...
 
std::vector< double > GetUlDelayStats (uint64_t imsi, uint8_t lcid)
 Gets the uplink RLC to RLC statistics: average, min, max and standard deviation. More...
 
std::string GetUlOutputFilename (void)
 Get the name of the file where the uplink statistics will be stored. More...
 
std::string GetUlPdcpOutputFilename (void)
 Get the name of the file where the uplink PDCP statistics will be stored. More...
 
std::vector< double > GetUlPduSizeStats (uint64_t imsi, uint8_t lcid)
 Gets the uplink PDU size statistics: average, min, max and standard deviation. More...
 
uint64_t GetUlRxData (uint64_t imsi, uint8_t lcid)
 Gets the number of received uplink data bytes. More...
 
uint32_t GetUlRxPackets (uint64_t imsi, uint8_t lcid)
 Gets the number of received uplink packets. More...
 
uint64_t GetUlTxData (uint64_t imsi, uint8_t lcid)
 Gets the number of transmitted uplink data bytes. More...
 
uint32_t GetUlTxPackets (uint64_t imsi, uint8_t lcid)
 Gets the number of transmitted uplink packets. More...
 
void SetDlPdcpOutputFilename (std::string outputFilename)
 Set the name of the file where the downlink PDCP statistics will be stored. More...
 
void SetEpoch (Time e)
 
void SetStartTime (Time t)
 
void SetUlPdcpOutputFilename (std::string outputFilename)
 Set the name of the file where the uplink PDCP statistics will be stored. More...
 
void UlRxPdu (uint16_t cellId, uint64_t imsi, uint16_t rnti, uint8_t lcid, uint32_t packetSize, uint64_t delay)
 Notifies the stats calculator that an uplink reception has occurred. More...
 
void UlTxPdu (uint16_t cellId, uint64_t imsi, uint16_t rnti, uint8_t lcid, uint32_t packetSize)
 Notifies the stats calculator that an uplink transmission has occurred. More...
 
- Public Member Functions inherited from ns3::LteStatsCalculator
 LteStatsCalculator ()
 Constructor. More...
 
virtual ~LteStatsCalculator ()
 Destructor. More...
 
bool ExistsCellIdPath (std::string path)
 Checks if there is an already stored cell id for the given path. More...
 
bool ExistsImsiPath (std::string path)
 Checks if there is an already stored IMSI for the given path. More...
 
uint16_t GetCellIdPath (std::string path)
 Retrieves the cell id information for the given path. More...
 
std::string GetDlOutputFilename (void)
 Get the name of the file where the downlink statistics will be stored. More...
 
uint64_t GetImsiPath (std::string path)
 Retrieves the imsi information for the given path. More...
 
std::string GetUlOutputFilename (void)
 Get the name of the file where the uplink statistics will be stored. More...
 
void SetCellIdPath (std::string path, uint16_t cellId)
 Stores the (path, cellId) pairs in a map. More...
 
void SetDlOutputFilename (std::string outputFilename)
 Set the name of the file where the downlink statistics will be stored. More...
 
void SetImsiPath (std::string path, uint64_t imsi)
 Stores the (path, imsi) pairs in a map. More...
 
void SetUlOutputFilename (std::string outputFilename)
 Set the name of the file where the uplink statistics will be stored. More...
 
- Public Member Functions inherited from ns3::Object
 Object ()
 
virtual ~Object ()
 
void AggregateObject (Ptr< Object > other)
 
void Dispose (void)
 Run the DoDispose methods of this object and all the objects aggregated to it. More...
 
AggregateIterator GetAggregateIterator (void) const
 
virtual TypeId GetInstanceTypeId (void) const
 
template<typename T >
Ptr< T > GetObject (void) const
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 
void Initialize (void)
 This method calls the virtual DoInitialize method on all the objects aggregated to this object. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
void GetAttribute (std::string name, AttributeValue &value) const
 
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
 
void SetAttribute (std::string name, const AttributeValue &value)
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 

Static Public Member Functions

static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::LteStatsCalculator
static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 Noop. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Private Member Functions

void EndEpoch (void)
 
void RescheduleEndEpoch ()
 
void ResetResults (void)
 
void ShowResults (void)
 
void WriteDlResults (std::ofstream &outFile)
 
void WriteUlResults (std::ofstream &outFile)
 

Private Attributes

Uint32Map m_dlCellId
 
Uint64StatsMap m_dlDelay
 
std::string m_dlPdcpOutputFilename
 
Uint32StatsMap m_dlPduSize
 
Uint64Map m_dlRxData
 
Uint32Map m_dlRxPackets
 
Uint64Map m_dlTxData
 
Uint32Map m_dlTxPackets
 
EventId m_endEpochEvent
 
Time m_epochDuration
 Epoch duration. More...
 
bool m_firstWrite
 true if output files have not been opened yet More...
 
FlowIdMap m_flowId
 
bool m_pendingOutput
 true if any output is pending More...
 
std::string m_protocolType
 
Time m_startTime
 Start time of the on going epoch. More...
 
Uint32Map m_ulCellId
 
Uint64StatsMap m_ulDelay
 
std::string m_ulPdcpOutputFilename
 
Uint32StatsMap m_ulPduSize
 
Uint64Map m_ulRxData
 
Uint32Map m_ulRxPackets
 
Uint64Map m_ulTxData
 
Uint32Map m_ulTxPackets
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 
virtual void DoInitialize (void)
 This method is called only once by Object::Initialize. More...
 
virtual void NotifyNewAggregate (void)
 This method is invoked whenever two sets of objects are aggregated together. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 
virtual void NotifyConstructionCompleted (void)
 This method is invoked once all member attributes have been initialized. More...
 
- Static Protected Member Functions inherited from ns3::LteStatsCalculator
static uint16_t FindCellIdFromEnbMac (std::string path, uint16_t rnti)
 
static uint16_t FindCellIdFromEnbRlcPath (std::string path)
 
static uint64_t FindImsiForEnb (std::string path, uint16_t rnti)
 
static uint64_t FindImsiForUe (std::string path, uint16_t rnti)
 
static uint64_t FindImsiFromEnbMac (std::string path, uint16_t rnti)
 
static uint64_t FindImsiFromEnbRlcPath (std::string path)
 
static uint64_t FindImsiFromLteNetDevice (std::string path)
 
static uint64_t FindImsiFromUePhy (std::string path)
 

Detailed Description

This class is an ns-3 trace sink that performs the calculation of PDU statistics for uplink and downlink.

Doxygen introspection did not find any typical Config paths.

Statistics are generated on a per radio bearer basis. This class can be used for RLC PDU stats or PDCP PDU stats by connecting to the appropriate trace sources at the RLC or PDCP layer.

The statistics are calculated at consecutive time windows and periodically written to a file. The calculated statistics are:

  • Number of transmitted PDUs
  • Number of received PDUs
  • Number of transmitted bytes
  • Number of received bytes
  • Average, min, max and standard deviation of PDU delay (delay is calculated from the generation of the PDU to its reception)
  • Average, min, max and standard deviation of PDU size


Attributes

  • StartTime: Start time of the on going epoch.
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +0.0ns
    • Flags: construct write read
  • EpochDuration: Epoch duration.
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +250000000.0ns
    • Flags: construct write read
  • DlRlcOutputFilename: Name of the file where the downlink results will be saved.
    • Set with class: StringValue
    • Underlying type: std::string
    • Initial value: DlRlcStats.txt
    • Flags: construct write
  • UlRlcOutputFilename: Name of the file where the uplink results will be saved.
    • Set with class: StringValue
    • Underlying type: std::string
    • Initial value: UlRlcStats.txt
    • Flags: construct write
  • DlPdcpOutputFilename: Name of the file where the downlink results will be saved.
    • Set with class: StringValue
    • Underlying type: std::string
    • Initial value: DlPdcpStats.txt
    • Flags: construct write
  • UlPdcpOutputFilename: Name of the file where the uplink results will be saved.
    • Set with class: StringValue
    • Underlying type: std::string
    • Initial value: UlPdcpStats.txt
    • Flags: construct write

No TraceSources are defined for this type.

Definition at line 63 of file radio-bearer-stats-calculator.h.

Constructor & Destructor Documentation

ns3::RadioBearerStatsCalculator::RadioBearerStatsCalculator ( )

Class constructor.

Definition at line 38 of file radio-bearer-stats-calculator.cc.

References NS_LOG_FUNCTION.

ns3::RadioBearerStatsCalculator::RadioBearerStatsCalculator ( std::string  protocolType)

Class constructor.

Definition at line 46 of file radio-bearer-stats-calculator.cc.

References m_protocolType, and NS_LOG_FUNCTION.

ns3::RadioBearerStatsCalculator::~RadioBearerStatsCalculator ( )
virtual

Class destructor.

Definition at line 54 of file radio-bearer-stats-calculator.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

void ns3::RadioBearerStatsCalculator::DlRxPdu ( uint16_t  cellId,
uint64_t  imsi,
uint16_t  rnti,
uint8_t  lcid,
uint32_t  packetSize,
uint64_t  delay 
)

Notifies the stats calculator that an downlink reception has occurred.

Parameters
cellIdCellId of the attached Enb
imsiIMSI of the UE who received the PDU
rntiC-RNTI of the UE who received the PDU
lcidLCID through which the PDU has been transmitted
packetSizesize of the PDU in bytes
delayRLC to RLC delay in nanoseconds

Definition at line 191 of file radio-bearer-stats-calculator.cc.

References m_dlCellId, m_dlDelay, m_dlPduSize, m_dlRxData, m_dlRxPackets, ns3::ImsiLcidPair_t::m_imsi, ns3::ImsiLcidPair_t::m_lcId, m_pendingOutput, m_startTime, ns3::Simulator::Now(), NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by ns3::LteSimpleHelperDlRxPduCallback().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RadioBearerStatsCalculator::DlTxPdu ( uint16_t  cellId,
uint64_t  imsi,
uint16_t  rnti,
uint8_t  lcid,
uint32_t  packetSize 
)

Notifies the stats calculator that an downlink transmission has occurred.

Parameters
cellIdCellId of the attached Enb
imsiIMSI of the UE who is receiving the PDU
rntiC-RNTI of the UE who is receiving the PDU
lcidLCID through which the PDU has been transmitted
packetSizesize of the PDU in bytes

Definition at line 151 of file radio-bearer-stats-calculator.cc.

References m_dlCellId, m_dlTxData, m_dlTxPackets, m_flowId, m_pendingOutput, m_startTime, ns3::Simulator::Now(), and NS_LOG_FUNCTION.

Referenced by ns3::LteSimpleHelperDlTxPduCallback().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RadioBearerStatsCalculator::DoDispose ( void  )
virtual

This method is called by Object::Dispose or by the object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.

It is safe to call GetObject from within this method.

Reimplemented from ns3::Object.

Definition at line 100 of file radio-bearer-stats-calculator.cc.

References m_pendingOutput, NS_LOG_FUNCTION, and ShowResults().

+ Here is the call graph for this function:

void ns3::RadioBearerStatsCalculator::EndEpoch ( void  )
private

Definition at line 393 of file radio-bearer-stats-calculator.cc.

References m_endEpochEvent, m_epochDuration, m_startTime, NS_LOG_FUNCTION, ResetResults(), ns3::Simulator::Schedule(), and ShowResults().

Referenced by RescheduleEndEpoch().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint32_t ns3::RadioBearerStatsCalculator::GetDlCellId ( uint64_t  imsi,
uint8_t  lcid 
)

Gets the attached Enb cellId.

Parameters
imsiIMSI of the UE
lcidLCID
Returns
Enb cellId

Definition at line 536 of file radio-bearer-stats-calculator.cc.

References m_dlCellId, and NS_LOG_FUNCTION.

Referenced by WriteDlResults().

+ Here is the caller graph for this function:

double ns3::RadioBearerStatsCalculator::GetDlDelay ( uint64_t  imsi,
uint8_t  lcid 
)

Gets the downlink RLC to RLC delay.

Parameters
imsiIMSI of the UE
lcidLCID
Returns
RLC to RLC delay in seconds

Definition at line 544 of file radio-bearer-stats-calculator.cc.

References m_dlDelay, NS_LOG_ERROR, and NS_LOG_FUNCTION.

std::vector< double > ns3::RadioBearerStatsCalculator::GetDlDelayStats ( uint64_t  imsi,
uint8_t  lcid 
)

Gets the downlink RLC to RLC statistics: average, min, max and standard deviation.

Parameters
imsiIMSI of the UE
lcidLCID
Returns
RLC to RLC delay statistics average, min, max and standard deviation in seconds

Definition at line 558 of file radio-bearer-stats-calculator.cc.

References m_dlDelay, and NS_LOG_FUNCTION.

Referenced by WriteDlResults().

+ Here is the caller graph for this function:

std::string ns3::RadioBearerStatsCalculator::GetDlOutputFilename ( void  )

Get the name of the file where the downlink statistics will be stored.

Returns
the name of the file where the downlink statistics will be stored

Definition at line 617 of file radio-bearer-stats-calculator.cc.

References ns3::LteStatsCalculator::GetDlOutputFilename(), GetDlPdcpOutputFilename(), and m_protocolType.

Referenced by ShowResults().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::string ns3::RadioBearerStatsCalculator::GetDlPdcpOutputFilename ( void  )

Get the name of the file where the downlink PDCP statistics will be stored.

Returns
the name of the file where the downlink PDCP statistics will be stored

Definition at line 647 of file radio-bearer-stats-calculator.cc.

References m_dlPdcpOutputFilename.

Referenced by GetDlOutputFilename().

+ Here is the caller graph for this function:

std::vector< double > ns3::RadioBearerStatsCalculator::GetDlPduSizeStats ( uint64_t  imsi,
uint8_t  lcid 
)

Gets the downlink PDU size statistics: average, min, max and standard deviation.

Parameters
imsiIMSI of the UE
lcidLCID
Returns
PDU size statistics average, min, max and standard deviation in seconds

Definition at line 581 of file radio-bearer-stats-calculator.cc.

References m_dlPduSize, and NS_LOG_FUNCTION.

Referenced by WriteDlResults().

+ Here is the caller graph for this function:

uint64_t ns3::RadioBearerStatsCalculator::GetDlRxData ( uint64_t  imsi,
uint8_t  lcid 
)

Gets the number of received downlink data bytes.

Parameters
imsiIMSI of the UE
lcidLCID
Returns
number of received data bytes

Definition at line 520 of file radio-bearer-stats-calculator.cc.

References m_dlRxData, and NS_LOG_FUNCTION.

Referenced by LenaFdMtFfMacSchedulerTestCase::DoRun(), LenaTtaFfMacSchedulerTestCase::DoRun(), LenaTdMtFfMacSchedulerTestCase::DoRun(), and WriteDlResults().

+ Here is the caller graph for this function:

uint32_t ns3::RadioBearerStatsCalculator::GetDlRxPackets ( uint64_t  imsi,
uint8_t  lcid 
)

Gets the number of received downlink data bytes.

Parameters
imsiIMSI of the UE
lcidLCID
Returns
number of received data bytes

Definition at line 504 of file radio-bearer-stats-calculator.cc.

References m_dlRxPackets, and NS_LOG_FUNCTION.

Referenced by WriteDlResults().

+ Here is the caller graph for this function:

uint64_t ns3::RadioBearerStatsCalculator::GetDlTxData ( uint64_t  imsi,
uint8_t  lcid 
)

Gets the number of transmitted downlink data bytes.

Parameters
imsiIMSI of the UE
lcidLCID
Returns
number of transmitted data bytes

Definition at line 512 of file radio-bearer-stats-calculator.cc.

References m_dlTxData, and NS_LOG_FUNCTION.

Referenced by WriteDlResults().

+ Here is the caller graph for this function:

uint32_t ns3::RadioBearerStatsCalculator::GetDlTxPackets ( uint64_t  imsi,
uint8_t  lcid 
)

Gets the number of transmitted downlink data bytes.

Parameters
imsiIMSI of the UE
lcidLCID
Returns
number of transmitted data bytes

Definition at line 496 of file radio-bearer-stats-calculator.cc.

References m_dlTxPackets, and NS_LOG_FUNCTION.

Referenced by WriteDlResults().

+ Here is the caller graph for this function:

Time ns3::RadioBearerStatsCalculator::GetEpoch ( ) const
Returns
the epoch duration

Definition at line 130 of file radio-bearer-stats-calculator.cc.

References m_epochDuration.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

Time ns3::RadioBearerStatsCalculator::GetStartTime ( ) const
Returns
the value of the StartTime attribute

Definition at line 117 of file radio-bearer-stats-calculator.cc.

References m_startTime.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

uint32_t ns3::RadioBearerStatsCalculator::GetUlCellId ( uint64_t  imsi,
uint8_t  lcid 
)

Gets the attached Enb cellId.

Parameters
imsiIMSI of the UE
lcidLCID
Returns
Enb cellId

Definition at line 528 of file radio-bearer-stats-calculator.cc.

References m_ulCellId, and NS_LOG_FUNCTION.

Referenced by WriteUlResults().

+ Here is the caller graph for this function:

double ns3::RadioBearerStatsCalculator::GetUlDelay ( uint64_t  imsi,
uint8_t  lcid 
)

Gets the uplink RLC to RLC delay.

Parameters
imsiIMSI of the UE
lcidLCID
Returns
RLC to RLC delay in seconds

Definition at line 435 of file radio-bearer-stats-calculator.cc.

References m_ulDelay, NS_LOG_ERROR, and NS_LOG_FUNCTION.

std::vector< double > ns3::RadioBearerStatsCalculator::GetUlDelayStats ( uint64_t  imsi,
uint8_t  lcid 
)

Gets the uplink RLC to RLC statistics: average, min, max and standard deviation.

Parameters
imsiIMSI of the UE
lcidLCID
Returns
RLC to RLC delay statistics average, min, max and standard deviation in seconds

Definition at line 450 of file radio-bearer-stats-calculator.cc.

References m_ulDelay, and NS_LOG_FUNCTION.

Referenced by WriteUlResults().

+ Here is the caller graph for this function:

std::string ns3::RadioBearerStatsCalculator::GetUlOutputFilename ( void  )

Get the name of the file where the uplink statistics will be stored.

Returns
the name of the file where the uplink statistics will be stored

Definition at line 604 of file radio-bearer-stats-calculator.cc.

References ns3::LteStatsCalculator::GetUlOutputFilename(), GetUlPdcpOutputFilename(), and m_protocolType.

Referenced by ShowResults().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::string ns3::RadioBearerStatsCalculator::GetUlPdcpOutputFilename ( void  )

Get the name of the file where the uplink PDCP statistics will be stored.

Returns
the name of the file where the uplink PDCP statistics will be stored

Definition at line 636 of file radio-bearer-stats-calculator.cc.

References m_ulPdcpOutputFilename.

Referenced by GetUlOutputFilename().

+ Here is the caller graph for this function:

std::vector< double > ns3::RadioBearerStatsCalculator::GetUlPduSizeStats ( uint64_t  imsi,
uint8_t  lcid 
)

Gets the uplink PDU size statistics: average, min, max and standard deviation.

Parameters
imsiIMSI of the UE
lcidLCID
Returns
PDU size statistics average, min, max and standard deviation in seconds

Definition at line 473 of file radio-bearer-stats-calculator.cc.

References m_ulPduSize, and NS_LOG_FUNCTION.

Referenced by WriteUlResults().

+ Here is the caller graph for this function:

uint64_t ns3::RadioBearerStatsCalculator::GetUlRxData ( uint64_t  imsi,
uint8_t  lcid 
)

Gets the number of received uplink data bytes.

Parameters
imsiIMSI of the UE
lcidLCID
Returns
number of received data bytes

Definition at line 427 of file radio-bearer-stats-calculator.cc.

References m_ulRxData, and NS_LOG_FUNCTION.

Referenced by LenaFdMtFfMacSchedulerTestCase::DoRun(), LenaTtaFfMacSchedulerTestCase::DoRun(), LenaTdMtFfMacSchedulerTestCase::DoRun(), and WriteUlResults().

+ Here is the caller graph for this function:

uint32_t ns3::RadioBearerStatsCalculator::GetUlRxPackets ( uint64_t  imsi,
uint8_t  lcid 
)

Gets the number of received uplink packets.

Parameters
imsiIMSI of the UE
lcidLCID
Returns
number of received uplink packets

Definition at line 411 of file radio-bearer-stats-calculator.cc.

References m_ulRxPackets, and NS_LOG_FUNCTION.

Referenced by WriteUlResults().

+ Here is the caller graph for this function:

uint64_t ns3::RadioBearerStatsCalculator::GetUlTxData ( uint64_t  imsi,
uint8_t  lcid 
)

Gets the number of transmitted uplink data bytes.

Parameters
imsiIMSI of the UE
lcidLCID
Returns
number of transmitted data bytes

Definition at line 419 of file radio-bearer-stats-calculator.cc.

References m_ulTxData, and NS_LOG_FUNCTION.

Referenced by WriteUlResults().

+ Here is the caller graph for this function:

uint32_t ns3::RadioBearerStatsCalculator::GetUlTxPackets ( uint64_t  imsi,
uint8_t  lcid 
)

Gets the number of transmitted uplink packets.

Parameters
imsiIMSI of the UE
lcidLCID
Returns
number of transmitted uplink packets

Definition at line 403 of file radio-bearer-stats-calculator.cc.

References m_ulTxPackets, and NS_LOG_FUNCTION.

Referenced by WriteUlResults().

+ Here is the caller graph for this function:

void ns3::RadioBearerStatsCalculator::RescheduleEndEpoch ( void  )
private

Definition at line 384 of file radio-bearer-stats-calculator.cc.

References ns3::EventId::Cancel(), EndEpoch(), m_endEpochEvent, m_epochDuration, m_startTime, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_FUNCTION, and ns3::Simulator::Schedule().

Referenced by SetEpoch(), and SetStartTime().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RadioBearerStatsCalculator::ResetResults ( void  )
private

Definition at line 364 of file radio-bearer-stats-calculator.cc.

References m_dlDelay, m_dlPduSize, m_dlRxData, m_dlRxPackets, m_dlTxData, m_dlTxPackets, m_ulDelay, m_ulPduSize, m_ulRxData, m_ulRxPackets, m_ulTxData, m_ulTxPackets, and NS_LOG_FUNCTION.

Referenced by EndEpoch().

+ Here is the caller graph for this function:

void ns3::RadioBearerStatsCalculator::SetDlPdcpOutputFilename ( std::string  outputFilename)

Set the name of the file where the downlink PDCP statistics will be stored.

Parameters
outputFilenamestring with the name of the file

Definition at line 641 of file radio-bearer-stats-calculator.cc.

References m_dlPdcpOutputFilename.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

void ns3::RadioBearerStatsCalculator::SetEpoch ( Time  e)
Parameters
ethe epoch duration

Definition at line 123 of file radio-bearer-stats-calculator.cc.

References m_epochDuration, and RescheduleEndEpoch().

Referenced by GetTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RadioBearerStatsCalculator::SetStartTime ( Time  t)
Parameters
tthe value of the StartTime attribute

Definition at line 110 of file radio-bearer-stats-calculator.cc.

References m_startTime, and RescheduleEndEpoch().

Referenced by GetTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RadioBearerStatsCalculator::SetUlPdcpOutputFilename ( std::string  outputFilename)

Set the name of the file where the uplink PDCP statistics will be stored.

Parameters
outputFilenamestring with the name of the file

Definition at line 630 of file radio-bearer-stats-calculator.cc.

References m_ulPdcpOutputFilename.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

void ns3::RadioBearerStatsCalculator::ShowResults ( void  )
private

Definition at line 215 of file radio-bearer-stats-calculator.cc.

References GetDlOutputFilename(), GetUlOutputFilename(), m_firstWrite, m_pendingOutput, NS_LOG_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, WriteDlResults(), and WriteUlResults().

Referenced by DoDispose(), and EndEpoch().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RadioBearerStatsCalculator::UlRxPdu ( uint16_t  cellId,
uint64_t  imsi,
uint16_t  rnti,
uint8_t  lcid,
uint32_t  packetSize,
uint64_t  delay 
)

Notifies the stats calculator that an uplink reception has occurred.

Parameters
cellIdCellId of the attached Enb
imsiIMSI of the UE who received the PDU
rntiC-RNTI of the UE who received the PDU
lcidLCID through which the PDU has been received
packetSizesize of the PDU in bytes
delayRLC to RLC delay in nanoseconds

Definition at line 166 of file radio-bearer-stats-calculator.cc.

References ns3::ImsiLcidPair_t::m_imsi, ns3::ImsiLcidPair_t::m_lcId, m_pendingOutput, m_startTime, m_ulCellId, m_ulDelay, m_ulPduSize, m_ulRxData, m_ulRxPackets, ns3::Simulator::Now(), NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by ns3::LteSimpleHelperUlRxPduCallback().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RadioBearerStatsCalculator::UlTxPdu ( uint16_t  cellId,
uint64_t  imsi,
uint16_t  rnti,
uint8_t  lcid,
uint32_t  packetSize 
)

Notifies the stats calculator that an uplink transmission has occurred.

Parameters
cellIdCellId of the attached Enb
imsiIMSI of the UE who transmitted the PDU
rntiC-RNTI of the UE who transmitted the PDU
lcidLCID through which the PDU has been transmitted
packetSizesize of the PDU in bytes

Definition at line 136 of file radio-bearer-stats-calculator.cc.

References m_flowId, m_pendingOutput, m_startTime, m_ulCellId, m_ulTxData, m_ulTxPackets, ns3::Simulator::Now(), and NS_LOG_FUNCTION.

Referenced by ns3::LteSimpleHelperUlTxPduCallback().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RadioBearerStatsCalculator::WriteDlResults ( std::ofstream &  outFile)
private
void ns3::RadioBearerStatsCalculator::WriteUlResults ( std::ofstream &  outFile)
private

Member Data Documentation

Uint32Map ns3::RadioBearerStatsCalculator::m_dlCellId
private

Definition at line 357 of file radio-bearer-stats-calculator.h.

Referenced by DlRxPdu(), DlTxPdu(), and GetDlCellId().

Uint64StatsMap ns3::RadioBearerStatsCalculator::m_dlDelay
private
std::string ns3::RadioBearerStatsCalculator::m_dlPdcpOutputFilename
private
Uint32StatsMap ns3::RadioBearerStatsCalculator::m_dlPduSize
private

Definition at line 363 of file radio-bearer-stats-calculator.h.

Referenced by DlRxPdu(), GetDlPduSizeStats(), and ResetResults().

Uint64Map ns3::RadioBearerStatsCalculator::m_dlRxData
private

Definition at line 361 of file radio-bearer-stats-calculator.h.

Referenced by DlRxPdu(), GetDlRxData(), and ResetResults().

Uint32Map ns3::RadioBearerStatsCalculator::m_dlRxPackets
private

Definition at line 359 of file radio-bearer-stats-calculator.h.

Referenced by DlRxPdu(), GetDlRxPackets(), and ResetResults().

Uint64Map ns3::RadioBearerStatsCalculator::m_dlTxData
private

Definition at line 360 of file radio-bearer-stats-calculator.h.

Referenced by DlTxPdu(), GetDlTxData(), and ResetResults().

Uint32Map ns3::RadioBearerStatsCalculator::m_dlTxPackets
private
EventId ns3::RadioBearerStatsCalculator::m_endEpochEvent
private

Definition at line 353 of file radio-bearer-stats-calculator.h.

Referenced by EndEpoch(), and RescheduleEndEpoch().

Time ns3::RadioBearerStatsCalculator::m_epochDuration
private
bool ns3::RadioBearerStatsCalculator::m_firstWrite
private

true if output files have not been opened yet

Definition at line 386 of file radio-bearer-stats-calculator.h.

Referenced by ShowResults().

FlowIdMap ns3::RadioBearerStatsCalculator::m_flowId
private

Definition at line 355 of file radio-bearer-stats-calculator.h.

Referenced by DlTxPdu(), UlTxPdu(), WriteDlResults(), and WriteUlResults().

bool ns3::RadioBearerStatsCalculator::m_pendingOutput
private

true if any output is pending

Definition at line 391 of file radio-bearer-stats-calculator.h.

Referenced by DlRxPdu(), DlTxPdu(), DoDispose(), ShowResults(), UlRxPdu(), and UlTxPdu().

std::string ns3::RadioBearerStatsCalculator::m_protocolType
private
Time ns3::RadioBearerStatsCalculator::m_startTime
private
Uint32Map ns3::RadioBearerStatsCalculator::m_ulCellId
private

Definition at line 365 of file radio-bearer-stats-calculator.h.

Referenced by GetUlCellId(), UlRxPdu(), and UlTxPdu().

Uint64StatsMap ns3::RadioBearerStatsCalculator::m_ulDelay
private
std::string ns3::RadioBearerStatsCalculator::m_ulPdcpOutputFilename
private
Uint32StatsMap ns3::RadioBearerStatsCalculator::m_ulPduSize
private

Definition at line 371 of file radio-bearer-stats-calculator.h.

Referenced by GetUlPduSizeStats(), ResetResults(), and UlRxPdu().

Uint64Map ns3::RadioBearerStatsCalculator::m_ulRxData
private

Definition at line 369 of file radio-bearer-stats-calculator.h.

Referenced by GetUlRxData(), ResetResults(), and UlRxPdu().

Uint32Map ns3::RadioBearerStatsCalculator::m_ulRxPackets
private

Definition at line 367 of file radio-bearer-stats-calculator.h.

Referenced by GetUlRxPackets(), ResetResults(), and UlRxPdu().

Uint64Map ns3::RadioBearerStatsCalculator::m_ulTxData
private

Definition at line 368 of file radio-bearer-stats-calculator.h.

Referenced by GetUlTxData(), ResetResults(), and UlTxPdu().

Uint32Map ns3::RadioBearerStatsCalculator::m_ulTxPackets
private

The documentation for this class was generated from the following files: