A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::FlowMonitor::FlowStats Struct Reference

Structure that represents the measured metrics of an individual packet flow. More...

#include "flow-monitor.h"

+ Collaboration diagram for ns3::FlowMonitor::FlowStats:

Public Attributes

std::vector< uint64_t > bytesDropped
 This attribute also tracks the number of lost bytes.
 
Histogram delayHistogram
 Histogram of the packet delays.
 
Time delaySum
 Contains the sum of all end-to-end delays for all received packets of the flow.
 
Histogram flowInterruptionsHistogram
 histogram of durations of flow interruptions
 
Histogram jitterHistogram
 Histogram of the packet jitters.
 
Time jitterSum
 Contains the sum of all end-to-end delay jitter (delay variation) values for all received packets of the flow.
 
Time lastDelay
 Contains the last measured delay of a packet It is stored to measure the packet's Jitter.
 
uint32_t lostPackets
 Total number of packets that are assumed to be lost, i.e.
 
std::vector< uint32_tpacketsDropped
 This attribute also tracks the number of lost packets and bytes, but discriminates the losses by a reason code.
 
Histogram packetSizeHistogram
 Histogram of the packet sizes.
 
uint64_t rxBytes
 Total number of received bytes for the flow.
 
uint32_t rxPackets
 Total number of received packets for the flow.
 
Time timeFirstRxPacket
 Contains the absolute time when the first packet in the flow was received by an end node, i.e.
 
Time timeFirstTxPacket
 Contains the absolute time when the first packet in the flow was transmitted, i.e.
 
Time timeLastRxPacket
 Contains the absolute time when the last packet in the flow was received, i.e.
 
Time timeLastTxPacket
 Contains the absolute time when the last packet in the flow was transmitted, i.e.
 
uint32_t timesForwarded
 Contains the number of times a packet has been reportedly forwarded, summed for all received packets in the flow.
 
uint64_t txBytes
 Total number of transmitted bytes for the flow.
 
uint32_t txPackets
 Total number of transmitted packets for the flow.
 

Detailed Description

Structure that represents the measured metrics of an individual packet flow.

Definition at line 54 of file flow-monitor.h.

Member Data Documentation

◆ bytesDropped

std::vector<uint64_t> ns3::FlowMonitor::FlowStats::bytesDropped

This attribute also tracks the number of lost bytes.

See also comment in attribute packetsDropped.

Definition at line 136 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::ReportDrop().

◆ delayHistogram

Histogram ns3::FlowMonitor::FlowStats::delayHistogram

Histogram of the packet delays.

Definition at line 113 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::GetStatsForFlow(), and ns3::FlowMonitor::ReportLastRx().

◆ delaySum

Time ns3::FlowMonitor::FlowStats::delaySum

Contains the sum of all end-to-end delays for all received packets of the flow.

Definition at line 77 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::GetStatsForFlow(), and ns3::FlowMonitor::ReportLastRx().

◆ flowInterruptionsHistogram

Histogram ns3::FlowMonitor::FlowStats::flowInterruptionsHistogram

histogram of durations of flow interruptions

Definition at line 137 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::GetStatsForFlow(), and ns3::FlowMonitor::ReportLastRx().

◆ jitterHistogram

Histogram ns3::FlowMonitor::FlowStats::jitterHistogram

Histogram of the packet jitters.

Definition at line 115 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::GetStatsForFlow(), and ns3::FlowMonitor::ReportLastRx().

◆ jitterSum

Time ns3::FlowMonitor::FlowStats::jitterSum

Contains the sum of all end-to-end delay jitter (delay variation) values for all received packets of the flow.

Here we define jitter of a packet as the delay variation relatively to the last packet of the stream, i.e. $Jitter\left\{P_N\right\} = \left|Delay\left\{P_N\right\} -
Delay\left\{P_{N-1}\right\}\right|$. This definition is in accordance with the Type-P-One-way-ipdv as defined in IETF RFC 3393.

Definition at line 86 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::GetStatsForFlow(), and ns3::FlowMonitor::ReportLastRx().

◆ lastDelay

