44 pNumDownstreamUnicastDataDiscardDueToRetries_{},
45 pNumDownstreamUnicastRtsCtsDataDiscardDueToRetries_{},
46 pNumUpstreamUnicastDataDiscardDueToSinr_{},
47 pNumUpstreamBroadcastDataDiscardDueToSinr_{},
48 pNumUpstreamUnicastDataDiscardDueToClobberRxDuringTx_{},
49 pNumUpstreamBroadcastDataDiscardDueToClobberRxDuringTx_{},
50 pNumUpstreamUnicastDataDiscardDueToClobberRxHiddenBusy_{},
51 pNumUpstreamBroadcastDataDiscardDueToClobberRxHiddenBusy_{},
52 pNumDownstreamUnicastDataDiscardDueToTxop_{},
53 pNumDownstreamBroadcastDataDiscardDueToTxop_{},
54 pNumUpstreamUnicastRtsCtsDataRxFromPhy_{},
55 pNumUpstreamUnicastCtsRxFromPhy_{},
56 pNumUpstreamUnicastDataNoiseHiddenRx_{},
57 pNumUpstreamBroadcastDataNoiseHiddenRx_{},
58 pNumUpstreamUnicastDataNoiseRxCommon_{},
59 pNumUpstreamBroadcastDataNoiseRxCommon_{},
60 pNumOneHopNbrHighWaterMark_{},
61 pNumTwoHopNbrHighWaterMark_{},
62 pNumRxOneHopNbrListEvents_{},
63 pNumRxOneHopNbrListInvalidEvents_{},
64 pNumTxOneHopNbrListEvents_{}
80 pNumDownstreamUnicastDataDiscardDueToRetries_ =
81 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numDownstreamUnicastDataDiscardDueToRetries",
84 pNumDownstreamUnicastRtsCtsDataDiscardDueToRetries_ =
85 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numDownstreamUnicastRtsCtsDataDiscardDueToRetries",
88 pNumUpstreamUnicastDataDiscardDueToSinr_ =
89 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numUpstreamUnicastDataDiscardDueToSinr",
91 pNumUpstreamBroadcastDataDiscardDueToSinr_ =
92 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numUpstreamBroadcastDataDiscardDueToSinr",
95 pNumUpstreamUnicastDataDiscardDueToClobberRxDuringTx_ =
96 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numUpstreamUnicastDataDiscardDueToClobberRxDuringTx",
99 pNumUpstreamBroadcastDataDiscardDueToClobberRxDuringTx_ =
100 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numUpstreamBroadcastDataDiscardDueToClobberRxDuringTx",
103 pNumUpstreamUnicastDataDiscardDueToClobberRxHiddenBusy_ =
104 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numUpstreamUnicastDataDiscardDueToClobberRxHiddenBusy",
107 pNumUpstreamBroadcastDataDiscardDueToClobberRxHiddenBusy_ =
108 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numUpstreamBroadcastDataDiscardDueToClobberRxHiddenBusy",
110 pNumDownstreamUnicastDataDiscardDueToTxop_ =
111 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numDownstreamUnicastDataDiscardDueToTxop",
113 pNumDownstreamBroadcastDataDiscardDueToTxop_ =
114 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numDownstreamBroadcastDataDiscardDueToTxop",
117 pNumUpstreamUnicastDataNoiseHiddenRx_ =
118 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numUpstreamUnicastDataNoiseHiddenRx",
121 pNumUpstreamBroadcastDataNoiseHiddenRx_ =
122 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numUpstreamBroadcastDataNoiseHiddenRx",
125 pNumUpstreamUnicastDataNoiseRxCommon_ =
126 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numUpstreamUnicastDataNoiseRxCommon",
129 pNumUpstreamBroadcastDataNoiseRxCommon_ =
130 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numUpstreamBroadcastDataNoiseRxCommon",
133 pNumUpstreamUnicastRtsCtsDataRxFromPhy_ =
134 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numUpstreamUnicastRtsCtsDataRxFromPhy",
137 pNumUpstreamUnicastCtsRxFromPhy_ =
138 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numUpstreamUnicastRtsCtsRxFromPhy",
141 pNumOneHopNbrHighWaterMark_ =
142 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numOneHopNbrHighWaterMark",
145 pNumTwoHopNbrHighWaterMark_ =
146 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numTwoHopNbrHighWaterMark",
149 pNumRxOneHopNbrListEvents_ =
150 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numRxOneHopNbrListEvents",
152 pNumRxOneHopNbrListInvalidEvents_ =
153 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numRxOneHopNbrListInvalidEvents",
155 pNumTxOneHopNbrListEvents_ =
156 statisticRegistrar.
registerNumeric<std::uint32_t>(
"numTxOneHopNbrListEvents",
171 ++*pNumUpstreamUnicastRtsCtsDataRxFromPhy_;
184 ++*pNumUpstreamUnicastCtsRxFromPhy_;
198 ++*pNumDownstreamUnicastDataDiscardDueToRetries_;
211 ++*pNumDownstreamUnicastRtsCtsDataDiscardDueToRetries_;
225 ++*pNumUpstreamUnicastDataDiscardDueToSinr_;
238 ++*pNumUpstreamBroadcastDataDiscardDueToSinr_;
251 ++*pNumUpstreamUnicastDataDiscardDueToClobberRxDuringTx_;
264 ++*pNumUpstreamBroadcastDataDiscardDueToClobberRxDuringTx_;
277 ++*pNumUpstreamUnicastDataDiscardDueToClobberRxHiddenBusy_;
290 ++*pNumUpstreamBroadcastDataDiscardDueToClobberRxHiddenBusy_;
304 ++*pNumDownstreamUnicastDataDiscardDueToTxop_;
318 ++*pNumDownstreamBroadcastDataDiscardDueToTxop_;
331 ++*pNumUpstreamUnicastDataNoiseHiddenRx_;
345 ++*pNumUpstreamBroadcastDataNoiseHiddenRx_;
359 ++*pNumUpstreamBroadcastDataNoiseRxCommon_;
372 ++*pNumUpstreamUnicastDataNoiseRxCommon_;
385 if(*pNumOneHopNbrHighWaterMark_ < num)
387 *pNumOneHopNbrHighWaterMark_ = num;
402 if(*pNumTwoHopNbrHighWaterMark_ < num)
404 *pNumTwoHopNbrHighWaterMark_ = num;
418 ++*pNumRxOneHopNbrListEvents_;
431 ++*pNumRxOneHopNbrListInvalidEvents_;
445 ++*pNumTxOneHopNbrListEvents_;
void updateTwoHopNbrHighWaterMark(size_t num)
set the two hop nbr high water mark
void incrementUpstreamUnicastDataDiscardDueToSinr()
increment unicast data discard due to sinr
void incrementUpstreamBroadcastDataDiscardDueToSinr()
increment braodcast data discard due to sinr
void incrementRxOneHopNbrListEventCount()
increment number rx one hop nbr list events
MACStatistics(EMANE::NEMId)
constructor
void incrementTxOneHopNbrListEventCount()
increment number tx one hop nbr list events
void incrementUpstreamUnicastDataDiscardDueToClobberRxDuringTx()
increment unicast data discard due to collision rx during tx
void incrementUpstreamBroadcastNoiseHiddenRx()
increment braodcastcast data collision due to hidden rx
void incrementDownstreamUnicastRtsCtsDataDiscardDueToRetries()
increment braodcast data discard due to exhausted retries
The StatisticRegistrar allows NEM layers to register statistics and statistic tables. Statistics and Statistic tables are owned by the emulator framework and a borrowed reference is returned to the registering NEM layer.
~MACStatistics()
destructor
void incrementUpstreamBroadcastNoiseRxCommon()
increment unicastcast data collision due to rx common
void updateOneHopNbrHighWaterMark(size_t num)
set the one hop nbr high water mark
void incrementUpstreamUnicastNoiseRxCommon()
increment braodcastcast data collision due to rx common
StatisticNumeric< T > * registerNumeric(const std::string &sName, const StatisticProperties &properties=StatisticProperties::NONE, const std::string &sDescription="")
void incrementDownstreamUnicastDataDiscardDueToRetries()
increment unicast data discard due to exhausted retries
void incrementUpstreamUnicastDataDiscardDueToClobberRxHiddenBusy()
increment unicast data discard due to collision rx busy hidden
void incrementUpstreamUnicastNoiseHiddenRx()
increment unicastcast data collision due to hidden rx
void registerStatistics(StatisticRegistrar &statisticRegistrar)
void incrementUpstreamBroadcastDataDiscardDueToClobberRxHiddenBusy()
increment braodcast data discard due to collision rx busy hidden
void incrementDownstreamUnicastDataDiscardDueToTxop()
increment unicast data discard due to txop expired
void incrementUpstreamUnicastCtsRxFromPhy()
increment unicast cts recv from phy
void incrementDownstreamBroadcastDataDiscardDueToTxop()
increment unicast data discard due to txop expired
void incrementRxOneHopNbrListInvalidEventCount()
increment number rx one hop nbr list invalid events
void incrementUpstreamBroadcastDataDiscardDueToClobberRxDuringTx()
increment braodcast data discard due to collision rx during tx
void incrementUpstreamUnicastRtsCtsDataRxFromPhy()
increment unicast rts/ctsdata recv from phy