diff --git a/common/include/villas/memory_manager.hpp b/common/include/villas/memory_manager.hpp index 275d5a9fa..d9d4cd43d 100644 --- a/common/include/villas/memory_manager.hpp +++ b/common/include/villas/memory_manager.hpp @@ -141,6 +141,7 @@ public: static MemoryManager &get(); MemoryGraph &getGraph() { return memoryGraph; } + void printGraph(); AddressSpaceId getProcessAddressSpace() { return getOrCreateAddressSpace("process"); diff --git a/common/lib/memory_manager.cpp b/common/lib/memory_manager.cpp index 286c2ee50..9e2976121 100644 --- a/common/lib/memory_manager.cpp +++ b/common/lib/memory_manager.cpp @@ -227,4 +227,24 @@ MemoryTranslation::operator+=(const MemoryTranslation &other) { return *this; } +void MemoryManager::printGraph() { + auto loggerStatic = logger; + + loggerStatic->info("####### Vertices ########"); + + for (unsigned int i = 0; i < memoryGraph.getVertexCount(); i++) { + auto vertex = memoryGraph.getVertex(i); + loggerStatic->info(std::to_string(i) + ": " + vertex->name); + } + + loggerStatic->info("####### Edges ########"); + + for (unsigned int i = 0; i < memoryGraph.getEdgeCount(); i++) { + auto mapping = memoryGraph.getEdge(i); + loggerStatic->info("From: " + std::to_string(mapping->getVertexFrom()) + + " To: " + std::to_string(mapping->getVertexTo()) + + " ID: " + mapping->toString()); + } +} + } // namespace villas