FR: Output Folded Stacks Format
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
- #669 de @mhansen — cerrado sin fusionar
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- go
- Área
- performance
Línea de trabajo
Empieza examinando las rutas de salida existentes de pprof para -callgrind y -dot, y cómo seleccionan un valor de perfil para los pesos del gráfico. Compara la salida propuesta con difffolded.pl y flamegraph.pl de Brendan Gregg y con el formato plegado de pprofutils de Felixge. Para darlo por terminado, habría que decidir el formato y el comportamiento de la opción, incluido si se emite un valor o varias columnas y cómo se gestionan labels y los demás datos del perfil.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I think if we built an exporter to Brendan Gregg's folded stacks format, we could:
- Enable people to do differential flamegraphs using difffolded.pl and flamegraph.pl, perhaps addressing the user need in #483
- Allow post-processing the profiles using text tools like grep & sed
- Hook into some more profile analysis tools: see profilerpedia, folded stacks is a very well-connected format.
I'm picturing an option like -callgrind and -dot, perhaps -folded.
The trouble might be that folded stacks format only accepts one output number per stack, but pprof can have multiple numbers per stack. So we'd probably have to choose the number to output with a flag, if it was ambiguous. But perhaps parts of pprof already handle this? e.g. the -dot output probably chooses an event to use as the weight of the graph size?
Prior art in this space: @felixge's pprofutils folded: https://github.com/felixge/pprofutils#folded. Felix has an extension to the folded stacks format to have numbers with multiple columns. I think that's a neat idea for representing pprof and allows roundtripping back to pprof format. It would be nice if this extension caught on, but I wonder if it might limit the interoperability with other folded stacks tools.
Another idea might be to output only one number column per-file (e.g. pprof -folded=cpu-cycles and pprof -folded=instructions), and then to roundtrip, we could output multiple files, convert both of them back to pprof, then concatenate the files with pprof -proto <profile1> <profile2>.
There are plenty of other challenges with roundtripping too (labels, filenames, mappings...) but perhaps just solving part of the problem would still be useful and enable more analyses. Anyway, I mostly wanted to open a discussion about this. Thoughts?
- Lenguaje dominante
- Go
- Estrellas
- 9.3k
- Forks
- 687
- Merge medio
- 2 d 2 h
- PR fusionados (30 d)
- 9
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de google/pprof
-
profile: FilterSamplesByName allocates a temporary Location slice per sample unnecessarilyPosiblemente ocupada @kyyril la tomó hace 7 días. Abierto
Dificultad 1/5 1-3 horas Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
google/pprof#1029 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 74/100
google/pprof#1020 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
pprof cannot locate source code for the list command in common Go setupsPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
google/pprof#1009 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Label with zero int64 value and no unit get dropped during decodingPosiblemente ocupada @ms-hujia la tomó hace 138 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
google/pprof#1002 · 6 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de google/pprof
Issues similares
-
[BUG] serviceenvupdater filter does not update KUBERNETES_SERVICE_HOST/PORT in init containersPosiblemente ocupada @RaphaelFakhri la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
openyurtio/openyurt#2845 ·
Los mantenedores suelen responder en 7 días
-
enhancement good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
fix(scan): validate and normalize output format in validate-contractPosiblemente ocupada @WKr1shna la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
bug good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100