[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