wsd/DocumentBroker.cpp | 15 ++++++++++++++- wsd/DocumentBroker.hpp | 4 +++- 2 files changed, 17 insertions(+), 2 deletions(-)
New commits: commit 51ae42d513842994091d10b15565ba4741092122 Author: Michael Meeks <michael.me...@collabora.com> Date: Sat Mar 11 22:01:27 2017 +0000 DocumentBroker: log load time and dump it on request. diff --git a/wsd/DocumentBroker.cpp b/wsd/DocumentBroker.cpp index 6ddb463..c4c3307 100644 --- a/wsd/DocumentBroker.cpp +++ b/wsd/DocumentBroker.cpp @@ -190,6 +190,8 @@ void DocumentBroker::pollThread() LOG_INF("Starting docBroker polling thread for docKey [" << _docKey << "]."); + _threadStart = std::chrono::steady_clock::now(); + // Request a kit process for this doc. _childProcess = getNewChild_Blocks(); if (!_childProcess) @@ -603,6 +605,14 @@ bool DocumentBroker::saveToStorageInternal(const std::string& sessionId, return false; } +void DocumentBroker::setLoaded() +{ + _isLoaded = true; + _loadDuration = std::chrono::duration_cast<std::chrono::milliseconds>( + std::chrono::steady_clock::now() - _threadStart); + LOG_TRC("Document loaded in " << _loadDuration.count() << "ms"); +} + bool DocumentBroker::autoSave(const bool force) { if (_sessions.empty() || _storage == nullptr || !_isLoaded || @@ -1311,7 +1321,10 @@ void DocumentBroker::dumpState() std::cerr << " *** Marked to destroy ***\n"; else std::cerr << " has live sessions\n"; - std::cerr << " loaded?: " << _isLoaded << "\n"; + if (_isLoaded) + std::cerr << " loaded in: " << _loadDuration.count() << "ms\n"; + else + std::cerr << " still loading...\n"; std::cerr << " modified?: " << _isModified << "\n"; std::cerr << " jail id: " << _jailId << "\n"; std::cerr << " public uri: " << _uriPublic.toString() << "\n"; diff --git a/wsd/DocumentBroker.hpp b/wsd/DocumentBroker.hpp index b07b9b5..0ca4ab7 100644 --- a/wsd/DocumentBroker.hpp +++ b/wsd/DocumentBroker.hpp @@ -234,7 +234,7 @@ public: /// Loads a document from the public URI into the jail. bool load(std::shared_ptr<ClientSession>& session, const std::string& jailId); bool isLoaded() const { return _isLoaded; } - void setLoaded() { _isLoaded = true; } + void setLoaded(); /// Save the document to Storage if it needs persisting. bool saveToStorage(const std::string& sesionId, bool success, const std::string& result = ""); @@ -417,6 +417,8 @@ private: int _debugRenderedTileCount; std::chrono::steady_clock::time_point _lastActivityTime; + std::chrono::steady_clock::time_point _threadStart; + std::chrono::milliseconds _loadDuration; static constexpr auto IdleSaveDurationMs = 30 * 1000; static constexpr auto AutoSaveDurationMs = 300 * 1000; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits