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

Greg Clayton via lldb-commits lldb-commits at lists.llvm.org
Mon Aug 12 10:48:28 PDT 2024


================
@@ -615,7 +615,16 @@ 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);
+    SummaryStatistics &summary_stats = GetExecutionContextRef()
+                                        .GetProcessSP()
+                                        ->GetTarget()
+                                        .GetSummaryStatisticsForProvider(GetTypeName());
----------------
clayborg wrote:

We don't want to use `GetTypeName()` here, that is the typename of the type itself. We want to use the name of string that identifies the type for the summary provider. We are interested in tracking the exact summary provider. For instance, all of these will all use the same summary provider:
```
std::string
std::string &
const std::string &
std::string *
const std::string *
```
So we want to track summary provider incantations and not have all of the above variants have separate entries.

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


More information about the lldb-commits mailing list