From ee699a475aef09c4665b69ccb63d26a3f5e27ec5 Mon Sep 17 00:00:00 2001 From: Rainer Kartmann <rainer.kartmann@kit.edu> Date: Mon, 16 Aug 2021 09:51:21 +0200 Subject: [PATCH] Cleanup, add ARMARX_TRACE --- .../ExampleMemoryClient.cpp | 5 +++-- .../RobotAPI/libraries/armem/core/Commit.cpp | 4 ++-- .../armem/core/base/ice_conversions.h | 2 -- .../libraries/armem/core/error/ArMemError.cpp | 2 +- .../armem/core/wm/ice_conversions.cpp | 1 - .../armem/server/ComponentPlugin.cpp | 9 +++++---- .../armem/server/MemoryToIceAdapter.cpp | 20 ++++++++++++------- .../libraries/armem/test/ArMemQueryTest.cpp | 2 ++ 8 files changed, 26 insertions(+), 19 deletions(-) diff --git a/source/RobotAPI/components/armem/client/ExampleMemoryClient/ExampleMemoryClient.cpp b/source/RobotAPI/components/armem/client/ExampleMemoryClient/ExampleMemoryClient.cpp index 036d27d2b..3678ecd55 100644 --- a/source/RobotAPI/components/armem/client/ExampleMemoryClient/ExampleMemoryClient.cpp +++ b/source/RobotAPI/components/armem/client/ExampleMemoryClient/ExampleMemoryClient.cpp @@ -34,6 +34,7 @@ #include <RobotAPI/libraries/armem/client/query/query_fns.h> #include <RobotAPI/libraries/armem/core/error.h> #include <RobotAPI/libraries/armem/core/aron_conversions.h> +#include <RobotAPI/libraries/armem/core/operations.h> #include <RobotAPI/libraries/armem/core/wm/ice_conversions.h> #include <RobotAPI/components/armem/server/ExampleMemory/aron/ExampleData.aron.generated.h> @@ -257,7 +258,6 @@ namespace armarx armem::client::QueryResult qResult = memoryReader.query(builder.buildQueryInput()); ARMARX_INFO << qResult; - if (qResult.success) { ARMARX_IMPORTANT << "Getting entity via ID"; @@ -266,7 +266,8 @@ namespace armarx ARMARX_CHECK_GREATER_EQUAL(memory.size(), 1); const armem::wm::Entity* entity = memory.findEntity(entityID); - ARMARX_CHECK_NOT_NULL(entity); + ARMARX_CHECK_NOT_NULL(entity) + << "Entity " << entityID << " was not found in " << armem::print(memory); ARMARX_CHECK_GREATER_EQUAL(entity->size(), 1); const armem::wm::EntitySnapshot& snapshot = entity->getLatestSnapshot(); diff --git a/source/RobotAPI/libraries/armem/core/Commit.cpp b/source/RobotAPI/libraries/armem/core/Commit.cpp index fed012450..db5f1b630 100644 --- a/source/RobotAPI/libraries/armem/core/Commit.cpp +++ b/source/RobotAPI/libraries/armem/core/Commit.cpp @@ -14,7 +14,7 @@ namespace armarx::armem { return os << "Entity update: " << "\n- success: \t" << rhs.entityID - << "\n- timestamp: \t" << rhs.timeCreated + << "\n- timestamp: \t" << toDateTimeMilliSeconds(rhs.timeCreated) << "\n- #instances: \t" << rhs.instancesData.size() << "\n" ; @@ -25,7 +25,7 @@ namespace armarx::armem return os << "Entity update result: " << "\n- success: \t" << (rhs.success ? "true" : "false") << "\n- snapshotID: \t" << rhs.snapshotID - << "\n- time arrived: \t" << rhs.timeArrived.toDateTime() + << "\n- time arrived: \t" << toDateTimeMilliSeconds(rhs.timeArrived) << "\n- error message: \t" << rhs.errorMessage << "\n" ; diff --git a/source/RobotAPI/libraries/armem/core/base/ice_conversions.h b/source/RobotAPI/libraries/armem/core/base/ice_conversions.h index dba990834..182e0c0a4 100644 --- a/source/RobotAPI/libraries/armem/core/base/ice_conversions.h +++ b/source/RobotAPI/libraries/armem/core/base/ice_conversions.h @@ -110,7 +110,6 @@ namespace armarx::armem::base detail::toIce(ice.aronType, providerSegment.aronType()); ARMARX_CHECK(!providerSegment.aronType() || ice.aronType); - // toIce(ice.entities, providerSegment.entities()); ice.entities.clear(); providerSegment.forEachEntity([&ice](const auto & entity) { @@ -125,7 +124,6 @@ namespace armarx::armem::base detail::fromIce(ice.aronType, providerSegment.aronType()); ARMARX_CHECK(!providerSegment.aronType() || ice.aronType); - // fromIce(ice.entities, providerSegment.entities()); providerSegment.clear(); for (const auto& [key, entity] : ice.entities) { diff --git a/source/RobotAPI/libraries/armem/core/error/ArMemError.cpp b/source/RobotAPI/libraries/armem/core/error/ArMemError.cpp index 8936fab6f..003ef9fb5 100644 --- a/source/RobotAPI/libraries/armem/core/error/ArMemError.cpp +++ b/source/RobotAPI/libraries/armem/core/error/ArMemError.cpp @@ -59,7 +59,7 @@ namespace armarx::armem::error { std::stringstream ss; ss << simox::alg::capitalize_words(existingTerm) << " with name '" << existingName << "' " - << " already exists in " << ownTerm << " '" << ownName << "'."; + << "already exists in " << ownTerm << " '" << ownName << "'."; return ss.str(); } diff --git a/source/RobotAPI/libraries/armem/core/wm/ice_conversions.cpp b/source/RobotAPI/libraries/armem/core/wm/ice_conversions.cpp index 70a905a93..ba6c9782e 100644 --- a/source/RobotAPI/libraries/armem/core/wm/ice_conversions.cpp +++ b/source/RobotAPI/libraries/armem/core/wm/ice_conversions.cpp @@ -15,7 +15,6 @@ namespace armarx::armem base::fromIce(ice, data); } - void wm::toIce(data::EntitySnapshot& ice, const EntitySnapshot& snapshot) { base::toIce(ice, snapshot); diff --git a/source/RobotAPI/libraries/armem/server/ComponentPlugin.cpp b/source/RobotAPI/libraries/armem/server/ComponentPlugin.cpp index 28bf14da2..86b1d93ef 100644 --- a/source/RobotAPI/libraries/armem/server/ComponentPlugin.cpp +++ b/source/RobotAPI/libraries/armem/server/ComponentPlugin.cpp @@ -124,13 +124,14 @@ namespace armarx::armem::server // WRITING data::AddSegmentsResult ComponentPluginUser::addSegments(const data::AddSegmentsInput& input, const Ice::Current&) { + ARMARX_TRACE; bool addCoreSegmentOnUsage = false; return addSegments(input, addCoreSegmentOnUsage); } data::AddSegmentsResult ComponentPluginUser::addSegments(const data::AddSegmentsInput& input, bool addCoreSegments) { - // std::scoped_lock lock(workingMemoryMutex); + ARMARX_TRACE; data::AddSegmentsResult result = iceMemory.addSegments(input, addCoreSegments); return result; } @@ -138,7 +139,7 @@ namespace armarx::armem::server data::CommitResult ComponentPluginUser::commit(const data::Commit& commitIce, const Ice::Current&) { - // std::scoped_lock lock(workingMemoryMutex); + ARMARX_TRACE; return iceMemory.commit(commitIce); } @@ -146,7 +147,7 @@ namespace armarx::armem::server // READING armem::query::data::Result ComponentPluginUser::query(const armem::query::data::Input& input, const Ice::Current&) { - // std::scoped_lock lock(workingMemoryMutex); + ARMARX_TRACE; return iceMemory.query(input); } @@ -154,7 +155,7 @@ namespace armarx::armem::server // LTM STORING data::StoreResult ComponentPluginUser::store(const data::StoreInput& input, const Ice::Current&) { - //std::scoped_lock lock(workingMemoryMutex, longtermMemoryMutex); + ARMARX_TRACE; return iceMemory.store(input); } diff --git a/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp b/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp index b47c7f313..73d00c3a3 100644 --- a/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp +++ b/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp @@ -34,6 +34,7 @@ namespace armarx::armem::server data::AddSegmentResult MemoryToIceAdapter::addSegment(const data::AddSegmentInput& input, bool addCoreSegments) { + ARMARX_TRACE; ARMARX_CHECK_NOT_NULL(workingMemory); data::AddSegmentResult output; @@ -92,6 +93,7 @@ namespace armarx::armem::server data::AddSegmentsResult MemoryToIceAdapter::addSegments(const data::AddSegmentsInput& input, bool addCoreSegments) { + ARMARX_TRACE; ARMARX_CHECK_NOT_NULL(workingMemory); data::AddSegmentsResult output; @@ -106,6 +108,7 @@ namespace armarx::armem::server data::CommitResult MemoryToIceAdapter::commit(const data::Commit& commitIce, Time timeArrived) { + ARMARX_TRACE; ARMARX_CHECK_NOT_NULL(workingMemory); auto handleException = [](const std::string & what) { @@ -143,6 +146,7 @@ namespace armarx::armem::server data::CommitResult MemoryToIceAdapter::commit(const data::Commit& commitIce) { + ARMARX_TRACE; return commit(commitIce, armem::Time::now()); } @@ -150,18 +154,21 @@ namespace armarx::armem::server armem::CommitResult MemoryToIceAdapter::commit(const armem::Commit& commit) { + ARMARX_TRACE; return this->_commit(commit, false); } armem::CommitResult MemoryToIceAdapter::commitLocking(const armem::Commit& commit) { + ARMARX_TRACE; return this->_commit(commit, true); } armem::CommitResult MemoryToIceAdapter::_commit(const armem::Commit& commit, bool locking) { + ARMARX_TRACE; std::vector<data::MemoryID> updatedIDs; const bool publishUpdates = bool(memoryListenerTopic); @@ -228,6 +235,7 @@ namespace armarx::armem::server armem::query::data::Result MemoryToIceAdapter::query(const armem::query::data::Input& input) { + ARMARX_TRACE; ARMARX_CHECK_NOT_NULL(workingMemory); // Core segment processors will aquire the core segment locks. @@ -257,13 +265,13 @@ namespace armarx::armem::server query_proc::wm::MemoryQueryProcessor wm2wmProcessor( input.withData ? armem::DataMode::WithData : armem::DataMode::NoData); - armem::wm::Memory merged_result = wm2wmProcessor.process(queryInput.toIce(), wmResult); - if (merged_result.empty()) + armem::wm::Memory mergedResult = wm2wmProcessor.process(queryInput.toIce(), wmResult); + if (mergedResult.empty()) { ARMARX_ERROR << "A merged and postprocessed Memory has no data although at least the LTM result contains data. This indicates that something is wrong."; } - result.memory = toIce<data::MemoryPtr>(merged_result); + result.memory = toIce<data::MemoryPtr>(mergedResult); // also move results of ltm to wm //this->commit(toCommit(ltm_converted)); @@ -289,6 +297,7 @@ namespace armarx::armem::server client::QueryResult MemoryToIceAdapter::query(const client::QueryInput& input) { + ARMARX_TRACE; return client::QueryResult::fromIce(query(input.toIce())); } @@ -298,6 +307,7 @@ namespace armarx::armem::server // LTM STORING data::StoreResult MemoryToIceAdapter::store(const armem::data::StoreInput& input) { + ARMARX_TRACE; ARMARX_CHECK_NOT_NULL(workingMemory); ARMARX_CHECK_NOT_NULL(longtermMemoryManager); data::StoreResult output; @@ -322,8 +332,4 @@ namespace armarx::armem::server return output; } - - - - } diff --git a/source/RobotAPI/libraries/armem/test/ArMemQueryTest.cpp b/source/RobotAPI/libraries/armem/test/ArMemQueryTest.cpp index b97ac5e3c..13d050572 100644 --- a/source/RobotAPI/libraries/armem/test/ArMemQueryTest.cpp +++ b/source/RobotAPI/libraries/armem/test/ArMemQueryTest.cpp @@ -30,6 +30,8 @@ #include <RobotAPI/libraries/armem/core/base/detail/negative_index_semantics.h> #include <RobotAPI/libraries/armem/server/query_proc/wm.h> +#include <ArmarXCore/core/exceptions/LocalException.h> + #include <SimoxUtility/algorithm/get_map_keys_values.h> #include <SimoxUtility/algorithm/string.h> -- GitLab