5G-LENA nr-v3.3-81-g75c7590d
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
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

Introspection did not find any typical Config paths.

Attributes

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

No TraceSources are defined for this type.
Size of this type is 1240 bytes (on a 64-bit architecture).

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

Constructor & Destructor Documentation

◆ NrMacSchedulingStats()

ns3::NrMacSchedulingStats::NrMacSchedulingStats ( )

Constructor

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

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

+ Here is the call graph for this function:

◆ ~NrMacSchedulingStats()

ns3::NrMacSchedulingStats::~NrMacSchedulingStats ( )
override

Destructor

Definition at line 25 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 114 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 166 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 108 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 39 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 81 of file nr-mac-scheduling-stats.cc.

References ns3::NrStatsCalculator::GetUlOutputFilename().

Referenced by NrMacSchedulingStats(), 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 87 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 60 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 140 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 199 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: