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

#include <mac-stats-calculator.h>

+ Inheritance diagram for ns3::MacStatsCalculator:
+ Collaboration diagram for ns3::MacStatsCalculator:

Public Member Functions

 MacStatsCalculator ()
 
virtual ~MacStatsCalculator ()
 
void DlScheduling (uint16_t cellId, uint64_t imsi, uint32_t frameNo, uint32_t subframeNo, uint16_t rnti, uint8_t mcsTb1, uint16_t sizeTb1, uint8_t mcsTb2, uint16_t sizeTb2)
 
std::string GetDlOutputFilename (void)
 
std::string GetUlOutputFilename (void)
 
void SetDlOutputFilename (std::string outputFilename)
 
void SetUlOutputFilename (std::string outputFilename)
 
void UlScheduling (uint16_t cellId, uint64_t imsi, uint32_t frameNo, uint32_t subframeNo, uint16_t rnti, uint8_t mcs, uint16_t sizeTb)
 
- Public Member Functions inherited from ns3::LteStatsCalculator
 LteStatsCalculator ()
 
virtual ~LteStatsCalculator ()
 
bool ExistsCellIdPath (std::string path)
 
bool ExistsImsiPath (std::string path)
 
uint16_t GetCellIdPath (std::string path)
 
std::string GetDlOutputFilename (void)
 
uint64_t GetImsiPath (std::string path)
 
std::string GetUlOutputFilename (void)
 
void SetCellIdPath (std::string path, uint16_t cellId)
 
void SetDlOutputFilename (std::string outputFilename)
 
void SetImsiPath (std::string path, uint64_t imsi)
 
void SetUlOutputFilename (std::string outputFilename)
 
- Public Member Functions inherited from ns3::Object
 Object ()
 
virtual ~Object ()
 
void AggregateObject (Ptr< Object > other)
 
void Dispose (void)
 
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)
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 
 SimpleRefCount (const SimpleRefCount &o)
 
uint32_t GetReferenceCount (void) const
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 
void Ref (void) const
 
void Unref (void) const
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 
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 void DlSchedulingCallback (Ptr< MacStatsCalculator > macStats, std::string path, uint32_t frameNo, uint32_t subframeNo, uint16_t rnti, uint8_t mcsTb1, uint16_t sizeTb1, uint8_t mcsTb2, uint16_t sizeTb2)
 
static TypeId GetTypeId (void)
 
static void UlSchedulingCallback (Ptr< MacStatsCalculator > macStats, std::string path, uint32_t frameNo, uint32_t subframeNo, uint16_t rnti, uint8_t mcs, uint16_t size)
 
- Static Public Member Functions inherited from ns3::LteStatsCalculator
static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 

Private Attributes

bool m_dlFirstWrite
 
bool m_ulFirstWrite
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 
virtual void DoDispose (void)
 
virtual void DoInitialize (void)
 
virtual void NotifyNewAggregate (void)
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 
virtual void NotifyConstructionCompleted (void)
 
- 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

Takes care of storing the information generated at MAC layer. Metrics saved are:

  • Timestamp (in seconds)
  • Frame index
  • Subframe index
  • C-RNTI
  • MCS for transport block 1
  • Size of transport block 1
  • MCS for transport block 2 (0 if not used)
  • Size of transport block 2 (0 if not used)

Doxygen introspection did not find any typical Config paths.

Attributes

  • DlOutputFilename: Name of the file where the downlink results will be saved.
    • Set with class: StringValue
    • Underlying type: std::string
    • Initial value: DlMacStats.txt
    • Flags: construct write
  • UlOutputFilename: Name of the file where the uplink results will be saved.
    • Set with class: StringValue
    • Underlying type: std::string
    • Initial value: UlMacStats.txt
    • Flags: construct write

No TraceSources are defined for this type.

Definition at line 43 of file mac-stats-calculator.h.

Constructor & Destructor Documentation

ns3::MacStatsCalculator::MacStatsCalculator ( )

Constructor

Definition at line 32 of file mac-stats-calculator.cc.

References NS_LOG_FUNCTION.

ns3::MacStatsCalculator::~MacStatsCalculator ( )
virtual

Destructor

Definition at line 40 of file mac-stats-calculator.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

void ns3::MacStatsCalculator::DlScheduling ( uint16_t  cellId,
uint64_t  imsi,
uint32_t  frameNo,
uint32_t  subframeNo,
uint16_t  rnti,
uint8_t  mcsTb1,
uint16_t  sizeTb1,
uint8_t  mcsTb2,
uint16_t  sizeTb2 
)

Notifies the stats calculator that an downlink scheduling has occurred.

