net/ServerSocket.hpp | 2 ++ net/Socket.cpp | 14 ++++++++++++++ net/Socket.hpp | 8 +------- wsd/DocumentBroker.cpp | 14 ++++++++++++++ wsd/DocumentBroker.hpp | 2 ++ wsd/LOOLWSD.cpp | 6 +++++- 6 files changed, 38 insertions(+), 8 deletions(-)
New commits: commit 56960d34bb2f9949275383e2802c772fc0b576d6 Author: Michael Meeks <michael.me...@collabora.com> Date: Mon Mar 6 15:45:34 2017 +0000 Improve socket state dumping on USR1. diff --git a/net/ServerSocket.hpp b/net/ServerSocket.hpp index 881a685..6d86daf 100644 --- a/net/ServerSocket.hpp +++ b/net/ServerSocket.hpp @@ -84,6 +84,8 @@ public: return POLLIN; } + void dumpState() override; + HandleResult handlePoll(const Poco::Timestamp &/* now */, int events) override { if (events & POLLIN) diff --git a/net/Socket.cpp b/net/Socket.cpp index 31cbc1d..88502c8 100644 --- a/net/Socket.cpp +++ b/net/Socket.cpp @@ -8,6 +8,7 @@ */ #include "Socket.hpp" +#include "ServerSocket.hpp" // help with initialization order namespace { @@ -54,6 +55,19 @@ void SocketPoll::wakeupWorld() wakeup(fd); } +void ServerSocket::dumpState() +{ + std::cerr << "\t" << getFD() << "\t<accept>\n"; +} + +void StreamSocket::dumpState() +{ + std::cerr << "\t" << getFD() << "\t" << getPollEvents() << "\t" + << _inBuffer.size() << "\t" << _outBuffer.size() << "\t" + << "\n"; + // FIXME: hex dump buffer contents if we have them. +} + void SocketPoll::dumpState() { std::cerr << " Poll [" << _pollSockets.size() << "] - wakeup r: " diff --git a/net/Socket.hpp b/net/Socket.hpp index a601cb1..ba55503 100644 --- a/net/Socket.hpp +++ b/net/Socket.hpp @@ -559,13 +559,7 @@ protected: return ::write(getFD(), buf, len); } - void dumpState() override - { - std::cerr << "\t" << getFD() << "\t" << getPollEvents() << "\t" - << _inBuffer.size() << "\t" << _outBuffer.size() << "\t" - << "\n"; - // FIXME: hex dump buffer contents if we have them. - } + void dumpState() override; /// Get the Write Lock. std::unique_lock<std::mutex> getWriteLock() { return std::unique_lock<std::mutex>(_writeMutex); } diff --git a/wsd/DocumentBroker.cpp b/wsd/DocumentBroker.cpp index 8f72e21..f1715aa 100644 --- a/wsd/DocumentBroker.cpp +++ b/wsd/DocumentBroker.cpp @@ -1195,4 +1195,18 @@ void DocumentBroker::updateLastActivityTime() Admin::instance().updateLastActivityTime(_docKey); } +void DocumentBroker::dumpState() +{ + std::unique_lock<std::mutex> lock(_mutex); + + std::cerr << " Broker: " << _filename << "\n"; + std::cerr << " jail id: " << _jailId << "\n"; + std::cerr << " public uri: " << _uriPublic.toString() << "\n"; + std::cerr << " jailed uri: " << _uriJailed.toString() << "\n"; + std::cerr << " doc key: " << _docKey << "\n"; + std::cerr << " num sessions: " << getSessionsCount() << "\n"; + + _poll.dumpState(); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/wsd/DocumentBroker.hpp b/wsd/DocumentBroker.hpp index a2d23a6..6981d4e 100644 --- a/wsd/DocumentBroker.hpp +++ b/wsd/DocumentBroker.hpp @@ -255,6 +255,8 @@ public: return _sessions.size(); } + void dumpState(); + std::string getJailRoot() const; /// Add a new session. Returns the new number of sessions. diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp index aa5607a..51d4430 100644 --- a/wsd/LOOLWSD.cpp +++ b/wsd/LOOLWSD.cpp @@ -2382,8 +2382,12 @@ public: std::cerr << "Server poll:\n"; _acceptPoll.dumpState(); - std::cerr << "Document poll:\n"; + std::cerr << "Web Server poll:\n"; _webServerPoll.dumpState(); + + std::cerr << "Document Broker polls:\n"; + for (auto &i : DocBrokers) + i.second->dumpState(); } private: _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits