37 : statistics::
Group(parent,
"EtherDevice"),
39 "Number of posts to CPU"),
40 ADD_STAT(txBytes, statistics::units::Byte::get(),
42 ADD_STAT(rxBytes, statistics::units::Byte::get(),
"Bytes Received"),
44 "Number of Packets Transmitted"),
46 "Number of Packets Received"),
47 ADD_STAT(txBandwidth, statistics::units::Rate<
48 statistics::units::Bit, statistics::units::Second>::get(),
51 ADD_STAT(rxBandwidth, statistics::units::Rate<
52 statistics::units::Bit, statistics::units::Second>::get(),
56 "Number of tx IP Checksums done by device"),
58 "Number of rx IP Checksums done by device"),
60 "Number of tx TCP Checksums done by device"),
62 "Number of rx TCP Checksums done by device"),
64 "Number of tx UDP Checksums done by device"),
66 "Number of rx UDP Checksums done by device"),
68 "Number of descriptors the device read w/ DMA"),
70 "Number of descriptors the device wrote w/ DMA"),
72 "Number of descriptor bytes read w/ DMA"),
74 "Number of descriptor bytes write w/ DMA"),
75 ADD_STAT(totBandwidth, statistics::units::Rate<
76 statistics::units::Bit, statistics::units::Second>::get(),
78 txBandwidth + rxBandwidth),
79 ADD_STAT(totPackets, statistics::units::
Count::get(),
"Total Packets",
80 txPackets + rxPackets),
81 ADD_STAT(totBytes, statistics::units::Byte::get(),
"Total Bytes",
83 ADD_STAT(totPacketRate, statistics::units::Rate<
84 statistics::units::
Count, statistics::units::Second>::get(),
85 "Total Packet Tranmission Rate",
87 ADD_STAT(txPacketRate, statistics::units::Rate<
88 statistics::units::
Count, statistics::units::Second>::get(),
89 "Packet Tranmission Rate",
91 ADD_STAT(rxPacketRate, statistics::units::Rate<
92 statistics::units::
Count, statistics::units::Second>::get(),
93 "Packet Reception Rate",
96 "Number of software interrupts posted to CPU"),
98 "Total number of Swi written to ISR"),
99 ADD_STAT(coalescedSwi, statistics::units::Rate<
100 statistics::units::
Count, statistics::units::
Count>::get(),
101 "Average number of Swi's coalesced into each post",
102 totalSwi / postedInterrupts),
104 "Number of rxIdle interrupts posted to CPU"),
106 "Total number of RxIdle written to ISR"),
107 ADD_STAT(coalescedRxIdle, statistics::units::Rate<
108 statistics::units::
Count, statistics::units::
Count>::get(),
109 "Average number of RxIdle's coalesced into each post",
110 totalRxIdle / postedInterrupts),
112 "Number of RxOk interrupts posted to CPU"),
114 "Total number of RxOk written to ISR"),
115 ADD_STAT(coalescedRxOk, statistics::units::Rate<
116 statistics::units::
Count, statistics::units::
Count>::get(),
117 "Average number of RxOk's coalesced into each post",
118 totalRxOk / postedInterrupts),
120 "Number of RxDesc interrupts posted to CPU"),
122 "Total number of RxDesc written to ISR"),
123 ADD_STAT(coalescedRxDesc, statistics::units::Rate<
124 statistics::units::
Count, statistics::units::
Count>::get(),
125 "Average number of RxDesc's coalesced into each post",
126 totalRxDesc / postedInterrupts),
128 "Number of TxOk interrupts posted to CPU"),
130 "Total number of TxOk written to ISR"),
131 ADD_STAT(coalescedTxOk, statistics::units::Rate<
132 statistics::units::
Count, statistics::units::
Count>::get(),
133 "Average number of TxOk's coalesced into each post",
134 totalTxOk / postedInterrupts),
136 "Number of TxIdle interrupts posted to CPU"),
138 "Total number of TxIdle written to ISR"),
139 ADD_STAT(coalescedTxIdle, statistics::units::Rate<
140 statistics::units::
Count, statistics::units::
Count>::get(),
141 "Average number of TxIdle's coalesced into each post",
142 totalTxIdle / postedInterrupts),
144 "Number of TxDesc interrupts posted to CPU"),
146 "Total number of TxDesc written to ISR"),
147 ADD_STAT(coalescedTxDesc, statistics::units::Rate<
148 statistics::units::
Count, statistics::units::
Count>::get(),
149 "Average number of TxDesc's coalesced into each post",
150 totalTxDesc / postedInterrupts),
152 "Number of RxOrn posted to CPU"),
154 "Total number of RxOrn written to ISR"),
155 ADD_STAT(coalescedRxOrn, statistics::units::Rate<
156 statistics::units::
Count, statistics::units::
Count>::get(),
157 "Average number of RxOrn's coalesced into each post",
158 totalRxOrn / postedInterrupts),
159 ADD_STAT(coalescedTotal, statistics::units::Rate<
160 statistics::units::
Count, statistics::units::
Count>::get(),
161 "Average number of interrupts coalesced into each post"),
163 "Number of packets dropped")
Derived & prereq(const Stat &prereq)
Set the prerequisite stat and marks this stat to print at the end of simulation.
Derived & precision(int _precision)
Set the precision and marks this stat to print at the end of simulation.
Base Ethernet Device declaration.
#define ADD_STAT(n,...)
Convenience macro to add a stat to a statistics group.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
statistics::Formula & simSeconds
statistics::Scalar postedTxOk
statistics::Scalar txPackets
statistics::Scalar postedRxIdle
statistics::Scalar postedTxIdle
statistics::Formula totBandwidth
statistics::Scalar txIpChecksums
statistics::Scalar txBytes
statistics::Scalar postedTxDesc
statistics::Formula coalescedRxDesc
statistics::Formula totBytes
statistics::Formula coalescedRxOrn
statistics::Formula rxBandwidth
statistics::Scalar totalSwi
statistics::Scalar rxTcpChecksums
statistics::Scalar rxPackets
statistics::Formula txPacketRate
statistics::Scalar totalRxDesc
statistics::Scalar txUdpChecksums
statistics::Formula coalescedTxOk
statistics::Scalar postedRxDesc
statistics::Scalar rxUdpChecksums
statistics::Scalar totalTxOk
statistics::Scalar rxIpChecksums
statistics::Scalar txTcpChecksums
statistics::Scalar droppedPackets
statistics::Scalar totalRxIdle
statistics::Formula coalescedTxIdle
statistics::Scalar totalTxDesc
statistics::Formula totPacketRate
statistics::Formula rxPacketRate
statistics::Scalar descDmaWrBytes
EtherDeviceStats(statistics::Group *parent)
statistics::Formula coalescedTxDesc
statistics::Formula coalescedRxIdle
statistics::Scalar postedRxOrn
statistics::Scalar postedSwi
statistics::Scalar totalRxOrn
statistics::Scalar totalRxOk
statistics::Scalar descDmaRdBytes
statistics::Scalar postedRxOk
statistics::Formula txBandwidth
statistics::Formula coalescedSwi
statistics::Formula coalescedTotal
statistics::Formula totPackets
statistics::Scalar postedInterrupts
statistics::Scalar totalTxIdle
statistics::Scalar descDmaWrites
statistics::Formula coalescedRxOk
statistics::Scalar rxBytes
statistics::Scalar descDmaReads