desktop/source/lib/init.cxx | 7 +++++++ 1 file changed, 7 insertions(+)
New commits: commit 028321c7dddff20343acccb17bdc961a8357d131 Author: Tor Lillqvist <t...@collabora.com> AuthorDate: Tue Jun 29 15:04:58 2021 +0300 Commit: Tor Lillqvist <t...@collabora.com> CommitDate: Mon Jul 5 11:27:09 2021 +0200 Avoid accumulating a huge number of Trace Events before calling the callback Don't use only the five second timer to flush the buffer. Set a limit on the number of accumulated events, too. Change-Id: I075028ce653d89cf099d91ce0d4d97c1361a3bb4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118205 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Tor Lillqvist <t...@collabora.com> diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index a6c61acb48c2..5ee317665c16 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -217,7 +217,13 @@ public: SetTimeout(dumpTimeoutMS); Start(); } + virtual void Invoke() override + { + flushRecordings(); + } + + static void flushRecordings() { const css::uno::Sequence<OUString> aEvents = comphelper::TraceEvent::getRecordingAndClear(); @@ -3943,6 +3949,7 @@ static void lo_setOption(LibreOfficeKit* /*pThis*/, const char *pOption, const c { if (strcmp(pValue, "start") == 0) { + comphelper::TraceEvent::setBufferSizeAndCallback(100, TraceEventDumper::flushRecordings); comphelper::TraceEvent::startRecording(); if (traceEventDumper == nullptr) traceEventDumper = new TraceEventDumper(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits