diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControlThread.cpp b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControlThread.cpp
index e0131a416855174e5571d22d9e44cfac50f76954..88cf11c532113f593f4dfa9056e4469fbc9a7992 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControlThread.cpp
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControlThread.cpp
@@ -853,7 +853,7 @@ namespace armarx::RobotUnitModule
         }
 
         SensorAndControl& sc = _module<ControlThreadDataBuffer>().rtGetSensorAndControlBuffer();
-        sc.writeTimestamp = IceUtil::Time::now(); // this has to be in real time
+        sc.writeTimestamp = armarx::rtNow(); // this has to be in real time
         sc.sensorValuesTimestamp = sensorValuesTimestamp;
         sc.timeSinceLastIteration = timeSinceLastIteration;
         ARMARX_CHECK_EQUAL(rtGetSensorDevices().size(), sc.sensors.size());
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.cpp b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.cpp
index ee8522d21984cbf6936bd1b2c259e37850398d7f..725bb380ed3638ac9ad71102375c0c4a4a0c8f5d 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.cpp
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.cpp
@@ -50,14 +50,14 @@ namespace armarx::RobotUnitModule::details
             void
             start()
             {
-                t -= IceUtil::Time::now();
+                t -= armarx::rtNow();
                 ++n;
             }
 
             void
             stop()
             {
-                t += IceUtil::Time::now();
+                t += armarx::rtNow();
             }
 
             double
@@ -562,11 +562,11 @@ namespace armarx::RobotUnitModule
         ARMARX_TRACE;
         throwIfInControlThread(BOOST_CURRENT_FUNCTION);
         std::lock_guard<std::mutex> guard{rtLoggingMutex};
-        const auto now = IceUtil::Time::now();
+        const auto now = armarx::rtNow();
         // entries are removed last
 
         //remove backlog entries
-        const auto start_time_remove_backlog_entries = IceUtil::Time::now();
+        const auto start_time_remove_backlog_entries = armarx::rtNow();
         {
             if (rtLoggingBacklogEnabled)
             {
@@ -579,10 +579,9 @@ namespace armarx::RobotUnitModule
             }
         }
         //log all
-        const auto start_time_log_all = IceUtil::Time::now();
+        const auto start_time_log_all = armarx::rtNow();
         details::DoLoggingDurations dlogdurs;
         {
-            ARMARX_TRACE;
             if (!rtLoggingEntries.empty() || !rtDataStreamingEntry.empty())
             {
                 ARMARX_DEBUG << deactivateSpam() << "Number of logs    " << rtLoggingEntries.size()
@@ -617,7 +616,7 @@ namespace armarx::RobotUnitModule
         ARMARX_DEBUG << ::deactivateSpam() << "the last " << backlog.size()
                      << " iterations are stored";
         //flush all files
-        const auto start_time_flush_all_files = IceUtil::Time::now();
+        const auto start_time_flush_all_files = armarx::rtNow();
         {
             for (auto& pair : rtLoggingEntries)
             {
@@ -626,7 +625,7 @@ namespace armarx::RobotUnitModule
         }
 
         //remove entries
-        const auto start_time_remove_entries = IceUtil::Time::now();
+        const auto start_time_remove_entries = armarx::rtNow();
         {
             ARMARX_TRACE;
             std::vector<std::string> toRemove;
@@ -646,7 +645,7 @@ namespace armarx::RobotUnitModule
             }
         }
         //deal with data streaming
-        const auto start_time_data_streaming = IceUtil::Time::now();
+        const auto start_time_data_streaming = armarx::rtNow();
         {
             ARMARX_TRACE;
             std::vector<RobotUnitDataStreaming::ReceiverPrx> toRemove;
@@ -671,7 +670,7 @@ namespace armarx::RobotUnitModule
             }
         }
         // clang-format off
-        const auto end_time = IceUtil::Time::now();
+        const auto end_time = armarx::rtNow();
         const auto time_total = (end_time - now).toMilliSecondsDouble();
         ARMARX_DEBUG_S << deactivateSpam(1)
                      << "rtlogging time required:        " << time_total << "ms\n"
@@ -1150,12 +1149,12 @@ void
 Logging::DataStreamingEntry::send(const RobotUnitDataStreaming::ReceiverPrx& r, std::uint64_t msgId)
 {
     ARMARX_TRACE;
-    const auto start_send = IceUtil::Time::now();
+    const auto start_send = armarx::rtNow();
     const auto num_timesteps = result.size();
     updateCalls.emplace_back(r->begin_update(result, static_cast<Ice::Long>(msgId)));
-    const auto start_clear = IceUtil::Time::now();
+    const auto start_clear = armarx::rtNow();
     clearResult();
-    const auto end = IceUtil::Time::now();
+    const auto end = armarx::rtNow();
     ARMARX_DEBUG_S << "Logging::DataStreamingEntry::send"
                    << "\n    update " << (start_clear - start_send).toMilliSecondsDouble() << "ms ("
                    << num_timesteps << " timesteps)"
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.cpp b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.cpp
index 5d51c4ca2474c8e46bd3be0140ae45ec9e877e55..a98d34947959b80088f6cdb82be6aa4facdc07bd 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.cpp
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.cpp
@@ -255,7 +255,7 @@ namespace armarx::RobotUnitModule
     {
         ARMARX_TRACE;
         throwIfInControlThread(BOOST_CURRENT_FUNCTION);
-        const auto beg = TimeUtil::GetTime(true);
+        const auto beg = armarx::rtNow();
 
 
         StringVariantBaseMap ctrlDevMap;
@@ -314,7 +314,7 @@ namespace armarx::RobotUnitModule
             }
         }
 
-        const auto end = TimeUtil::GetTime(true);
+        const auto end = armarx::rtNow();
         return new TimedVariant{TimestampVariant{end - beg}, lastControlThreadTimestamp};
     }