[Lldb-commits] [lldb] [lldb][progress] Add discrete boolean flag to progress reports (PR #69516)
Chelsea Cassanova via lldb-commits
lldb-commits at lists.llvm.org
Fri Dec 8 11:26:33 PST 2023
================
@@ -2225,7 +2225,8 @@ void ObjectFileMachO::ParseSymtab(Symtab &symtab) {
const char *file_name = file.GetFilename().AsCString("<Unknown>");
LLDB_SCOPED_TIMERF("ObjectFileMachO::ParseSymtab () module = %s", file_name);
LLDB_LOG(log, "Parsing symbol table for {0}", file_name);
- Progress progress(llvm::formatv("Parsing symbol table for {0}", file_name));
+ Progress progress(llvm::formatv("Parsing symbol table for {0}", file_name),
+ Progress::ProgressReportType::eAggregateProgressReport);
----------------
chelcassanova wrote:
When we looked at how to group progress notifications by `is_aggregate` we found that although the symbol table/DWARF progress notifications would be grouped under `is_aggregate == true`, long-running operations related to Swift (importing/loading Swift modules etc.) could actually be grouped under `is_aggregate == false` which allows the IDE team to display and group those notifications. (https://github.com/apple/llvm-project/pull/7769). We want to integrate this enum flag into the Swift progress reports once landed.
That being said, this does group long-running LLDB notifications as all being too spammy to show since we couldn't group them together under umbrella progress reports. We don't want to keep it this way forever as ultimately we'd like to group all categories of progress reports under their own umbrella `Progress` objects instead of sending several individual progress reports, but this is what we're doing right now to help the IDE have more streamlined UI progress reports.
We also thought about going with the timeout approach that you suggested but ran into similar issues as you mentioned wherein if many reports were too short then they wouldn't get displayed.
https://github.com/llvm/llvm-project/pull/69516
More information about the lldb-commits
mailing list