loolwsd/ClientSession.cpp | 2 ++ loolwsd/LOOLWSD.hpp | 4 ++-- loolwsd/Log.cpp | 1 + loolwsd/TraceFile.hpp | 11 ++++++++++- 4 files changed, 15 insertions(+), 3 deletions(-)
New commits: commit 026a22abc36745b9374c7302fc2b27d4ba089cff Author: Ashod Nakashian <[email protected]> Date: Sat Jul 30 23:06:12 2016 -0400 loolwsd: dump incoming commands Change-Id: I3d77d0c645c0bdd7e9edfbc8d90d5df6cc1b927a Reviewed-on: https://gerrit.libreoffice.org/27954 Reviewed-by: Ashod Nakashian <[email protected]> Tested-by: Ashod Nakashian <[email protected]> diff --git a/loolwsd/ClientSession.cpp b/loolwsd/ClientSession.cpp index f3c2a00..57da9a6 100644 --- a/loolwsd/ClientSession.cpp +++ b/loolwsd/ClientSession.cpp @@ -64,6 +64,8 @@ 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); + if (LOOLProtocol::tokenIndicatesUserInteraction(tokens[0])) { // Keep track of timestamps of incoming client messages that indicate user activity. diff --git a/loolwsd/LOOLWSD.hpp b/loolwsd/LOOLWSD.hpp index eed6b70..0b9f6bc 100644 --- a/loolwsd/LOOLWSD.hpp +++ b/loolwsd/LOOLWSD.hpp @@ -62,11 +62,11 @@ public: } static - void dumpTrace(const std::string& data) + void dumpIncomingTrace(const std::string& data) { if (TraceDumper) { - TraceDumper->write(data); + TraceDumper->writeIncoming(data); } } diff --git a/loolwsd/Log.cpp b/loolwsd/Log.cpp index a6511f0..dc3e0da 100644 --- a/loolwsd/Log.cpp +++ b/loolwsd/Log.cpp @@ -17,6 +17,7 @@ #include <Poco/ConsoleChannel.h> #include <Poco/Process.h> #include <Poco/Thread.h> +#include <Poco/Timestamp.h> #include "Log.hpp" diff --git a/loolwsd/TraceFile.hpp b/loolwsd/TraceFile.hpp index c1c01d7..9b2d3b9 100644 --- a/loolwsd/TraceFile.hpp +++ b/loolwsd/TraceFile.hpp @@ -15,6 +15,7 @@ class TraceFile { public: TraceFile(const std::string& path) : + _epochStart(Poco::Timestamp().epochMicroseconds()), _stream(path, std::ios::out) { } @@ -24,13 +25,21 @@ public: _stream.close(); } - void write(const std::string& data) + void writeIncoming(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; + std::mutex _mutex; }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
