5G-LENA  nr-v3.0-25-g90be5d1
The 5G/NR module for the ns-3 simulator
ns3::NrMacSchedulingStats Class Reference

#include "nr-mac-scheduling-stats.h"

+ Inheritance diagram for ns3::NrMacSchedulingStats:
+ Collaboration diagram for ns3::NrMacSchedulingStats:

Public Member Functions

 NrMacSchedulingStats ()
 
 ~NrMacSchedulingStats () override
 
void DlScheduling (uint16_t cellId, uint64_t imsi, const NrSchedulingCallbackInfo &traceInfo)
 
std::string GetDlOutputFilename ()
 
std::string GetUlOutputFilename ()
 
void SetDlOutputFilename (std::string outputFilename)
 
void SetUlOutputFilename (std::string outputFilename)
 
void UlScheduling (uint16_t cellId, uint64_t imsi, const NrSchedulingCallbackInfo &traceInfo)
 
- Public Member Functions inherited from ns3::NrStatsCalculator
 NrStatsCalculator ()
 
 ~NrStatsCalculator () override
 
bool ExistsCellIdPath (std::string path)
 
bool ExistsImsiPath (std::string path)
 
uint16_t GetCellIdPath (std::string path)
 
std::string GetDlOutputFilename ()
 
uint64_t GetImsiPath (std::string path)
 
std::string GetUlOutputFilename ()
 
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)
 

Static Public Member Functions

static void DlSchedulingCallback (Ptr< NrMacSchedulingStats > macStats, std::string path, NrSchedulingCallbackInfo traceInfo)
 
static TypeId GetTypeId ()
 
static void UlSchedulingCallback (Ptr< NrMacSchedulingStats > macStats, std::string path, NrSchedulingCallbackInfo traceInfo)
 
- Static Public Member Functions inherited from ns3::NrStatsCalculator
static TypeId GetTypeId ()
 

Additional Inherited Members

- Static Protected Member Functions inherited from ns3::NrStatsCalculator
static uint16_t FindCellIdFromGnbMac (std::string path, uint16_t rnti)
 
static uint16_t FindCellIdFromGnbRlcPath (std::string path)
 
static uint64_t FindImsiFromGnbMac (std::string path, uint16_t rnti)
 
static uint64_t FindImsiFromGnbRlcPath (std::string path)
 
static uint64_t FindImsiFromNrUeNetDevice (std::string path)
 

Detailed Description

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

  • Timestamp (in MilliSeconds)
  • Cell id
  • BWP id
  • IMSI
  • RNTI
  • Frame number
  • Subframe number
  • Slot number
  • MCS
  • Size of transport block

Definition at line 37 of file nr-mac-scheduling-stats.h.

Constructor & Destructor Documentation

◆ NrMacSchedulingStats()

ns3::NrMacSchedulingStats::NrMacSchedulingStats ( )

Constructor

Definition at line 20 of file nr-mac-scheduling-stats.cc.

References GetDlOutputFilename(), SetDlOutputFilename(), and SetUlOutputFilename().

+ Here is the call graph for this function:

◆ ~NrMacSchedulingStats()

ns3::NrMacSchedulingStats::~NrMacSchedulingStats ( )
override

Destructor

Definition at line 27 of file nr-mac-scheduling-stats.cc.

Member Function Documentation

◆ DlScheduling()

void ns3::NrMacSchedulingStats::DlScheduling ( uint16_t  cellId,
uint64_t  imsi,
const NrSchedulingCallbackInfo traceInfo 
)

Notifies the stats calculator that an downlink scheduling has occurred.

Parameters
cellIdCell ID of the attached gNb
imsiIMSI of the scheduled UE
traceInfoNrSchedulingCallbackInfo structure containing all downlink information that is generated when DlScheduling trace is fired

Definition at line 116 of file nr-mac-scheduling-stats.cc.

References GetDlOutputFilename(), NrSchedulingCallbackInfo::m_bwpId, NrSchedulingCallbackInfo::m_frameNum, NrSchedulingCallbackInfo::m_harqId, NrSchedulingCallbackInfo::m_mcs, NrSchedulingCallbackInfo::m_ndi, NrSchedulingCallbackInfo::m_numSym, NrSchedulingCallbackInfo::m_rnti, NrSchedulingCallbackInfo::m_rv, NrSchedulingCallbackInfo::m_slotNum, NrSchedulingCallbackInfo::m_subframeNum, NrSchedulingCallbackInfo::m_symStart, and NrSchedulingCallbackInfo::m_tbSize.

+ Here is the call graph for this function:

◆ DlSchedulingCallback()

void ns3::NrMacSchedulingStats::DlSchedulingCallback ( Ptr< NrMacSchedulingStats macStats,
std::string  path,
NrSchedulingCallbackInfo  traceInfo 
)
static

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

Parameters
macStats
path
traceInfoNrSchedulingCallbackInfo structure containing all downlink information that is generated when DlScheduling trace is fired

Definition at line 168 of file nr-mac-scheduling-stats.cc.

References ns3::NrStatsCalculator::FindCellIdFromGnbRlcPath(), ns3::NrStatsCalculator::FindImsiFromGnbRlcPath(), and NrSchedulingCallbackInfo::m_rnti.

Referenced by ns3::NrHelper::EnableDlMacSchedTraces().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetDlOutputFilename()

std::string ns3::NrMacSchedulingStats::GetDlOutputFilename ( )

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 110 of file nr-mac-scheduling-stats.cc.

References ns3::NrStatsCalculator::GetDlOutputFilename().

Referenced by NrMacSchedulingStats(), DlScheduling(), and SetDlOutputFilename().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::NrMacSchedulingStats::GetTypeId ( )
static

Register this type.

Returns
The object TypeId.

Definition at line 41 of file nr-mac-scheduling-stats.cc.

References SetDlOutputFilename(), and SetUlOutputFilename().

+ Here is the call graph for this function:

◆ GetUlOutputFilename()

std::string ns3::NrMacSchedulingStats::GetUlOutputFilename ( )

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 83 of file nr-mac-scheduling-stats.cc.

References ns3::NrStatsCalculator::GetUlOutputFilename().

Referenced by SetUlOutputFilename(), and UlScheduling().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetDlOutputFilename()

void ns3::NrMacSchedulingStats::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 89 of file nr-mac-scheduling-stats.cc.

References GetDlOutputFilename(), and ns3::NrStatsCalculator::SetDlOutputFilename().

Referenced by NrMacSchedulingStats(), and GetTypeId().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetUlOutputFilename()

void ns3::NrMacSchedulingStats::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 62 of file nr-mac-scheduling-stats.cc.

References GetUlOutputFilename(), and ns3::NrStatsCalculator::SetUlOutputFilename().

Referenced by NrMacSchedulingStats(), and GetTypeId().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UlScheduling()

void ns3::NrMacSchedulingStats::UlScheduling ( uint16_t  cellId,
uint64_t  imsi,
const NrSchedulingCallbackInfo traceInfo 
)

Notifies the stats calculator that an uplink scheduling has occurred.

Parameters
cellIdCell ID of the attached gNB
imsiIMSI of the scheduled UE
traceInfoNrSchedulingCallbackInfo structure containing all uplink information that is generated when DlScheduling trace is fired

Definition at line 142 of file nr-mac-scheduling-stats.cc.

References GetUlOutputFilename(), NrSchedulingCallbackInfo::m_bwpId, NrSchedulingCallbackInfo::m_frameNum, NrSchedulingCallbackInfo::m_harqId, NrSchedulingCallbackInfo::m_mcs, NrSchedulingCallbackInfo::m_ndi, NrSchedulingCallbackInfo::m_numSym, NrSchedulingCallbackInfo::m_rnti, NrSchedulingCallbackInfo::m_rv, NrSchedulingCallbackInfo::m_slotNum, NrSchedulingCallbackInfo::m_subframeNum, NrSchedulingCallbackInfo::m_symStart, and NrSchedulingCallbackInfo::m_tbSize.

+ Here is the call graph for this function:

◆ UlSchedulingCallback()

void ns3::NrMacSchedulingStats::UlSchedulingCallback ( Ptr< NrMacSchedulingStats macStats,
std::string  path,
NrSchedulingCallbackInfo  traceInfo 
)
static

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

Parameters
macStatsthe pointer to the MAC stats
paththe trace source path
traceInfo- all the traces information in a single structure

Definition at line 201 of file nr-mac-scheduling-stats.cc.

References ns3::NrStatsCalculator::FindCellIdFromGnbRlcPath(), ns3::NrStatsCalculator::FindImsiFromGnbRlcPath(), and NrSchedulingCallbackInfo::m_rnti.

Referenced by ns3::NrHelper::EnableUlMacSchedTraces().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

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