From 0cc2fc92081294895d5054f90459665fa02c381d Mon Sep 17 00:00:00 2001
From: Rainer Kartmann <rainer.kartmann@kit.edu>
Date: Fri, 1 Dec 2023 12:56:13 +0100
Subject: [PATCH] Log queue size to debug observer

---
 .../server/proprioception/RobotStateWriter.cpp       | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/source/RobotAPI/libraries/armem_robot_state/server/proprioception/RobotStateWriter.cpp b/source/RobotAPI/libraries/armem_robot_state/server/proprioception/RobotStateWriter.cpp
index 270b9d302..5c4580c4c 100644
--- a/source/RobotAPI/libraries/armem_robot_state/server/proprioception/RobotStateWriter.cpp
+++ b/source/RobotAPI/libraries/armem_robot_state/server/proprioception/RobotStateWriter.cpp
@@ -67,10 +67,14 @@ namespace armarx::armem::server::robot_state::proprioception
     {
         while (isRunning())
         {
-            // if (debugObserver)
-            // {
-            //     debugObserver->setDebugObserverDatafield("RobotStateWriter | Queue Size", dataBuffer.size());
-            // }
+            if (debugObserver)
+            {
+                // This locks the queue, but I did not find an interface to lock the queue,
+                // get the size and wait_pull().
+                size_t dataBufferSize = dataBuffer.size();
+                debugObserver->setDebugObserverDatafield("RobotStateWriter | Queue Size",
+                                                         static_cast<long>(dataBufferSize));
+            }
 
             RobotUnitData robotUnitData;
             if (const auto status = dataBuffer.wait_pull(robotUnitData);
-- 
GitLab