Metrics Details

Primary Metrics

User Experience

Metric Description
FPS The Frames Per Second the user sees, ie the number of frames actually presented to the user
Input to action latency The latency (in ms) between user input and the corresponding action is seen on the screen.
For cloud gaming this include latency induced by the network see image below
ImageQuality Image Quality is a subjective metric, and its method measurement can change depending on the use case. GameBench do not currently provide a single Image Quality metric but can measure the following;
- Resolution
- BitRate
- Image Blockiness




Secondary Metrics

Network Metrics

Trace Route

ProNet issues a trace route every 5 seconds to determine A) the number of hops between the client and server and B) the route the packets take geographically. The trace route metric have the following fields

Field Description
timestamp The timestamp of the trace route measured in ms from EPOCH
hops An array containing the address of each hop.
Each address can be either IPV4 or IPV6
ICMP RTT (Ping)

ProNet measures the RTT of each hop between the client and server (inclusive) every 1000ms. It also measures the RTT of each hop at the point the user triggers an Input to Action latency calculation. Each RTT entry has the following fields

Field Description
timestamp The timestamp of the ping measured in ms from EPOCH
endpointType The endpoint type can be on of the four values
0. Local gateway
1. Internet reference (Usually Google DNS 8.8.8.8)
2. Remote server
3. Hop, ie on of the nodes between the local gateway and the remote server
destinationAddress The IP address of this particular RTT sample
roundTripTime The time in ms it took to for a message to reach the destinationAddress and return back
success If false then this sample failed (potentially due to packet loss) otherwise true. If false roundTripTime would be 0.
RTT Jitter (Ping Jitter)

Jitter is calculated from the ICMP RTT samples and has the following fields

Field Description
timestamp The timestamp of the jitter sample measured in ms from EPOCH
endpointType The endpoint type can be on of the four values
0. Local gateway
1. Internet reference (Usually Google DNS 8.8.8.8)
2. Remote server
3. Hop, ie on of the nodes between the local gateway and the remote server
destinationAddress The IP address of this particular RTT sample
jitter The average difference in ICMP RTT samples calculated as a moving average over a period of 10 seconds
Data Usage

Both up and down data rates are recorded for the selected app. This includes all TCP and UDP packets. The metric contains the following fields

Field Description
timestamp The timestamp of the sample measured in ms from EPOCH
downloadSpeed The current rate in Bytes per second, the application is receiving data
uploadSpeed The current rate in Bytes per second, the application is sending data
appTotalReceivedBytes The total number of Bytes the application has received since start of the session
appTotalSentBytes The total number of Bytes the application has sent since start of the session
appReceivedBytes The number of Bytes the application has received since the last sample (0 if first sample)
appSentBytes The number of Bytes the application has sent since the last sample (0 if first sample)
WebRTC Stats

When using online services via a chrome browser like a cloud streaming or video conferencing service it is most likely they the WebRTC standard, and therefore GameBench ProNet can collect the WebRTC stats using the GameBench Chrome Extension. The WebRTC stats standard has many different metrics, GameBench tools focus on the video and audio streams both received and sent.

WebRTC Inbound Audio Stream
Field Description
timestamp The timestamp of the sample measured in ms from EPOCH
avgJitterBufferDelay The avg jitter buffer delay since calculated since the last sample.
The jitter buffer delay is the delay induced by the buffer that stores packets before audio samples are processed. For more information see the official WebRTC Stats documentation
nackCount The total number of Negative ACKnowledgement (NACK) packets
packetsLost Total number of RTP packets lost.
Please note that most WebRTC streams use UDP streams and so due to the way lost packets are calculated it can be negative if more packets are received than sent. See the official documentation for more information
WebRTC Inbound Video Stream
Field Description
timestamp The timestamp of the sample measured in ms from EPOCH
frameWidth The horizontal resolution of the encoded video stream
frameHeight The vertical resolution of the encoded video stream
framesDecoded The total number of frames decoded in this stream
avgJitterBufferDelay The avg jitter buffer delay since calculated since the last frame.
The jitter buffer delay is the delay induced by the buffer that stores packets before video frames are processed. For more information see the official WebRTC Stats documentation
nackCount The total number of Negative ACKnowledgement (NACK) packets
packetsLost Total number of RTP packets lost.
Please note that most WebRTC streams use UDP streams and so due to the way lost packets are calculated it can be negative if more packets are received than sent. See the official documentation for more information
pliCount The total number of Picture Loss Indication (PLI) packets
codecId The codec identification
packetsReceived The total number of packets received
bytesReceived The total number of Bytes received
framesPerSecond The number of frames decoded per second
framesReceived The total number of frames received
avgDecodeTime The average decode time of a frame, calculated since the last sample
avgProcessingDelay The average processing time of each frame, calculated since the last sample.
The process delay is defined as the time between the first packet received to the frame being decoded. More information can be found in teh official documentation
WebRTC Outbound Audio Stream
Field Description
timestamp The timestamp of the sample measured in ms from EPOCH
nackCount The total number of Negative ACKnowledgement (NACK) packets
packetsSent Total number of packets sent
targetBitrate Total target bitrate
WebRTC Outbound Video Stream
Field Description
timestamp The timestamp of the sample measured in ms from EPOCH
frameWidth The horizontal resolution of the encoded video stream
frameHeight The vertical resolution of the encoded video stream
framesSent The total number of frames sent
nackCount The total number of Negative ACKnowledgement (NACK) packets
pliCount The total number of Picture Loss Indication (PLI) packets
totalEncodeTime The amount of time spent encoding frames.

Device Metrics

GPU Usage

GPU usage is constantly measured to allow analysis to check for possible GPU bottlenecks. The GPU metric has the following fields

Field Description
timestamp The timestamp of the GPU usage sample measured in ms from EPOCH
usage The GPU usage measured in % (0-100).
A GPU has many different areas that could be loaded, and so the field will show the percentage of the highest loaded part. For example whilst playing a native game this will most likely be the 3D engine however if you were playing a cloud gaming this would most likely be the decode engine
CPU Usage

CPU usage is constantly measured to allow analysis to check for possible CPU bottlenecks. The CPU metric has the following fields

Field Description
timestamp The timestamp of the GPU usage sample measured in ms from EPOCH
usage The CPU usage of the application measured in % (0-100).
Memory Usage

Memory usage is constantly measured to allow analysis to check to see if any graphical hitches were caused by a memory issue; either by a lack of memory or a garbage collection event. The GPU metric has the following fields

Field Description
timestamp The timestamp of the GPU usage sample measured in ms from EPOCH
usage The mem usage of the application measured in Bytes.
Last updated on