bloomberg / bloomberg/pystack

Show information while downloading debug symbols

Offen
#263 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
C++
Sterne
1.2k
Forks
72
Ø Merge
3 T. 8 Std.
Gemergte PRs (30 T.)
6

Beschreibung

### Is there an existing proposal for this?

- [x] I have searched the existing proposals

### Is your feature request related to a problem?

I tried pystack the first time, in a somewhat mediocre WiFi (capped to 20 MBit/s; I assume there are parts of the world where way less than that is common for many people). I used it on a [project](https://qutebrowser.org/) which has a lot of C++ debug symbols (via [QtWebEngine](https://wiki.qt.io/QtWebEngine)/Chromium).

Given the claims about performance in the readme, I was quite surprised when pystack only printed basic information (up to "The process died due receiving signal SIGSEGV"), and then hung for 3.5 minutes before printing a stack.

Only while investigating the issue, I figured out the culprit was downloading of a couple 100MB of debug information (if it's any indication, my `~/.cache/debuginfod_client/` is currently 1.7 GB), and printing of the stack was indeed lightning fast! 🚀

As an additional consideration, I'm often on metered networks (tethering via a mobile connection while abroad). With that, such a message would have made me realize what was going on so I could cancel the download before it burns all through my data.

### Describe the solution you'd like

At minimum, a "Downloading debug information..." would have helped here already. Ideally, some live updating progress like "Downloading debug information for libXYZ.so (1MB/100MB)" or somesuch would be even better.

### Alternatives you considered

Running pystack on pystack to realize why it was hanging :wink:

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, den Download-Pfad für Debug-Symbole von pystack nachzuverfolgen und ihn mit einem Prozess auszuführen, der große Symbole benötigt, etwa einem Prozess mit QtWebEngine oder Chromium. Die Aufgabe ist erledigt, wenn Benutzer vor oder während des Wartens eine klare Meldung zum Download-Status sehen, möglichst mit Fortschrittsanzeige, und erkennen können, was Zeit oder Datenvolumen beansprucht.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp, python
Bereich
cli, devtools
Issue-Typ
Feature
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.