Hey there Michael!

Very nice solution! For sure we can use that to track how much
firmware images grow in time.. right next to self-test and benchmark
applications :-)

Can membrowse constitute a standalone application to be part of
nuttx/tools/membrowse? I mean so it can be launched locally too not
only by the CI?

Thanks :-)
Tomek

--
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info

On Mon, Apr 20, 2026 at 1:46 PM Michael Rogov Papernov
<[email protected]> wrote:
>
> Hi all,
>
> I'd like to propose adding a memory footprint tracking integration to
> NuttX's CI, and I'm looking for feedback before opening a PR.
>
> Background: I'm an embedded systems developer, and over the past year
> I've been building MemBrowse,
> a platform that parses ELF binaries and linker map files at the symbol
> level and tracks firmware footprint across commits.
> It runs as a CI step, uploads symbol data, and surfaces per-PR diffs
> (flash/RAM deltas, symbols that grew or shrank, and library-level
> breakdowns).
> Similar integrations are already merged in TinyUSB and wolfSSL.
>
> I've set up a public dashboard with data from real NuttX builds so the
> output is evaluable before any code lands:
>
>   https://membrowse.com/public/michael-membrowse/nuttx
>
> Proposed scope:
>
> 1. A new opt-in GitHub Actions workflow (or a job in an existing one)
> that runs after a successful build, extracts symbol data from the ELF
> and map file, and uploads it.
> 2. Tokenless upload for public repos. No secrets in CI, no
> pull_request_target, forked PRs work with the standard pull_request
> trigger.
> 3. No required changes to NuttX's build system. The tool consumes the
> ELF and map artifacts the existing CI already produces.
>
> Feedback welcome.
>
> Kind regards,
>
> Michael Rogov Papernov
> Founder, MemBrowse
> membrowse.com

Reply via email to