[Lldb-commits] [lldb] [LLDB][Data Formatters] Calculate average and total time for summary providers within lldb (PR #102708)

via lldb-commits lldb-commits at lists.llvm.org
Fri Aug 9 17:40:24 PDT 2024


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff a3ccaed3b9f6a1fe9b7f2ef019259f88072639b2 ad4b20d2074203fce9e4c47fd6045699b1528d86 --extensions h,cpp -- lldb/include/lldb/Target/Statistics.h lldb/include/lldb/Target/Target.h lldb/source/Core/ValueObject.cpp lldb/source/Target/Statistics.cpp lldb/source/Target/Target.cpp lldb/test/API/commands/statistics/basic/main.cpp
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/lldb/include/lldb/Target/Statistics.h b/lldb/include/lldb/Target/Statistics.h
index 06ca5c7923..a8c3f84d9d 100644
--- a/lldb/include/lldb/Target/Statistics.h
+++ b/lldb/include/lldb/Target/Statistics.h
@@ -180,49 +180,44 @@ private:
 class SummaryStatistics {
 public:
   SummaryStatistics() = default;
-  SummaryStatistics(lldb_private::ConstString name) : 
-    m_total_time(), m_name(name), m_summary_count(0) {}
+  SummaryStatistics(lldb_private::ConstString name)
+      : m_total_time(), m_name(name), m_summary_count(0) {}
 
   SummaryStatistics(const SummaryStatistics &&rhs)
-      : m_total_time(), m_name(rhs.m_name), m_summary_count(rhs.m_summary_count.load(std::memory_order_relaxed)) {}
+      : m_total_time(), m_name(rhs.m_name),
+        m_summary_count(rhs.m_summary_count.load(std::memory_order_relaxed)) {}
 
   lldb_private::ConstString GetName() const { return m_name; };
   double GetAverageTime() const {
-    return m_total_time.get().count() / m_summary_count.load(std::memory_order_relaxed);
+    return m_total_time.get().count() /
+           m_summary_count.load(std::memory_order_relaxed);
   }
 
-  double GetTotalTime() const {
-    return m_total_time.get().count();
-  }
+  double GetTotalTime() const { return m_total_time.get().count(); }
 
   uint64_t GetSummaryCount() const {
     return m_summary_count.load(std::memory_order_relaxed);
   }
 
-  StatsDuration& GetDurationReference() {
-    return m_total_time;
-  }
+  StatsDuration &GetDurationReference() { return m_total_time; }
 
   llvm::json::Value ToJSON() const;
 
   // Basic RAII class to increment the summary count when the call is complete.
-  // In the future this can be extended to collect information about the 
+  // In the future this can be extended to collect information about the
   // elapsed time for a single request.
   class SummaryInvocation {
   public:
     SummaryInvocation(SummaryStatistics &summary) : m_summary(summary) {}
-    ~SummaryInvocation() {
-      m_summary.OnInvoked();
-    }
+    ~SummaryInvocation() { m_summary.OnInvoked(); }
+
   private:
     SummaryStatistics &m_summary;
   };
 
 private:
   /// Called when Summary Invocation is destructed.
-  void OnInvoked() {
-    m_summary_count.fetch_add(1, std::memory_order_relaxed);
-  }
+  void OnInvoked() { m_summary_count.fetch_add(1, std::memory_order_relaxed); }
 
   lldb_private::StatsDuration m_total_time;
   lldb_private::ConstString m_name;
@@ -235,13 +230,16 @@ public:
   SummaryStatisticsCache() = default;
   /// Get the SummaryStatistics object for a given provider name, or insert
   /// if statistics for that provider is not in the map.
-  lldb_private::SummaryStatistics &GetSummaryStatisticsForProviderName(lldb_private::ConstString summary_provider_name) {
+  lldb_private::SummaryStatistics &GetSummaryStatisticsForProviderName(
+      lldb_private::ConstString summary_provider_name) {
     m_map_mutex.lock();
     if (m_summary_stats_map.count(summary_provider_name) == 0) {
-      m_summary_stats_map.emplace(summary_provider_name, SummaryStatistics(summary_provider_name));
+      m_summary_stats_map.emplace(summary_provider_name,
+                                  SummaryStatistics(summary_provider_name));
     }
 
-    SummaryStatistics &summary_stats = m_summary_stats_map.at(summary_provider_name);
+    SummaryStatistics &summary_stats =
+        m_summary_stats_map.at(summary_provider_name);
     m_map_mutex.unlock();
     return summary_stats;
   }
@@ -249,7 +247,8 @@ public:
   llvm::json::Value ToJSON();
 
 private:
-  std::map<lldb_private::ConstString, lldb_private::SummaryStatistics> m_summary_stats_map;
+  std::map<lldb_private::ConstString, lldb_private::SummaryStatistics>
+      m_summary_stats_map;
   std::mutex m_map_mutex;
 };
 
diff --git a/lldb/include/lldb/Target/Target.h b/lldb/include/lldb/Target/Target.h
index ae1ea43c01..7e53670c39 100644
--- a/lldb/include/lldb/Target/Target.h
+++ b/lldb/include/lldb/Target/Target.h
@@ -258,7 +258,6 @@ public:
 
   bool GetDebugUtilityExpression() const;
 
-
 private:
   std::optional<bool>
   GetExperimentalPropertyValue(size_t prop_idx,
@@ -1222,8 +1221,9 @@ public:
 
   void ClearAllLoadedSections();
 
-  lldb_private::SummaryStatistics& GetSummaryStatisticsForProvider(lldb_private::ConstString summary_provider_name);
-  lldb_private::SummaryStatisticsCache& GetSummaryStatisticsCache();
+  lldb_private::SummaryStatistics &GetSummaryStatisticsForProvider(
+      lldb_private::ConstString summary_provider_name);
+  lldb_private::SummaryStatisticsCache &GetSummaryStatisticsCache();
 
   /// Set the \a Trace object containing processor trace information of this
   /// target.
diff --git a/lldb/source/Core/ValueObject.cpp b/lldb/source/Core/ValueObject.cpp
index 8e6ff41c08..08d3dd5e0f 100644
--- a/lldb/source/Core/ValueObject.cpp
+++ b/lldb/source/Core/ValueObject.cpp
@@ -615,10 +615,11 @@ bool ValueObject::GetSummaryAsCString(TypeSummaryImpl *summary_ptr,
       m_synthetic_value->UpdateValueIfNeeded(); // the summary might depend on
                                                 // the synthetic children being
                                                 // up-to-date (e.g. ${svar%#})
-    SummaryStatistics &summary_stats = GetExecutionContextRef()
-                                        .GetProcessSP()
-                                        ->GetTarget()
-                                        .GetSummaryStatisticsForProvider(GetTypeName());
+    SummaryStatistics &summary_stats =
+        GetExecutionContextRef()
+            .GetProcessSP()
+            ->GetTarget()
+            .GetSummaryStatisticsForProvider(GetTypeName());
     /// Construct RAII types to time and collect data on summary creation.
     SummaryStatistics::SummaryInvocation summary_inv(summary_stats);
     {
diff --git a/lldb/source/Target/Statistics.cpp b/lldb/source/Target/Statistics.cpp
index bcb8fdbca4..5c36fd7bb2 100644
--- a/lldb/source/Target/Statistics.cpp
+++ b/lldb/source/Target/Statistics.cpp
@@ -192,7 +192,7 @@ TargetStats::ToJSON(Target &target,
   }
   target_metrics_json.try_emplace("sourceMapDeduceCount",
                                   m_source_map_deduce_count);
-  target_metrics_json.try_emplace("summaryProviderStatistics", 
+  target_metrics_json.try_emplace("summaryProviderStatistics",
                                   target.GetSummaryStatisticsCache().ToJSON());
   return target_metrics_json;
 }
@@ -412,21 +412,18 @@ llvm::json::Value DebuggerStats::ReportStatistics(
 }
 
 llvm::json::Value SummaryStatistics::ToJSON() const {
-  json::Object body {{
-      {"invocationCount", GetSummaryCount()},
-      {"totalTime", GetTotalTime()},
-      {"averageTime", GetAverageTime()}
-    }};
+  json::Object body{{{"invocationCount", GetSummaryCount()},
+                     {"totalTime", GetTotalTime()},
+                     {"averageTime", GetAverageTime()}}};
   return json::Object{{GetName().AsCString(), std::move(body)}};
 }
 
-
 json::Value SummaryStatisticsCache::ToJSON() {
   m_map_mutex.lock();
   json::Array json_summary_stats;
   for (const auto &summary_stat : m_summary_stats_map)
     json_summary_stats.emplace_back(summary_stat.second.ToJSON());
-    
+
   m_map_mutex.unlock();
   return json_summary_stats;
 }
diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp
index 834d48763b..d40da36443 100644
--- a/lldb/source/Target/Target.cpp
+++ b/lldb/source/Target/Target.cpp
@@ -3193,11 +3193,13 @@ bool Target::SetSectionUnloaded(const lldb::SectionSP &section_sp,
 
 void Target::ClearAllLoadedSections() { m_section_load_history.Clear(); }
 
-lldb_private::SummaryStatistics& Target::GetSummaryStatisticsForProvider(lldb_private::ConstString summary_provider_name) {
-  return m_summary_statistics_cache.GetSummaryStatisticsForProviderName(summary_provider_name);
+lldb_private::SummaryStatistics &Target::GetSummaryStatisticsForProvider(
+    lldb_private::ConstString summary_provider_name) {
+  return m_summary_statistics_cache.GetSummaryStatisticsForProviderName(
+      summary_provider_name);
 }
 
-lldb_private::SummaryStatisticsCache& Target::GetSummaryStatisticsCache() {
+lldb_private::SummaryStatisticsCache &Target::GetSummaryStatisticsCache() {
   return m_summary_statistics_cache;
 }
 

``````````

</details>


https://github.com/llvm/llvm-project/pull/102708


More information about the lldb-commits mailing list