ns-3
ns3::RadioBearerStatsCalculator Class Reference

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

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

List of all members.

Public Member Functions

 RadioBearerStatsCalculator ()
 RadioBearerStatsCalculator (std::string protocolType)
virtual ~RadioBearerStatsCalculator ()
void DoDispose ()
std::string GetUlOutputFilename (void)
std::string GetDlOutputFilename (void)
void SetUlPdcpOutputFilename (std::string outputFilename)
std::string GetUlPdcpOutputFilename (void)
void SetDlPdcpOutputFilename (std::string outputFilename)
std::string GetDlPdcpOutputFilename (void)
void UlTxPdu (uint64_t imsi, uint16_t rnti, uint8_t lcid, uint32_t packetSize)
void UlRxPdu (uint16_t cellId, uint64_t imsi, uint16_t rnti, uint8_t lcid, uint32_t packetSize, uint64_t delay)
void DlTxPdu (uint16_t cellId, uint64_t imsi, uint16_t rnti, uint8_t lcid, uint32_t packetSize)
void DlRxPdu (uint64_t imsi, uint16_t rnti, uint8_t lcid, uint32_t packetSize, uint64_t delay)
uint32_t GetUlTxPackets (uint64_t imsi, uint8_t lcid)
uint32_t GetUlRxPackets (uint64_t imsi, uint8_t lcid)
uint64_t GetUlTxData (uint64_t imsi, uint8_t lcid)
uint64_t GetUlRxData (uint64_t imsi, uint8_t lcid)
uint32_t GetUlCellId (uint64_t imsi, uint8_t lcid)
double GetUlDelay (uint64_t imsi, uint8_t lcid)
std::vector< double > GetUlDelayStats (uint64_t imsi, uint8_t lcid)
std::vector< double > GetUlPduSizeStats (uint64_t imsi, uint8_t lcid)
uint32_t GetDlTxPackets (uint64_t imsi, uint8_t lcid)
uint32_t GetDlRxPackets (uint64_t imsi, uint8_t lcid)
uint64_t GetDlTxData (uint64_t imsi, uint8_t lcid)
uint64_t GetDlRxData (uint64_t imsi, uint8_t lcid)
uint32_t GetDlCellId (uint64_t imsi, uint8_t lcid)
double GetDlDelay (uint64_t imsi, uint8_t lcid)
std::vector< double > GetDlDelayStats (uint64_t imsi, uint8_t lcid)
std::vector< double > GetDlPduSizeStats (uint64_t imsi, uint8_t lcid)
- Public Member Functions inherited from ns3::LteStatsCalculator
 LteStatsCalculator ()
virtual ~LteStatsCalculator ()
void SetUlOutputFilename (std::string outputFilename)
void SetDlOutputFilename (std::string outputFilename)
bool ExistsImsiPath (std::string path)
void SetImsiPath (std::string path, uint64_t imsi)
uint64_t GetImsiPath (std::string path)
bool ExistsCellIdPath (std::string path)
void SetCellIdPath (std::string path, uint16_t cellId)
uint16_t GetCellIdPath (std::string path)
- Public Member Functions inherited from ns3::Object
virtual TypeId GetInstanceTypeId (void) const
template<typename T >
Ptr< T > GetObject (void) const
template<typename T >
Ptr< T > GetObject (TypeId tid) const
void Dispose (void)
void AggregateObject (Ptr< Object > other)
AggregateIterator GetAggregateIterator (void) const
void Start (void)
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount (const SimpleRefCount &o)
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const
uint32_t GetReferenceCount (void) const
- Public Member Functions inherited from ns3::ObjectBase
void SetAttribute (std::string name, const AttributeValue &value)
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
void GetAttribute (std::string name, AttributeValue &value) const
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
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)
 This method returns the TypeId associated to ns3::RadioBearerStatsCalculator.

Detailed Description

Calculation of statistics from the RLC layer for uplink and downlink, the data is dumped into a file periodically. Metrics considered are:

  • Number of transmitted PDUs
  • Number of received PDUs
  • Number of transmitted bytes
  • Number of received bytes
  • Average, min, max and standard deviation of RLC to RLC delay
  • Average, min, max and standard deviation of RLC PDU size TODO: Actual statistics calculation implies checking the time every time a packet is send or received so it is not very efficient. The epoch implementation should be replaced by a timer to avoid this overhead.

Constructor & Destructor Documentation

ns3::RadioBearerStatsCalculator::RadioBearerStatsCalculator ( )

Class constructor

References NS_LOG_FUNCTION.

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

Class constructor

References NS_LOG_FUNCTION.

ns3::RadioBearerStatsCalculator::~RadioBearerStatsCalculator ( )
virtual

Class destructor

References NS_LOG_FUNCTION.


Member Function Documentation

void ns3::RadioBearerStatsCalculator::DlRxPdu ( 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:
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

References ns3::Simulator::Now(), NS_LOG_DEBUG, and NS_LOG_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

References ns3::Simulator::Now(), and NS_LOG_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.

References NS_LOG_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

References NS_LOG_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

References 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

References NS_LOG_FUNCTION.

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

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

Reimplemented from ns3::LteStatsCalculator.

References GetDlPdcpOutputFilename().

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

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

Referenced by GetDlOutputFilename().

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

References NS_LOG_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

References NS_LOG_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

References NS_LOG_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

References NS_LOG_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

References NS_LOG_FUNCTION.

TypeId ns3::RadioBearerStatsCalculator::GetTypeId ( void  )
static

This method returns the TypeId associated to ns3::RadioBearerStatsCalculator.

Inherited from ns3::Object

Attributes defined for this type:

  • StartTime: Start time of the on going epoch.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +0.0ns
    • Flags: construct write read
  • EpochDuration: Epoch duration.
    • Set with class: TimeValue
    • Underlying type: Time
    • 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 defined for this type.

Reimplemented from ns3::LteStatsCalculator.

References ns3::Seconds(), ns3::LteStatsCalculator::SetDlOutputFilename(), SetDlPdcpOutputFilename(), ns3::TypeId::SetParent(), ns3::LteStatsCalculator::SetUlOutputFilename(), and SetUlPdcpOutputFilename().

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

References NS_LOG_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

References 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

References NS_LOG_FUNCTION.

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

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

Reimplemented from ns3::LteStatsCalculator.

References GetUlPdcpOutputFilename().

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

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

Referenced by GetUlOutputFilename().

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

References NS_LOG_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

References NS_LOG_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

References NS_LOG_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

References NS_LOG_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

References NS_LOG_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

Referenced by GetTypeId().

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

Referenced by GetTypeId().

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

References ns3::Simulator::Now(), NS_LOG_DEBUG, and NS_LOG_FUNCTION.

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

Notifies the stats calculator that an uplink transmission has occurred.

Parameters:
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

References ns3::Simulator::Now(), and NS_LOG_FUNCTION.


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