Privacy preserving stats in Snowflake standalone proxy (Fix #40079)

shelikhoo requested to merge shelikhoo/snowflake:dev-proxystat into main

This is a merge request aimed at adding additional log output to snowflake proxy in order to show aggregated result of traffic and user metrics. This is designed to allow users to get a positive feedback about their contribution to the Tor network.

The data collector reused the existing events interface designed for snowflake client. However, currently the client and server emits a disjoint set of events.

Things to look at:

  • The summary interval is 1 hour by default(adjustable by user), this output will be easily shadowed by other outputs.
  • There is no historic record by design. This is because there is no persistent storage, and it is expected that the proxy process being restarted from time to time. This ensure the data output is accurate and comparable. This also comes with the defensive design that prevent users from calculating resource consumption based on this data.
Edited by shelikhoo

Merge request reports