Skip to content

Stream Statistics

(Available release 0.9 onwards)

The Statistics Window displays interface or port level statistics and may include packets sent by other applications or the OS itself. This makes it difficult to compare whether received packet/byte count is same as sent count. Also there may be cases where you may be sending multiple streams and you would like to compare tx/rx counts for each stream.

For such cases, you can use Stream Statistics.

Stream Statistics View

(Duration and Pkt/Bit Rates are available starting release 1.2 onwards; Latency/Jitter [EXPERIMENTAL] are available starting release 1.3 onwards)

Configure Stream stats Tracking

  • Enable Stream Statistics tracking on both Tx and Rx ports - you can have multiple Tx/Rx ports
    Stream Stats Tracking
  • For all streams that you wish to track statistics for -
    • Include the Special|Signature protocol on the Protocol Selection tab Special Signature
    • Configure a unique value as the Stream GUID (GUID stands for globally unique Id) in Protocol Data tab Special Signature Data

Run the test

  • Select Both Tx and Rx port(s)
  • Click on the Clear selected port stats button
  • Click on the Start Tx button
  • Click on the Stop Tx button

Fetch Stream Stats

  • Ensure Transmit is finished i.e. Transmit State is Off
  • Select all the Tx/Rx ports for which you wish to fetch and view stream statistics
  • Click on the Fetch selected port stream stats button
  • The stream statistics will open in a new tab in the Statistics Window Stream Statistics View
  • Use the right-click menu and select Show Details to see per port packet and byte stats Stream Statistics Detail View

Notes

  • More than one port can transmit traffic with the same GUID
  • A port with Stream Statistics Tracking enabled can have streams with the Special Signature and streams without it - stream level statistics will be tracked only for the former
  • Latency/Jitter is measured approx every 5 seconds

Limitations

  • Tracking stream level statistics is CPU intensive and may have an impact on max transmit rate
  • Stream stats are available only for the last Tx run and cannot be aggregated across multiple Tx runs
  • The duration is the largest Tx duration across all ports for the GUID; both Tx and Rx rates are calculated based on this duration value
  • ICMP streams cannot be tracked
  • Tx Stream Statistics is counted only after transmit is finished. Fetching stats before transmit is finished will return 0 values
  • The TX and RX ports should be on the same host and drone agent for latency/jitter measurement
  • The packet timestamps used for latency/jitter calculation are software timestamps provided by the OS and may not be precise (see man pcap-tstamp)

How does it work

The signature protocol is added to the end of the Ethernet frame just before the FCS. The last 4 bytes are a magic value indicating that the frame includes a special signature containing the Stream GUID. The transmitted frames will contain this special signature.

For a port with Stream Statistics tracking enabled -

  • All received packets are captured and parsed to check for the special signature and if present, further parsed for the Stream GUID to count the Rx stats
  • Since all frames are pre-generated in Ostinato, at the end of transmission we can calculate how many packets of each stream was transmitted to get the Tx stats - this avoids the costly capture/parsing required for Rx stats, but introduces the limitation that Tx stats are not available until end of transmission
Back to top