MemBrowse: seguimiento continuo del consumo de memoria del firmware, gratis para proyectos de código abierto

La herramienta MemBrowse permite a los desarrolladores de software embebido hacer un seguimiento del consumo de RAM y de flash de su firmware dentro de la integración continua, con soporte para GitHub Actions, GitLab CI/CD y otras soluciones de CI.

Los ingenieros pueden monitorizar los cambios de ocupación de forma granular cada vez que se envía código al proyecto, en lugar de descubrirlo cuando la imagen del firmware ya no cabe en la flash del destino o no puede ejecutarse por un uso excesivo de RAM. MemBrowse también ofrece el historial completo, que muestra cómo ha evolucionado el consumo de memoria con el tiempo y cuánto margen queda para añadir nuevas funciones.

Panel de MemBrowse para un proyecto de demostración en MicroPython con destino rp2-pico

Características principales de MemBrowse:

  • Se integra con CI/CD: funciona con GitHub Actions, GitLab CI, Jenkins y otros sistemas de CI.
  • Seguimiento automático de la memoria en cada commit a la rama principal. La CLI de MemBrowse, de código abierto, analiza el archivo ELF y el script de enlazado del proyecto, extrae los datos de uso de memoria y sube un informe al portal de MemBrowse.
  • Los comentarios en las pull requests muestran cuánta memoria añade o libera cada cambio.
  • Tendencias históricas para visualizar el consumo de memoria a lo largo del tiempo.
  • Comparación de destinos para entender en qué se diferencian las distintas placas y configuraciones de compilación.
  • Alertas de presupuesto que hacen fallar la CI cuando la memoria supera los límites definidos por el usuario.
Flujo de trabajo

MemBrowse ofrece varias opciones de precios. Es «gratis para siempre» para los proyectos de código abierto alojados en repositorios públicos, con un número ilimitado de destinos monitorizados. Según tengo entendido, proyectos como NuttX, TinyUSB, wolfSSL, Flipper One (el firmware para RP2350), RT-Thread y Adafruit lo utilizan sin coste alguno. La tarifa parte de 99 dólares al mes para proyectos de código cerrado con hasta 10 destinos monitorizados, y el precio sube si se necesita hacer seguimiento de más destinos.

Incluso se puede acceder al panel en vivo de algunos de los proyectos de código abierto para hacerse rápidamente una idea de lo que ofrece el portal. Para saber más sobre cómo empezar, lo mejor es consultar la documentación.

Panel del firmware Flipper One RP2350 en MemBrowse: sección de análisis de símbolos
Se monitorizan varios destinos en la biblioteca de código abierto wolfSSL TLS/SSL

Traducido del artículo en inglés «MemBrowse continuously tracks firmware memory footprint, is free for open-source projects» de CNX Software.

Salir de la versión móvil