Knowledge base: Knowledge Base > ByteBlower
Latency CDF and CCDF graphs
Posted by Mathieu Strubbe, Last modified by Mathieu Strubbe on 30 April 2021 11:15 PM

Whats Going On in This Graph?

The ByteBlower HTML reports contain a brand new comparing graph. 
In this article, we describe

why this graph was introduced,
how to interpret it,
warnings and
faq.

You may have gotten here after clicking on the question mark in the top right corner of the graph.

Yet another graph? Why?

One of the things you can do with ByteBlower is measure network latency.
For each flow in your test, you get two separate graphs:

  • Latency Results-over-Time
  • Latency Distribution

Below are examples of such graphs:

The graph above shows how the latency evolved over time.
The graph below shows a histogram of how many packets were received at a certain latency.


Both graphs allow you to analyze each flow in detail.
However, they fall short when you want to compare all flows.
That's why we're introducing the Latency CCDF and CDF graph:
At one glance it becomes clear how all flows relate to each other.

How to interpret it ?

For each flow, a line is plotted.
Quick tip: flows at the left have a lower latency.
Here's the graph again:

 

When a plot crosses the P99 line, 99% of the packets of that flow have been received successfully.
In the example above, you can see that:

  • 99% of the packets of flow DEVICE_2_US_DSCP to the NET port were received within 3ms
  • 99% of the packets of flow DEVICE_3_US_DSCP to the NET port were received within 4ms
  • 99% of the packets of flow DEVICE_2_US to the NET port were received within 8.9ms

At the top of the graph, you can see for each flow when the first packets were received.
At the bottom of the graph, you can see for each flow when 99.99% of all packets were received.

All axes have a logarithmic scale. 

On the left side, you can see the fraction of packets that were received above a certain latency.
This is the CCDF, which stands for "Complementary Cumulative Distribution Function".
This value goes from one to zero downwards.  Because of the logarithmic scale, the lowest visible value is 0.0001.

 

 

On the right side, you can read the percentage of packets received below a certain latency.
This is the CDF, which stands for "Cumulative Distribution Function".
It starts at P0 and the lowest visible value at the bottom is P99.99, because of the logarithmic scale.

 

 

On the X-axis, the latency is displayed.
The time unit can be set in the Preferences of the ByteBlower GUI.

 

Warnings

The graph may contain warnings.
Clicking on a warning in the graph will to open the corresponding explanation below.
When hovering over a plot, a tooltip will appear showing only the warnings for that flow.


Here is an overview of all possible warnings:

Warning: flow detected with less than 50 data points
This warning appears when the packets of this flow were all received within a small range.
The Distribution Histogram of such flows will appear as a narrow spike:

Suggested solution: make the range narrower.  In the picture above, the range starts at 0ms, and end at 50ms.
In this case, a better range end would be 1ms.

In the preferences of the ByteBlower GUI, you can specify the range:

Have a look at the Latency table to get good initial values for your range:

Warning: flow detected with packets below range
When packets were received below the specified range in the GUI preferences, this warning will appear.
Choose a lower range start value for the Latency Histogram range in the GUI preferences to make this warning disappear.

Warning: flow detected with packets above range
When packets were received above the specified range in the GUI preferences, this warning will appear.
Choose a higher range end value for the Latency Histogram range in the GUI preferences to make this warning disappear.

Warning: flow detected with less than 10.000 received packets
This warning will be displayed when too little packets were received to render a smooth graph.
We chose this value because then we can plot a precise P99.99 value.
In the Scenario View, you can increase the amount of packets or the duration of the flow.

Warning: flow detected with sampled packets
When sending traffic at very high rates, it typically is not necessary to measure the latency of each and every packet.
The ByteBlower 5100 server model is capable of transmitting at 100Gbps. It may sample received packets to measure their latency.
This means that only a fraction of the received packets is used in the Latency Histogram and corresponding CCDF plot of such a flow.
As a consequence, if the packets that were not sampled had a latency that deviates significantly from the sampled packets, this will not be noticeable in the graph.
If you get this warning when using other server models, we advise you to update to the latest version.

Frequently Asked Questions

Q) Why does the plot stop before reaching 100% ?
A) The CDF and CCDF graphs have logarithmic axes. The bottom of the graph corresponds with 99.99% of all received packets. This is typically more than enough to represent the most important characteristics of a flow.

Q) Why do some plots have rugged ends ?

A) Only a few packets were received with such a high latency. You can see this clearly in the corresponding Latency Histogram:

When displayed on a logarithmic scale, you get rugged ends on some flows.

Q) Do you have any questions ?
Write a comment below or contact us at support.byteblower@excentis.com

(0 vote(s))
Helpful
Not helpful

Comments (0)

We to help you!