(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.
- Enable Stream Statistics tracking on both Tx and Rx ports - note you can have multiple Tx/Rx ports
- For all streams that you wish to track statistics for -
- Include the
Special|Signatureprotocol on the Protocol Selection tab
- Configure a unique value as the Stream GUID in Protocol Data tab
- Include the
NOTE: 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.
- Ensure Transmit is finished i.e. Transmit State is
- 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
- Tracking stream level statistics is CPU intensive and may have an impact on max transmit rate
- 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
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