loolwsd/ClientSession.cpp | 2 +- loolwsd/DocumentBroker.cpp | 2 +- loolwsd/LOOLWSD.hpp | 8 ++++---- loolwsd/PrisonerSession.cpp | 2 +- loolwsd/TraceFile.hpp | 23 ++++++++++++----------- 5 files changed, 19 insertions(+), 18 deletions(-)
New commits: commit c304cbc95b8cfab213f4695d76dca41f274be18b Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> Date: Wed Aug 3 08:15:04 2016 -0400 loolstress: trace session ID and child pid Change-Id: Iac6b3dadedfcdec91db21a5e90eb3827705281d4 Reviewed-on: https://gerrit.libreoffice.org/27966 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/loolwsd/ClientSession.cpp b/loolwsd/ClientSession.cpp index 57da9a6..d2debdf 100644 --- a/loolwsd/ClientSession.cpp +++ b/loolwsd/ClientSession.cpp @@ -64,7 +64,7 @@ bool ClientSession::_handleInput(const char *buffer, int length) StringTokenizer tokens(firstLine, " ", StringTokenizer::TOK_IGNORE_EMPTY | StringTokenizer::TOK_TRIM); Log::trace(getName() + ": handling [" + firstLine + "]."); - LOOLWSD::dumpIncomingTrace(firstLine); + LOOLWSD::dumpIncomingTrace(_docBroker->getJailId(), getId(), firstLine); if (LOOLProtocol::tokenIndicatesUserInteraction(tokens[0])) { diff --git a/loolwsd/DocumentBroker.cpp b/loolwsd/DocumentBroker.cpp index f998ab4..a0d59ca 100644 --- a/loolwsd/DocumentBroker.cpp +++ b/loolwsd/DocumentBroker.cpp @@ -454,7 +454,7 @@ 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); + LOOLWSD::dumpOutgoingTrace(getJailId(), "0", command); if (command == "tile:") { diff --git a/loolwsd/LOOLWSD.hpp b/loolwsd/LOOLWSD.hpp index 588c37d..1544fd1 100644 --- a/loolwsd/LOOLWSD.hpp +++ b/loolwsd/LOOLWSD.hpp @@ -71,20 +71,20 @@ public: } static - void dumpIncomingTrace(const std::string& data) + void dumpIncomingTrace(const std::string& pId, const std::string& sessionId, const std::string& data) { if (TraceDumper) { - TraceDumper->writeIncoming(data); + TraceDumper->writeIncoming(pId, sessionId, data); } } static - void dumpOutgoingTrace(const std::string& data) + void dumpOutgoingTrace(const std::string& pId, const std::string& sessionId, const std::string& data) { if (TraceDumper) { - TraceDumper->writeOutgoing(data); + TraceDumper->writeOutgoing(pId, sessionId, data); } } diff --git a/loolwsd/PrisonerSession.cpp b/loolwsd/PrisonerSession.cpp index 2114f5c..95a5fbd 100644 --- a/loolwsd/PrisonerSession.cpp +++ b/loolwsd/PrisonerSession.cpp @@ -54,7 +54,7 @@ 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); + LOOLWSD::dumpOutgoingTrace(_docBroker->getJailId(), getId(), firstLine); if (LOOLProtocol::tokenIndicatesUserInteraction(tokens[0])) { diff --git a/loolwsd/TraceFile.hpp b/loolwsd/TraceFile.hpp index 6e8a6a9..cd429a6 100644 --- a/loolwsd/TraceFile.hpp +++ b/loolwsd/TraceFile.hpp @@ -31,8 +31,9 @@ public: } Direction Dir; - unsigned Pid; unsigned TimestampNs; + unsigned Pid; + unsigned SessionId; std::string Payload; }; @@ -52,31 +53,31 @@ public: void writeEvent(const std::string& pId, const std::string& sessionId, const std::string& data) { - (void)pId; - (void)sessionId; - write(data, static_cast<char>(TraceFileRecord::Direction::Event)); + write(pId, sessionId, data, static_cast<char>(TraceFileRecord::Direction::Event)); } - void writeIncoming(const std::string& data) + void writeIncoming(const std::string& pId, const std::string& sessionId, const std::string& data) { - write(data, static_cast<char>(TraceFileRecord::Direction::Incoming)); + write(pId, sessionId, data, static_cast<char>(TraceFileRecord::Direction::Incoming)); } - void writeOutgoing(const std::string& data) + void writeOutgoing(const std::string& pId, const std::string& sessionId, const std::string& data) { - write(data, static_cast<char>(TraceFileRecord::Direction::Outgoing)); + write(pId, sessionId, data, static_cast<char>(TraceFileRecord::Direction::Outgoing)); } private: - void write(const std::string& data, const char delim) + void write(const std::string& pId, const std::string& sessionId, const std::string& data, const char delim) { std::unique_lock<std::mutex> lock(_mutex); const Poco::Int64 usec = Poco::Timestamp().epochMicroseconds() - _epochStart; _stream.write(&delim, 1); - _stream << getpid(); - _stream.write(&delim, 1); _stream << usec; _stream.write(&delim, 1); + _stream << pId; + _stream.write(&delim, 1); + _stream << sessionId; + _stream.write(&delim, 1); _stream.write(data.c_str(), data.size()); _stream.write("\n", 1); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits