[Lldb-commits] [lldb] [LLDB][Data Formatters] Calculate average and total time for summary providers within lldb (PR #102708)
Jonas Devlieghere via lldb-commits
lldb-commits at lists.llvm.org
Wed Aug 14 10:21:53 PDT 2024
================
@@ -174,6 +177,82 @@ struct StatisticsOptions {
std::optional<bool> m_include_transcript;
};
+/// A class that represents statistics about a TypeSummaryProviders invocations
+class SummaryStatistics {
+public:
+ explicit SummaryStatistics(std::string name,
+ std::string impl_type)
+ : m_total_time(), m_impl_type(impl_type), m_name(name),
+ m_summary_count(0) {}
+
+ std::string GetName() const { return m_name; };
+ 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; }
+
+ std::string GetSummaryKindName() const { return m_impl_type; }
+
+ 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
+ // elapsed time for a single request.
----------------
JDevlieghere wrote:
```suggestion
/// 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
/// elapsed time for a single request.
```
https://github.com/llvm/llvm-project/pull/102708
More information about the lldb-commits
mailing list