Eventos desconocidos en nodejs / v8 flamegraph usando perf_events
Intento hacer algunos perfiles de nodejs usando Linux perf_events como lo describe Brendan Greggaquí.
El flujo de trabajo es el siguiente:
ejecutar nodo> 0.11.13 con--perf-basic-prof
, que crea/tmp/perf-(PID).map
archivo donde se escribe el mapeo de símbolos JavaScript.Captura pilas usandoperf record -F 99 -p `pgrep -n node` -g -- sleep 30
Doblar pilas usandostackcollapse-perf.pl
guión deesta repositorioGenerar gráfico de llama svg usandoflamegraph.pl
guiónObtengo el siguiente resultado (que se ve muy bien al principio):
El problema es que hay muchos[unknown]
elementos, que supongo que deberían ser mis llamadas a funciones de nodejs. Supongo que todo el proceso falla en algún lugar en el punto 3, donde los datos de rendimiento deben plegarse mediante asignaciones generadas por el nodo / v8 ejecutado con--perf-basic-prof
. /tmp/perf-PID.map
se crea el archivo y se escribe algo de mapeo durante la ejecución del nodo.
¿Cómo resolver este problema?
Estoy usando CentOS 6.5 x64, y ya probé esto con el nodo 0.11.13, 0.11.14 (ambos precompilados y compilados también) sin éxito.