Helper for frame load statistics. More...
#include "satellite-stats-frame-load-helper.h"
Public Types | |
enum | UnitType_t { UNIT_SYMBOLS = 0 , UNIT_USERS } |
Public Types inherited from ns3::SatStatsHelper | |
enum | IdentifierType_t { IDENTIFIER_GLOBAL = 0 , IDENTIFIER_GW , IDENTIFIER_BEAM , IDENTIFIER_UT , IDENTIFIER_UT_USER , IDENTIFIER_SLICE , IDENTIFIER_GROUP , IDENTIFIER_SAT , IDENTIFIER_ISL } |
Possible categorization of statistics output. More... | |
enum | OutputType_t { OUTPUT_NONE = 0 , OUTPUT_SCALAR_FILE , OUTPUT_SCATTER_FILE , OUTPUT_HISTOGRAM_FILE , OUTPUT_PDF_FILE , OUTPUT_CDF_FILE , OUTPUT_SCALAR_PLOT , OUTPUT_SCATTER_PLOT , OUTPUT_HISTOGRAM_PLOT , OUTPUT_PDF_PLOT , OUTPUT_CDF_PLOT } |
Possible types and formats of statistics output. More... | |
Public Member Functions | |
SatStatsFrameLoadHelper (Ptr< const SatHelper > satHelper) | |
virtual | ~SatStatsFrameLoadHelper () |
/ Destructor. More... | |
UnitType_t | GetUnitType () const |
void | SetUnitType (UnitType_t unitType) |
Public Member Functions inherited from ns3::SatStatsHelper | |
SatStatsHelper (Ptr< const SatHelper > satHelper) | |
Creates a new helper instance. More... | |
virtual | ~SatStatsHelper () |
/ Destructor. More... | |
IdentifierType_t | GetIdentifierType () const |
std::string | GetName () const |
OutputType_t | GetOutputType () const |
Ptr< const SatHelper > | GetSatHelper () const |
void | Install () |
Install the probes, collectors, and aggregators necessary to produce the statistics output. More... | |
bool | IsInstalled () const |
void | SetIdentifierType (IdentifierType_t identifierType) |
void | SetName (std::string name) |
void | SetOutputType (OutputType_t outputType) |
virtual void | UpdateAddressAndIdentifier (Ptr< Node > utNode) |
Update the address and the proper identifier from the given UT node. More... | |
virtual void | UpdateIdentifierOnProbes () |
Change identifier used on probes, when handovers occur. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
inherited from ObjectBase base class More... | |
static std::string | GetUnitTypeName (UnitType_t unitType) |
Static Public Member Functions inherited from ns3::SatStatsHelper | |
static std::string | GetIdentifierTypeName (IdentifierType_t identifierType) |
static std::string | GetOutputTypeName (OutputType_t outputType) |
static TypeId | GetTypeId () |
inherited from ObjectBase base class More... | |
Protected Member Functions | |
void | DoInstall () |
Install the probes, collectors, and aggregators necessary to produce the statistics output. More... | |
std::string | GetIdentifierHeading (std::string dataLabel) const |
Protected Member Functions inherited from ns3::SatStatsHelper | |
Ptr< DataCollectionObject > | CreateAggregator (std::string aggregatorTypeId, std::string n1="", const AttributeValue &v1=EmptyAttributeValue(), std::string n2="", const AttributeValue &v2=EmptyAttributeValue(), std::string n3="", const AttributeValue &v3=EmptyAttributeValue(), std::string n4="", const AttributeValue &v4=EmptyAttributeValue(), std::string n5="", const AttributeValue &v5=EmptyAttributeValue()) |
Create the aggregator according to the output type. More... | |
uint32_t | CreateCollectorPerIdentifier (CollectorMap &collectorMap) const |
Create one collector instance for each identifier in the simulation. More... | |
virtual std::string | GetDistributionHeading (std::string dataLabel) const |
uint32_t | GetGwId (Ptr< Node > gwNode) const |
uint32_t | GetIdentifierForBeam (uint32_t satId, uint32_t beamId) const |
uint32_t | GetIdentifierForGroup (uint32_t groupId) const |
uint32_t | GetIdentifierForGw (Ptr< Node > gwNode) const |
uint32_t | GetIdentifierForIsl (Ptr< Node > satNodeSrc, Ptr< Node > satNodeDst) const |
uint32_t | GetIdentifierForSat (Ptr< Node > satNode) const |
uint32_t | GetIdentifierForUt (Ptr< Node > utNode) const |
uint32_t | GetIdentifierForUtUser (Ptr< Node > utUserNode) const |
virtual std::string | GetOutputFileName () const |
Compute the path and file name where statistics output should be written to. More... | |
virtual std::string | GetOutputPath () const |
uint32_t | GetSatId (Ptr< Node > satNode) const |
virtual std::string | GetTimeHeading (std::string dataLabel) const |
uint32_t | GetUtId (Ptr< Node > utNode) const |
uint32_t | GetUtUserId (Ptr< Node > utUserNode) const |
virtual void | SaveAddressAndIdentifier (Ptr< Node > utNode) |
Save the address and the proper identifier from the given UT node. More... | |
Private Member Functions | |
void | FrameSymbolLoadCallback (std::string context, uint32_t frameId, double loadRatio) |
void | FrameUserLoadCallback (std::string context, uint32_t frameId, uint32_t utCount) |
Ptr< ScalarCollector > | GetCollector (uint32_t frameId, std::string identifier) |
template<typename P , typename V > | |
bool | SetupProbe (Ptr< Object > object, uint32_t identifier, void(SatStatsFrameLoadHelper::*traceSink)(std::string, uint32_t, V)) |
Private Attributes | |
Ptr< DataCollectionObject > | m_aggregator |
The aggregator created by this helper. More... | |
std::map< uint32_t, CollectorMap > | m_collectors |
Two-dimensional map of collectors, indexed by the frame ID and then by the identifier. More... | |
std::string | m_longLabel |
std::string | m_objectTraceSourceName |
std::list< Ptr< Probe > > | m_probes |
Maintains a list of probes created by this helper. More... | |
std::string | m_probeTraceSourceName |
std::string | m_shortLabel |
UnitType_t | m_unitType |
Additional Inherited Members | |
Static Protected Member Functions inherited from ns3::SatStatsHelper | |
static NetDeviceContainer | GetGwSatNetDevice (Ptr< Node > gwNode) |
static Ptr< NetDevice > | GetSatSatOrbiterNetDevice (Ptr< Node > satNode) |
static Ptr< NetDevice > | GetUtSatNetDevice (Ptr< Node > utNode) |
Protected Attributes inherited from ns3::SatStatsHelper | |
std::map< const Address, uint32_t > | m_identifierMap |
Map of address and the identifier associated with it. More... | |
Helper for frame load statistics.
Base class.
Definition at line 48 of file satellite-stats-frame-load-helper.h.
Enumerator | |
---|---|
UNIT_SYMBOLS | Number of allocated symbols over total number of symbols in the frame. |
UNIT_USERS | Number of scheduled users (i.e., UT). |
Definition at line 55 of file satellite-stats-frame-load-helper.h.
ns3::SatStatsFrameLoadHelper::SatStatsFrameLoadHelper | ( | Ptr< const SatHelper > | satHelper | ) |
Definition at line 75 of file satellite-stats-frame-load-helper.cc.
|
virtual |
/ Destructor.
Definition at line 86 of file satellite-stats-frame-load-helper.cc.
|
protectedvirtual |
Install the probes, collectors, and aggregators necessary to produce the statistics output.
An abstract method of SatStatsHelper which must be implemented by child classes. It will be invoked by Install().
Implements ns3::SatStatsHelper.
Definition at line 132 of file satellite-stats-frame-load-helper.cc.
References ns3::SatStatsHelper::CreateAggregator(), FrameSymbolLoadCallback(), FrameUserLoadCallback(), ns3::SatStatsHelper::GetIdentifierForBeam(), GetIdentifierHeading(), ns3::SatStatsHelper::GetIdentifierType(), ns3::SatStatsHelper::GetIdentifierTypeName(), ns3::SatStatsHelper::GetOutputFileName(), ns3::SatStatsHelper::GetOutputType(), ns3::SatStatsHelper::GetOutputTypeName(), ns3::SatStatsHelper::GetSatHelper(), ns3::SatStatsHelper::IDENTIFIER_UT, ns3::SatStatsHelper::IDENTIFIER_UT_USER, m_aggregator, m_shortLabel, m_unitType, ns3::SatStatsHelper::OUTPUT_SCALAR_FILE, UNIT_SYMBOLS, and UNIT_USERS.
|
private |
context | |
frameId | |
loadRatio |
Definition at line 224 of file satellite-stats-frame-load-helper.cc.
References GetCollector().
Referenced by DoInstall().
|
private |
context | |
frameId | |
utCount |
Definition at line 241 of file satellite-stats-frame-load-helper.cc.
References GetCollector().
Referenced by DoInstall().
|
private |
frameId | |
identifier |
Definition at line 258 of file satellite-stats-frame-load-helper.cc.
References ns3::SatStatsHelper::GetGwId(), ns3::SatStatsHelper::GetIdentifierType(), ns3::SatStatsHelper::GetIdentifierTypeName(), ns3::SatStatsHelper::GetSatHelper(), ns3::SatStatsHelper::IDENTIFIER_BEAM, ns3::SatStatsHelper::IDENTIFIER_GLOBAL, ns3::SatStatsHelper::IDENTIFIER_GW, m_aggregator, m_collectors, m_unitType, ns3::SatConstVariables::MAX_BEAMS_PER_SATELLITE, UNIT_SYMBOLS, and UNIT_USERS.
Referenced by FrameSymbolLoadCallback(), and FrameUserLoadCallback().
|
protectedvirtual |
dataLabel | the short name of the main data of this statistics |
Reimplemented from ns3::SatStatsHelper.
Definition at line 203 of file satellite-stats-frame-load-helper.cc.
References ns3::SatStatsHelper::GetIdentifierType(), ns3::SatStatsHelper::IDENTIFIER_BEAM, ns3::SatStatsHelper::IDENTIFIER_GLOBAL, and ns3::SatStatsHelper::IDENTIFIER_GW.
Referenced by DoInstall().
|
static |
inherited from ObjectBase base class
Definition at line 92 of file satellite-stats-frame-load-helper.cc.
SatStatsFrameLoadHelper::UnitType_t ns3::SatStatsFrameLoadHelper::GetUnitType | ( | ) | const |
|
static |
unitType |
Definition at line 58 of file satellite-stats-frame-load-helper.cc.
References UNIT_SYMBOLS, and UNIT_USERS.
Referenced by SetUnitType().
void ns3::SatStatsFrameLoadHelper::SetUnitType | ( | SatStatsFrameLoadHelper::UnitType_t | unitType | ) |
unitType |
Definition at line 99 of file satellite-stats-frame-load-helper.cc.
References GetUnitTypeName(), m_longLabel, m_objectTraceSourceName, m_probeTraceSourceName, m_shortLabel, m_unitType, UNIT_SYMBOLS, and UNIT_USERS.
Referenced by ns3::SatStatsFrameSymbolLoadHelper::SatStatsFrameSymbolLoadHelper(), and ns3::SatStatsFrameUserLoadHelper::SatStatsFrameUserLoadHelper().
|
private |
object | |
identifier | |
traceSink |
Definition at line 152 of file satellite-stats-frame-load-helper.h.
References m_objectTraceSourceName, m_probes, and m_probeTraceSourceName.
|
private |
The aggregator created by this helper.
Definition at line 146 of file satellite-stats-frame-load-helper.h.
Referenced by DoInstall(), and GetCollector().
|
private |
Two-dimensional map of collectors, indexed by the frame ID and then by the identifier.
Definition at line 143 of file satellite-stats-frame-load-helper.h.
Referenced by GetCollector().
|
private |
Definition at line 132 of file satellite-stats-frame-load-helper.h.
Referenced by SetUnitType().
|
private |
Definition at line 133 of file satellite-stats-frame-load-helper.h.
Referenced by SetUnitType(), and SetupProbe().
|
private |
Maintains a list of probes created by this helper.
Definition at line 137 of file satellite-stats-frame-load-helper.h.
Referenced by SetupProbe().
|
private |
Definition at line 134 of file satellite-stats-frame-load-helper.h.
Referenced by SetUnitType(), and SetupProbe().
|
private |
Definition at line 131 of file satellite-stats-frame-load-helper.h.
Referenced by DoInstall(), and SetUnitType().
|
private |
Definition at line 130 of file satellite-stats-frame-load-helper.h.
Referenced by DoInstall(), GetCollector(), GetUnitType(), and SetUnitType().