bloomberg / bloomberg/pystack

Show information while downloading debug symbols

Aperta
#263 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
C++
Stelle
1.2k
Fork
72
Merge medio
5g 10h
PR unite (30g)
5

Descrizione

### 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:

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia tracciando il percorso di download dei simboli di debug di pystack ed eseguilo su un processo che richiede simboli di grandi dimensioni, ad esempio uno che usa QtWebEngine o Chromium. Il lavoro è completo quando gli utenti visualizzano un messaggio chiaro sullo stato del download, con l’avanzamento se possibile, prima o durante l’attesa, e possono riconoscere cosa sta consumando tempo o dati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp, python
Ambito
cli, devtools
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.