[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - comphelper/source include/comphelper
Tor Lillqvist (via logerrit)
logerrit at kemper.freedesktop.org
Thu Apr 29 12:16:21 UTC 2021
comphelper/source/misc/traceevent.cxx | 6 +++---
include/comphelper/profilezone.hxx | 7 +++----
include/comphelper/traceevent.hxx | 15 ++++++++++++++-
3 files changed, 20 insertions(+), 8 deletions(-)
New commits:
commit 04f41048afd7af36428ef6dd849ea3d7c61e2ec9
Author: Tor Lillqvist <tml at collabora.com>
AuthorDate: Tue Apr 27 16:42:15 2021 +0300
Commit: Tor Lillqvist <tml at collabora.com>
CommitDate: Thu Apr 29 14:15:46 2021 +0200
Introduce a new class NamedEvent to be used by the upcoming AsyncEvent, too
Don't use the term "profile id" as what we mean is the event *name*
(as used in the Chrome Trace Event format).
Change-Id: Id58a10f4c5f8a095ae75b9bf74131b70659ee701
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114783
Tested-by: Tor Lillqvist <tml at collabora.com>
Reviewed-by: Tor Lillqvist <tml at collabora.com>
diff --git a/comphelper/source/misc/traceevent.cxx b/comphelper/source/misc/traceevent.cxx
index d95cb1fd9067..bd8a336d37ea 100644
--- a/comphelper/source/misc/traceevent.cxx
+++ b/comphelper/source/misc/traceevent.cxx
@@ -42,7 +42,7 @@ void TraceEvent::addRecording(const OUString& sObject)
g_aRecording.emplace_back(sObject);
}
-void TraceEvent::addInstantEvent(const char* sProfileId)
+void TraceEvent::addInstantEvent(const char* sName)
{
TimeValue aSystemTime;
osl_getSystemTime(&aSystemTime);
@@ -57,7 +57,7 @@ void TraceEvent::addInstantEvent(const char* sProfileId)
addRecording("{"
"\"name:\""
- + OUString(sProfileId, strlen(sProfileId), RTL_TEXTENCODING_UTF8)
+ + OUString(sName, strlen(sName), RTL_TEXTENCODING_UTF8)
+ "\","
"\"ph\":\"i\","
"\"ts\":"
@@ -106,7 +106,7 @@ void ProfileZone::addRecording()
// Generate a single "Complete Event" (type X)
TraceEvent::addRecording("{"
"\"name\":\""
- + OUString(m_sProfileId, strlen(m_sProfileId), RTL_TEXTENCODING_UTF8)
+ + OUString(m_sName, strlen(m_sName), RTL_TEXTENCODING_UTF8)
+ "\","
"\"ph\":\"X\","
"\"ts\":"
diff --git a/include/comphelper/profilezone.hxx b/include/comphelper/profilezone.hxx
index de38a0dad985..2e0777295aa6 100644
--- a/include/comphelper/profilezone.hxx
+++ b/include/comphelper/profilezone.hxx
@@ -19,11 +19,10 @@
namespace comphelper
{
-class COMPHELPER_DLLPUBLIC ProfileZone : public TraceEvent
+class COMPHELPER_DLLPUBLIC ProfileZone : public NamedEvent
{
static int s_nNesting; // level of nested zones.
- const char *m_sProfileId;
long long m_nCreateTime;
int m_nPid;
int m_nNesting;
@@ -35,8 +34,8 @@ class COMPHELPER_DLLPUBLIC ProfileZone : public TraceEvent
// Note that the char pointer is stored as such in the ProfileZone object and used in the
// destructor, so be sure to pass a pointer that stays valid for the duration of the object's
// lifetime.
- ProfileZone(const char *sProfileId)
- : m_sProfileId(sProfileId ? sProfileId : "(null)")
+ ProfileZone(const char* sName)
+ : NamedEvent(sName)
{
if (s_bRecording)
{
diff --git a/include/comphelper/traceevent.hxx b/include/comphelper/traceevent.hxx
index ff66a834e639..7e988bd063f0 100644
--- a/include/comphelper/traceevent.hxx
+++ b/include/comphelper/traceevent.hxx
@@ -13,6 +13,8 @@
#include <sal/config.h>
#include <atomic>
+#include <memory>
+#include <set>
#include <osl/process.h>
#include <osl/time.h>
@@ -32,7 +34,7 @@ protected:
static void addRecording(const OUString& sObject);
public:
- static void addInstantEvent(const char* sProfileId);
+ static void addInstantEvent(const char* sName);
static void startRecording();
static void stopRecording();
@@ -40,6 +42,17 @@ public:
static css::uno::Sequence<OUString> getRecordingAndClear();
};
+class COMPHELPER_DLLPUBLIC NamedEvent : public TraceEvent
+{
+protected:
+ const char* m_sName;
+
+ NamedEvent(const char* sName)
+ : m_sName(sName ? sName : "(null)")
+ {
+ }
+};
+
} // namespace comphelper
#endif // INCLUDED_COMPHELPER_TRACEEVENT_HXX
More information about the Libreoffice-commits
mailing list