bloomberg / bloomberg/pystack

Show information while downloading debug symbols

Abierto
#263 0 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
C++
Estrellas
1.2k
Forks
72
Merge medio
3 d 8 h
PR fusionados (30 d)
6

Descripción

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

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza rastreando la ruta de descarga de símbolos de depuración de pystack y ejecútala contra un proceso que requiera símbolos grandes, como uno que use QtWebEngine o Chromium. Se considera terminado cuando los usuarios ven un mensaje claro sobre el estado de la descarga, con progreso si es factible, antes o durante la espera, y pueden reconocer qué está consumiendo tiempo o datos.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp, python
Área
cli, devtools
Tipo de issue
Nueva funcionalidad
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.