diff --git a/source/RobotAPI/libraries/armem_robot_state/server/common/Visu.cpp b/source/RobotAPI/libraries/armem_robot_state/server/common/Visu.cpp
index 43af7dbcd44cce62ed344ae5965ae808675f43ad..cdaa6d2369a69bebba808a17b3807afd0990c4db 100644
--- a/source/RobotAPI/libraries/armem_robot_state/server/common/Visu.cpp
+++ b/source/RobotAPI/libraries/armem_robot_state/server/common/Visu.cpp
@@ -186,15 +186,17 @@ namespace armarx::armem::server::robot_state
 
                 if (p.enabled)
                 {
-                    // TIMING_START(Visu);
+                    TIMING_START(Visu);
 
                     // TODO(fabian.reister): use timestamp
 
+                    const auto timestamp = IceUtil::Time::now();
+
                     try
                     {
-                        const auto robotDescriptions = descriptionSegment.getRobotDescriptions();
-                        const auto globalRobotPoseMap = localizationSegment.getRobotGlobalPoses();
-                        const auto robotJointPositionMap = proprioceptionSegment.getRobotJointPositions();
+                        const auto robotDescriptions = descriptionSegment.getRobotDescriptions(timestamp);
+                        const auto globalRobotPoseMap = localizationSegment.getRobotGlobalPoses(timestamp);
+                        const auto robotJointPositionMap = proprioceptionSegment.getRobotJointPositions(timestamp);
 
 
                         // we need all 3 informations:
@@ -216,7 +218,7 @@ namespace armarx::armem::server::robot_state
                         ARMARX_DEBUG << "Done committing";
 
 
-                        // TIMING_END_STREAM(Visu, ARMARX_VERBOSE);
+                        TIMING_END_STREAM(Visu, ARMARX_VERBOSE);
 
                         // if (debugObserver)
                         // {
diff --git a/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp b/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp
index f00a970c168393a4c15223fcf02e5a30b1f3da91..011d37e33507cb19c8d888cb939c1d326813909e 100644
--- a/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp
+++ b/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp
@@ -105,7 +105,7 @@ namespace armarx::armem::server::robot_state::description
         storeRobotDescription(robotDescription);
     }
 
-    Segment::RobotDescriptionMap Segment::getRobotDescriptions() const
+    Segment::RobotDescriptionMap Segment::getRobotDescriptions(const armem::Time& timestamp) const
     {
 
         RobotDescriptionMap robotDescriptions;
diff --git a/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.h b/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.h
index 8bb9ec017b006c1ad9dc5334688d04aa472e9ee1..21bfd98fe652e9973478769640ab9d06c5ef7c21 100644
--- a/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.h
+++ b/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.h
@@ -72,7 +72,7 @@ namespace armarx::armem::server::robot_state::description
         /// mapping "robot name" -> "robot description"
         using RobotDescriptionMap = std::unordered_map<std::string, robot::RobotDescription>;
 
-        RobotDescriptionMap getRobotDescriptions() const;
+        RobotDescriptionMap getRobotDescriptions(const armem::Time& timestamp) const;
 
     private:
 
diff --git a/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.cpp b/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.cpp
index 38fe69a9172cf4e5b39b0995d64e7a4f78be8424..500925f2d99383ba7e463ff09ecf94ea7283b087 100644
--- a/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.cpp
+++ b/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.cpp
@@ -89,7 +89,7 @@ namespace armarx::armem::server::robot_state::proprioception
         robotUnitProviderID.providerSegmentName = providerSegmentName;
     }
 
-    std::unordered_map<std::string, std::map<std::string, float>> Segment::getRobotJointPositions() const
+    std::unordered_map<std::string, std::map<std::string, float>> Segment::getRobotJointPositions(const armem::Time& timestamp) const
     {
         std::unordered_map<std::string, std::map<std::string, float>> jointMap;
 
diff --git a/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.h b/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.h
index 09bae1077a76757fcce175ec34dff212f6c4d2f3..bc83a946bcadafbc85a15d55cff79c3a18af970f 100644
--- a/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.h
+++ b/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.h
@@ -68,7 +68,7 @@ namespace armarx::armem::server::robot_state::proprioception
 
         void init();
 
-        std::unordered_map<std::string, std::map<std::string, float>> getRobotJointPositions() const;
+        std::unordered_map<std::string, std::map<std::string, float>> getRobotJointPositions(const armem::Time& timestamp) const;
 
         const armem::MemoryID& getRobotUnitProviderID() const;