The relay server already tracks per-connection bytesUp, bytesUpCompressed, bytesDown, bytesDownCompressed in RelayWebsocket.cpp and logs a summary on disconnect. The mesh client side (WSConnection, used by sync/stream/router) has access to the same data via compressedSize in onMessage2 and send(), but doesn't currently log it.
This would add matching byte counters to WSConnection and log a summary on connection close, reusing the existing renderSize/renderPercent helpers. For router, equivalent counters would go in ConnDesignator user data.
Example output on sync completion:
Sync complete. UP: 2.3 MB (62% compressed) DN: 14.1 MB (71% compressed)
Useful for operators monitoring relay-to-relay traffic and evaluating compression dictionary effectiveness.
The relay server already tracks per-connection
bytesUp,bytesUpCompressed,bytesDown,bytesDownCompressedinRelayWebsocket.cppand logs a summary on disconnect. The mesh client side (WSConnection, used by sync/stream/router) has access to the same data viacompressedSizeinonMessage2andsend(), but doesn't currently log it.This would add matching byte counters to
WSConnectionand log a summary on connection close, reusing the existingrenderSize/renderPercenthelpers. For router, equivalent counters would go inConnDesignatoruser data.Example output on sync completion:
Useful for operators monitoring relay-to-relay traffic and evaluating compression dictionary effectiveness.