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

Detailed Description

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

Definition at line 55 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 137 of file flow-monitor.h.

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

◆ delayHistogram

Histogram ns3::FlowMonitor::FlowStats::delayHistogram

Histogram of the packet delays.

Definition at line 114 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 78 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 138 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 116 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 87 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 91 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 107 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 133 of file flow-monitor.h.

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

◆ packetSizeHistogram

Histogram ns3::FlowMonitor::FlowStats::packetSizeHistogram

Histogram of the packet sizes.

Definition at line 118 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 96 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 100 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 65 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 60 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 74 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 70 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 111 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 94 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 98 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: