Sobre el proyecto

Perforator es una aplicación de perfilado continuo de código abierto desarrollada por Yandex, inspirada en Google-Wide Profiling. Está diseñada para grandes centros de datos y ya se encuentra desplegada en decenas de miles de servidores. La herramienta recolecta perfiles de CPU de entornos de producción mediante eBPF, con una sobrecarga declarada de menos del 1% de las CPUs del host y aproximadamente 512 MB de RAM en hosts Linux x86 de 64 bits típicos. Entre sus capacidades clave se incluyen la recolección eficiente de pilas de kernel y de espacio de usuario mediante eBPF, almacenamiento escalable para perfiles y binarios, desenrollado sin frame pointers ni símbolos de depuración en el host, y un lenguaje de consulta con una interfaz de usuario para inspeccionar el uso de CPU mediante flamegraphs. Es compatible con C++, C, Go y Rust, con soporte experimental para Java y Python. Perforator también puede generar perfiles sPGO para la optimización guiada por perfiles mediante AutoFDO. Los usuarios pueden perfilar una máquina local usando el comando de CLI perforator record o desplegarlo en clústeres de Kubernetes utilizando el chart de Helm proporcionado. El proyecto está licenciado bajo Apache 2.0, con parte del código fuente de los programas eBPF y las porciones de soporte de perfilado de OpenJDK bajo GPL 2.0.