Looks great! Even though the analysis isn’t complete yet (some field not yet accounted for as you mention), I’m just trying to come up with a few high-level takeaways so far.
- Dynamic memory usage per tx-relaying peers is
~600kb - 1.4MBper tx-relaying peer, a large part of it is probably the rolling bloom filterm_tx_inventory_known_filter. - Block-Relay-Only peers only take up a very small fraction of that memory (<10kb)
- CNode average memory is small in comparison with Peer on average - however, I’d expect hat there would be large spikes when we send / receive a large message that we haven’t processed yet - these likely wouldn’t be seen in this data.
- CNode memory considerations are mostly independent on whether the connection is block-relay-only or not.
Does this make sense? Any important takeaways so far that I am missing?