Parameters
cellIdCell ID of the attached Enb
imsiIMSI of the scheduled UE
frameNoFrame number
subframeNoSubframe number
rntiC-RNTI scheduled
mcsTb1MCS for transport block 1
sizeTb1Size of transport block 1
mcsTb2MCS for transport block 2 (0 if not used)
sizeTb2Size of transport block 2 (0 if not used)

Definition at line 90 of file mac-stats-calculator.cc.

References GetDlOutputFilename(), ns3::Time::GetNanoSeconds(), m_dlFirstWrite, ns3::Simulator::Now(), NS_LOG_ERROR, NS_LOG_FUNCTION, and NS_LOG_INFO.

+ Here is the call graph for this function:

void ns3::MacStatsCalculator::DlSchedulingCallback ( Ptr< MacStatsCalculator macStats,
std::string  path,
uint32_t  frameNo,
uint32_t  subframeNo,
uint16_t  rnti,
uint8_t  mcsTb1,
uint16_t  sizeTb1,
uint8_t  mcsTb2,
uint16_t  sizeTb2 
)
static

Trace sink for the ns3::LteEnbMac::DlScheduling trace source

Parameters
macStats
path
frameNo
subframeNo
rnti
mcsTb1
sizeTb1
mcsTb2
sizeTb2

Definition at line 174 of file mac-stats-calculator.cc.

References ns3::LteStatsCalculator::FindCellIdFromEnbMac(), ns3::LteStatsCalculator::FindImsiFromEnbMac(), and NS_LOG_FUNCTION.

Referenced by ns3::LteHelper::EnableDlMacTraces().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

Definition at line 84 of file mac-stats-calculator.cc.

References ns3::LteStatsCalculator::GetDlOutputFilename().

Referenced by DlScheduling().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Inherited from ns3::Object

Definition at line 46 of file mac-stats-calculator.cc.

References SetDlOutputFilename(), ns3::TypeId::SetParent(), and SetUlOutputFilename().

+ Here is the call graph for this function:

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

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

Definition at line 72 of file mac-stats-calculator.cc.

References ns3::LteStatsCalculator::GetUlOutputFilename().

Referenced by UlScheduling().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::MacStatsCalculator::SetDlOutputFilename ( std::string  outputFilename)

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

Parameters
outputFilenamestring with the name of the file

Definition at line 78 of file mac-stats-calculator.cc.

References ns3::LteStatsCalculator::SetDlOutputFilename().

Referenced by GetTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::MacStatsCalculator::SetUlOutputFilename ( std::string  outputFilename)

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

Parameters
outputFilenamestring with the name of the file

Definition at line 66 of file mac-stats-calculator.cc.

References ns3::LteStatsCalculator::SetUlOutputFilename().

Referenced by GetTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::MacStatsCalculator::UlScheduling ( uint16_t  cellId,
uint64_t  imsi,
uint32_t  frameNo,
uint32_t  subframeNo,
uint16_t  rnti,
uint8_t  mcs,
uint16_t  sizeTb 
)

Notifies the stats calculator that an uplink scheduling has occurred.

Parameters
cellIdCell ID of the attached Enb
imsiIMSI of the scheduled UE
frameNoFrame number
subframeNoSubframe number
rntiC-RNTI scheduled
mcsTbMCS for transport block
sizeTbSize of transport block

Definition at line 133 of file mac-stats-calculator.cc.

References ns3::Time::GetNanoSeconds(), GetUlOutputFilename(), m_ulFirstWrite, ns3::Simulator::Now(), NS_LOG_ERROR, NS_LOG_FUNCTION, and NS_LOG_INFO.

+ Here is the call graph for this function:

void ns3::MacStatsCalculator::UlSchedulingCallback ( Ptr< MacStatsCalculator macStats,
std::string  path,
uint32_t  frameNo,
uint32_t  subframeNo,
uint16_t  rnti,
uint8_t  mcs,
uint16_t  size 
)
static

Trace sink for the ns3::LteEnbMac::UlScheduling trace source

Parameters
macStats
path
frameNo
subframeNo
rnti
mcs
size

Definition at line 208 of file mac-stats-calculator.cc.

References ns3::LteStatsCalculator::FindCellIdFromEnbMac(), ns3::LteStatsCalculator::FindImsiFromEnbMac(), and NS_LOG_FUNCTION.

Referenced by ns3::LteHelper::EnableUlMacTraces().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

bool ns3::MacStatsCalculator::m_dlFirstWrite
private

Definition at line 150 of file mac-stats-calculator.h.

Referenced by DlScheduling().

bool ns3::MacStatsCalculator::m_ulFirstWrite
private

Definition at line 151 of file mac-stats-calculator.h.

Referenced by UlScheduling().


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