loolwsd/DocumentBroker.cpp | 2 ++ loolwsd/LOOLWSD.hpp | 9 +++++++++ loolwsd/PrisonerSession.cpp | 2 ++ loolwsd/TraceFile.hpp | 11 +++++++++++ 4 files changed, 24 insertions(+)
New commits: commit 177802154da969a5d48469e934226830cfdf755e Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> Date: Sun Jul 31 07:54:47 2016 -0400 loolwsd: trace notifications and response messages Change-Id: I45f69386762d69e2b3960eeb96e591d7c5843b0b Reviewed-on: https://gerrit.libreoffice.org/27955 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/loolwsd/DocumentBroker.cpp b/loolwsd/DocumentBroker.cpp index 7b4640b..f998ab4 100644 --- a/loolwsd/DocumentBroker.cpp +++ b/loolwsd/DocumentBroker.cpp @@ -454,6 +454,8 @@ bool DocumentBroker::handleInput(const std::vector<char>& payload) Log::trace("DocumentBroker got child message: [" + LOOLProtocol::getAbbreviatedMessage(payload) + "]."); const auto command = LOOLProtocol::getFirstToken(payload); + LOOLWSD::dumpOutgoingTrace(command); + if (command == "tile:") { handleTileResponse(payload); diff --git a/loolwsd/LOOLWSD.hpp b/loolwsd/LOOLWSD.hpp index 0b9f6bc..72f3ffe 100644 --- a/loolwsd/LOOLWSD.hpp +++ b/loolwsd/LOOLWSD.hpp @@ -70,6 +70,15 @@ public: } } + static + void dumpOutgoingTrace(const std::string& data) + { + if (TraceDumper) + { + TraceDumper->writeOutgoing(data); + } + } + protected: void initialize(Poco::Util::Application& self) override; void uninitialize() override; diff --git a/loolwsd/PrisonerSession.cpp b/loolwsd/PrisonerSession.cpp index 5da9780..2114f5c 100644 --- a/loolwsd/PrisonerSession.cpp +++ b/loolwsd/PrisonerSession.cpp @@ -54,6 +54,8 @@ bool PrisonerSession::_handleInput(const char *buffer, int length) StringTokenizer tokens(firstLine, " ", StringTokenizer::TOK_IGNORE_EMPTY | StringTokenizer::TOK_TRIM); Log::trace(getName() + ": handling [" + firstLine + "]."); + LOOLWSD::dumpOutgoingTrace(firstLine); + if (LOOLProtocol::tokenIndicatesUserInteraction(tokens[0])) { // Keep track of timestamps of incoming client messages that indicate user activity. diff --git a/loolwsd/TraceFile.hpp b/loolwsd/TraceFile.hpp index 9b2d3b9..476b409 100644 --- a/loolwsd/TraceFile.hpp +++ b/loolwsd/TraceFile.hpp @@ -36,6 +36,17 @@ public: _stream.write("\n", 1); } + void writeOutgoing(const std::string& data) + { + std::unique_lock<std::mutex> lock(_mutex); + const Poco::Int64 usec = Poco::Timestamp().epochMicroseconds() - _epochStart; + _stream.write("<", 1); + _stream << usec; + _stream.write("<", 1); + _stream.write(data.c_str(), data.size()); + _stream.write("\n", 1); + } + private: const Poco::Int64 _epochStart; std::fstream _stream; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits