Rezolus y metriken: telemetría de alto rendimiento basada en eBPF y Rust
Brian Martin presenta Rezolus, un agente de telemetría eBPF, y metriken, una biblioteca de métricas de bajo overhead, ambos escritos en Rust y orientados a producción.

Brian Martin, co‑fundador de IOP Systems y antiguo responsable de rendimiento en Twitter, dio una charla titulada Instrumentation at Scale: Having Your Performance Cake and Eating It Too. En ella presentó dos proyectos open source que su empresa mantiene: Rezolus y metriken, ambos escritos en Rust y pensados para entornos de alta carga.
Rezolus: agente de telemetría con eBPF
Rezolus es un agente de performance que se apoya intensamente en eBPF para extraer métricas del kernel Linux sin modificar su código. Además de los indicadores habituales (CPU, red y disco), permite instrumentar el planificador, rutas de syscalls y el stack TCP, ofreciendo una granularidad que rara vez se consigue con los probes tradicionales. Los datos se exponen mediante el formato de Prometheus, lo que facilita su integración con los pipelines de observabilidad existentes. El proyecto está disponible en GitHub a través de rezolus.com.
metriken: métricas de bajo overhead
La biblioteca metriken nació de la necesidad de medir con mínima latencia en los proyectos internos de IOP (RPC‑Perf, Pelikan y, posteriormente, Rezolus). Está optimizada para caminos críticos de rendimiento y emplea un truco de enlace en tiempo de compilación para descubrir automáticamente los puntos de métrica dentro de una aplicación. De este modo, los desarrolladores pueden añadir contadores, gauges e histogramas sin preocuparse por el coste de ejecución.
Coste de la instrumentación
Martin mostró que el coste de una operación de métrica varía enormemente según la implementación y el nivel de contención. Un incremento de contador puede tardar entre 5 ns (atomic sin contención) y 1 µs (contención alta), una diferencia de 200×. Los histogramas alcanzan desde 7 ns (sin contención) hasta decenas de microsegundos bajo contención, lo que implica una multiplicación de 1.400×. Estos números resaltan la necesidad de escoger bibliotecas que minimicen la sobrecarga, sobre todo en rutas de código caliente.
Tipos de métricas
Durante la charla se repasó rápidamente los tipos de métricas que cualquier observador debería conocer:
- Contadores: valores monótonos que sólo incrementan.
- Gauges: valores instantáneos que pueden subir o bajar, útiles para niveles de cola o temperaturas.
- Histogramas: distribuciones de latencia o tamaños, con bucketizado para capturar la forma de la distribución. Se mencionó también el uso de DDSketch como alternativa.
Por qué importa
La charla subraya que la instrumentación no es opcional en sistemas de producción; sin ella, los incidentes de latencia pasan desapercibidos y no pueden corregirse. Sin embargo, la sobrecarga también es real, y herramientas como Rezolus y metriken demuestran que es posible obtener visibilidad profunda sin sacrificar rendimiento, siempre que se elijan implementaciones adecuadas y se controle la contención. Los equipos que gestionan servicios a gran escala deberían evaluar estos proyectos y considerar su adopción para reducir la brecha entre observabilidad y coste operativo.

