wsd/Admin.cpp | 2 +- wsd/AdminModel.cpp | 15 +++++++++++++-- wsd/AdminModel.hpp | 2 +- 3 files changed, 15 insertions(+), 4 deletions(-)
New commits: commit cc3285e92365e6cfdf07732e575cff0c7848748f Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> Date: Mon Jan 30 00:01:49 2017 -0500 wsd: log memory stat duration and averages Change-Id: I8c84053c52c6725d2bda2e75313c52520e4bae6e Reviewed-on: https://gerrit.libreoffice.org/33679 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/wsd/Admin.cpp b/wsd/Admin.cpp index 6cfe993..333011f 100644 --- a/wsd/Admin.cpp +++ b/wsd/Admin.cpp @@ -328,7 +328,7 @@ void MemoryStats::run() { std::unique_lock<std::mutex> modelLock(_admin->getLock()); AdminModel& model = _admin->getModel(); - const auto totalMem = model.getTotalMemoryUsage(); + const auto totalMem = model.getKitsMemoryUsage(); if (totalMem != _lastTotalMemory) { diff --git a/wsd/AdminModel.cpp b/wsd/AdminModel.cpp index 5f61175..5055d90 100644 --- a/wsd/AdminModel.cpp +++ b/wsd/AdminModel.cpp @@ -129,17 +129,28 @@ std::string AdminModel::query(const std::string& command) } /// Returns memory consumed by all active loolkit processes -unsigned AdminModel::getTotalMemoryUsage() +unsigned AdminModel::getKitsMemoryUsage() { + Poco::Timestamp ts; unsigned totalMem = 0; + unsigned docs = 0; for (const auto& it : _documents) { if (!it.second.isExpired()) { - totalMem += Util::getMemoryUsage(it.second.getPid()); + const auto bytes = Util::getMemoryUsage(it.second.getPid()); + if (bytes > 0) + { + totalMem += bytes; + ++docs; + } } } + LOG_INF("Got total Kits memory of " << totalMem << " bytes in " << ts.elapsed()/1001. << " ms for " << + docs << " docs, avg: " << static_cast<double>(totalMem) / docs << " bytes / doc in " << + ts.elapsed() / 1000. / docs << " ms per doc."); + return totalMem; } diff --git a/wsd/AdminModel.hpp b/wsd/AdminModel.hpp index 1dce29c..02cd78a 100644 --- a/wsd/AdminModel.hpp +++ b/wsd/AdminModel.hpp @@ -146,7 +146,7 @@ public: std::string query(const std::string& command); /// Returns memory consumed by all active loolkit processes - unsigned getTotalMemoryUsage(); + unsigned getKitsMemoryUsage(); void subscribe(int sessionId, std::shared_ptr<LOOLWebSocket>& ws); void subscribe(int sessionId, const std::string& command); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits