[all-commits] [llvm/llvm-project] cc88d3: [lldb-vscode] Reduce chattiness of progress events

walter erquinigo via All-commits all-commits at lists.llvm.org
Wed Apr 14 13:00:45 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: cc88d301a0bcd8b93c632af2870503949038c87f
      https://github.com/llvm/llvm-project/commit/cc88d301a0bcd8b93c632af2870503949038c87f
  Author: Walter Erquinigo <a20012251 at gmail.com>
  Date:   2021-04-14 (Wed, 14 Apr 2021)

  Changed paths:
    M lldb/tools/lldb-vscode/CMakeLists.txt
    A lldb/tools/lldb-vscode/ProgressEvent.cpp
    A lldb/tools/lldb-vscode/ProgressEvent.h
    M lldb/tools/lldb-vscode/VSCode.cpp
    M lldb/tools/lldb-vscode/VSCode.h
    M lldb/tools/lldb-vscode/lldb-vscode.cpp

  Log Message:
  -----------
  [lldb-vscode] Reduce chattiness of progress events

Progress events internally have a completed count and a total count, which can mean that for a job with 20000 total counts, then there will be 20000 events fired. Sending all these events to the IDE can break it. For example, debugging a huge binary resulted in around 50 million messages, which rendered the IDE useless, as it was spending all of its resources simply parsing messages and updating the UI.

A way to fix this is to send unique percentage updates, which are at most 100 per job, which is not much. I was able to debug that big target and confirm that only unique percentage notifications are sent. I can't write a test for this because the current test is flaky. I'll figure out later how to make the test reliable, but fixing this will unblock us from deploy a new version of lldb-vscode.

Differential Revision: https://reviews.llvm.org/D100443




More information about the All-commits mailing list