Sobre el proyecto

Parca es una plataforma de perfilado continuo de código abierto para analizar el uso de CPU y memoria a lo largo del tiempo, hasta el nivel de línea de código. Está diseñada para ayudar a reducir costos de infraestructura, mejorar el rendimiento y aumentar la fiabilidad mediante la recopilación de datos de perfilado en toda una infraestructura. Capacidades clave descritas en el README: - Perfilador eBPF: Un único perfilador que utiliza eBPF descubre automáticamente objetivos de Kubernetes o systemd en toda la infraestructura con baja sobrecarga. Admite lenguajes como C, C++, Rust y Go. - Estándares abiertos: El perfilador basado en eBPF produce perfiles en formato pprof, y Parca puede ingerir cualquier perfil en formato pprof, lo que admite una amplia adopción de lenguajes e interoperabilidad con herramientas existentes. - Almacenamiento y consulta optimizados: Los datos de perfilado se almacenan de manera eficiente conservando los datos sin procesar. Los datos pueden segmentarse y analizarse mediante búsqueda basada en etiquetas. Los usuarios pueden agregar datos de perfilado en toda la infraestructura, ver perfiles individuales en el tiempo o comparar entre dimensiones. Los casos de uso destacados en el README incluyen ahorrar dinero al encontrar recursos desperdiciados, mejorar el rendimiento al identificar rutas críticas con significancia estadística y comparar diferencias entre etiquetas como despliegues, versiones y regiones, y comprender incidentes como fugas de memoria o picos momentáneos de CPU o E/S. La instalación y la documentación están disponibles en el sitio web del proyecto. El desarrollo requiere Go, Node y Pnpm. El repositorio incluye un proceso de compilación con Makefile, y el binario compilado se ejecuta localmente con una interfaz web en el puerto 7070 por defecto. La configuración se maneja mediante banderas y un archivo parca.yaml, que cubre ajustes HTTP, opciones de almacenamiento, simbolización, manejo de debuginfo y conexiones de almacenamiento remoto. El proyecto fue desarrollado originalmente por Polar Signals y se publica bajo la licencia Apache 2.