diff --git a/devices/Statistics.py b/devices/Statistics.py
index 6b56b1aaac5dca54b02f0bc9e91b035da2a89f83..b397898e5b76c026dcd82ae18b014374062800aa 100644
--- a/devices/Statistics.py
+++ b/devices/Statistics.py
@@ -49,6 +49,7 @@ class SST(hardware_device):
     # Example: comms_annotation={"parameter": "this_value_R"}
     packet_count_R = attribute_wrapper(comms_annotation={"parameter": "packet_count_R"}, datatype=numpy.int64)
     last_packet_timestamp_R = attribute_wrapper(comms_annotation={"parameter": "last_packet_timestamp_R"}, datatype=numpy.int64)
+    queue_percentage_used_R = attribute_wrapper(comms_annotation={"parameter": "queue_percentage_used_R"}, datatype=numpy.double)
 
     # --------
     # overloaded functions
diff --git a/devices/clients/sst_client.py b/devices/clients/sst_client.py
index 4692b5d071772dddd4d01849e15a747a4a682f6b..407dabde32845b9c16d62019a13012dda2be0676 100644
--- a/devices/clients/sst_client.py
+++ b/devices/clients/sst_client.py
@@ -1,3 +1,4 @@
+import queue
 from threading import Thread
 import socket
 from util.comms_client import CommClient
@@ -134,6 +135,8 @@ class UDP_Receiver(Thread):
 
             except socket.timeout:
                 pass
+            except queue.Full:
+                pass
 
     def __del__(self):
         self.stream_on = False
@@ -149,7 +152,8 @@ class SST(Thread):
 
         self.parameters = {
             "packet_count_R": numpy.int64(0),
-            "last_packet_timestamp_R": numpy.int64(0)
+            "last_packet_timestamp_R": numpy.int64(0),
+            "queue_percentage_used_R": numpy.double(100 * self.queue.qsize() / self.queue.maxsize)
         }
 
         super().__init__()
@@ -174,3 +178,4 @@ class SST(Thread):
     def process_packet(self, packet):
         self.parameters["packet_count_R"] += 1
         self.parameters["last_packet_timestamp_R"] = numpy.int64(int(time.time()))
+        self.parameters["queue_percentage_used_R"] = numpy.double(100 * self.queue.qsize() / self.queue.maxsize)
\ No newline at end of file
diff --git a/jupyter-notebooks/test_device.ipynb b/jupyter-notebooks/test_device.ipynb
index b404b04c7717a607882884c56dfe446adecd7272..69a441862a20d1d0d8f53bf2cf6a68a3dc7c9218 100644
--- a/jupyter-notebooks/test_device.ipynb
+++ b/jupyter-notebooks/test_device.ipynb
@@ -2,7 +2,7 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 30,
    "id": "waiting-chance",
    "metadata": {},
    "outputs": [],
@@ -13,7 +13,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 31,
    "id": "moving-alexandria",
    "metadata": {},
    "outputs": [],
@@ -23,7 +23,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 32,
    "id": "ranking-aluminum",
    "metadata": {},
    "outputs": [
@@ -51,7 +51,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 60,
    "id": "beneficial-evidence",
    "metadata": {},
    "outputs": [
@@ -59,10 +59,11 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "packet_count_R [80]\n",
-      "last_packet_timestamp_R [1623239037]\n",
-      "State <function __get_command_func.<locals>.f at 0x7fcb20e510d0>\n",
-      "Status <function __get_command_func.<locals>.f at 0x7fcb20e510d0>\n"
+      "packet_count_R [139917203]\n",
+      "last_packet_timestamp_R [1623248251]\n",
+      "queue_percentage_used_R [100.]\n",
+      "State <function __get_command_func.<locals>.f at 0x7fcb20e68bf8>\n",
+      "Status <function __get_command_func.<locals>.f at 0x7fcb20e68bf8>\n"
      ]
     }
    ],