Time ns3::FlowMonitor::FlowStats::lastDelay

Contains the last measured delay of a packet It is stored to measure the packet's Jitter.

Definition at line 90 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::GetStatsForFlow(), and ns3::FlowMonitor::ReportLastRx().

◆ lostPackets

uint32_t ns3::FlowMonitor::FlowStats::lostPackets

Total number of packets that are assumed to be lost, i.e.

those that were transmitted but have not been reportedly received or forwarded for a long time. By default, packets missing for a period of over 10 seconds are assumed to be lost, although this value can be easily configured in runtime

Definition at line 106 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::GetStatsForFlow(), and ns3::FlowMonitor::ReportDrop().

◆ packetsDropped

std::vector<uint32_t> ns3::FlowMonitor::FlowStats::packetsDropped

This attribute also tracks the number of lost packets and bytes, but discriminates the losses by a reason code.

This reason code is usually an enumeration defined by the concrete FlowProbe class, and for each reason code there may be a vector entry indexed by that code and whose value is the number of packets or bytes lost due to this reason. For instance, in the Ipv4FlowProbe case the following reasons are currently defined: DROP_NO_ROUTE (no IPv4 route found for a packet), DROP_TTL_EXPIRE (a packet was dropped due to an IPv4 TTL field decremented and reaching zero), and DROP_BAD_CHECKSUM (a packet had bad IPv4 header checksum and had to be dropped).

Definition at line 132 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::ReportDrop().

◆ packetSizeHistogram

Histogram ns3::FlowMonitor::FlowStats::packetSizeHistogram

Histogram of the packet sizes.

Definition at line 117 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::GetStatsForFlow(), and ns3::FlowMonitor::ReportLastRx().

◆ rxBytes

uint64_t ns3::FlowMonitor::FlowStats::rxBytes

Total number of received bytes for the flow.

Definition at line 95 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::GetStatsForFlow(), and ns3::FlowMonitor::ReportLastRx().

◆ rxPackets

uint32_t ns3::FlowMonitor::FlowStats::rxPackets

Total number of received packets for the flow.

Definition at line 99 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::GetStatsForFlow(), and ns3::FlowMonitor::ReportLastRx().

◆ timeFirstRxPacket

Time ns3::FlowMonitor::FlowStats::timeFirstRxPacket

Contains the absolute time when the first packet in the flow was received by an end node, i.e.

the time when the flow reception starts

Definition at line 64 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::ReportLastRx().

◆ timeFirstTxPacket

Time ns3::FlowMonitor::FlowStats::timeFirstTxPacket

Contains the absolute time when the first packet in the flow was transmitted, i.e.

the time when the flow transmission starts

Definition at line 59 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::ReportFirstTx().

◆ timeLastRxPacket

Time ns3::FlowMonitor::FlowStats::timeLastRxPacket

Contains the absolute time when the last packet in the flow was received, i.e.

the time when the flow reception ends

Definition at line 73 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::ReportLastRx().

◆ timeLastTxPacket

Time ns3::FlowMonitor::FlowStats::timeLastTxPacket

Contains the absolute time when the last packet in the flow was transmitted, i.e.

the time when the flow transmission ends

Definition at line 69 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::ReportFirstTx().

◆ timesForwarded

uint32_t ns3::FlowMonitor::FlowStats::timesForwarded

Contains the number of times a packet has been reportedly forwarded, summed for all received packets in the flow.

Definition at line 110 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::GetStatsForFlow(), and ns3::FlowMonitor::ReportLastRx().

◆ txBytes

uint64_t ns3::FlowMonitor::FlowStats::txBytes

Total number of transmitted bytes for the flow.

Definition at line 93 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::GetStatsForFlow(), and ns3::FlowMonitor::ReportFirstTx().

◆ txPackets

uint32_t ns3::FlowMonitor::FlowStats::txPackets

Total number of transmitted packets for the flow.

Definition at line 97 of file flow-monitor.h.

Referenced by ns3::FlowMonitor::GetStatsForFlow(), and ns3::FlowMonitor::ReportFirstTx().


The documentation for this struct was generated from the following file: