dotnet-stack produces empty output under load

Abierto
#5,917 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
csharp
Área
cli, devtools

Línea de trabajo

Comienza reproduciendo el problema con dotnet-stack contra un proceso w3wp con la CPU cargada en Windows y, después, compara ejecuciones con la misma invocación una vez que la carga haya disminuido. Comprueba si la salida vacía corresponde a un timeout o a otro fallo; el trabajo estará terminado cuando la herramienta informe de forma fiable de los stack traces o emita un error en stderr, con una forma de aumentar el timeout si corresponde.

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

Descripción

bug

I was trying to produce stack traces of a process that was consuming a lot of CPU time. About 80% of time it produced an empty output, the remaining 20% it produced the expected list of stack-traces. Later, after the load dropped, exactly the same invocation worked reliably.

What I'd expect:

  • Ideally always produce output
  • At least output an error to stderr if it fails
  • If this is due to a timeout while waiting for the target process to send data, the ability to increase the timeout

Environment: Windows on AWS t3.large (2 vCPU, x86-64). The target process was w3wp, i.e. an ASP.NET 8 application running in IIS. dotnet-stack was running with elevated privileges. Latest version of dotnet-stack.

dotnet --info

Host:
Version: 8.0.15
Architecture: x64
Commit: 50c4cb9fc3
RID: win-x64

.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.35 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 8.0.15 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.35 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 8.0.15 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 8.0.15 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Lenguaje dominante
C++
Estrellas
1.3k
Forks
407
Merge medio
21 h 5 min
PR fusionados (30 d)
78

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

  • Sin Dockerfile ni archivo de Docker Compose
  • Sin plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de dotnet/diagnostics

Todos los issues de dotnet/diagnostics

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.