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

Michael Buch via lldb-commits lldb-commits at lists.llvm.org
Wed Aug 14 10:24:01 PDT 2024


================
@@ -615,7 +615,15 @@ 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%#})
-    summary_ptr->FormatObject(this, destination, actual_options);
+
+    TargetSP target = GetExecutionContextRef().GetTargetSP();
+    if (target) {
+      /// Construct RAII types to time and collect data on summary creation.
+      SummaryStatistics::SummaryInvocation summary_inv =
+          target->GetSummaryStatisticsForProvider(*summary_ptr);
----------------
Michael137 wrote:

I think this wouldn't work anymore because you're returning a copy of the `SummaryInvocation` right? My previous suggestion was to have `SummaryInvocartion` update the `SummaryStatisticsCache` when it's done.

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


More information about the lldb-commits mailing list