Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Expose various stats and other information from inside toxcore #2422

Open
iphydf opened this issue Nov 13, 2023 · 4 comments
Open

Expose various stats and other information from inside toxcore #2422

iphydf opened this issue Nov 13, 2023 · 4 comments
Labels
enhancement New feature for the user, not a new feature for build script P3 Low priority
Milestone

Comments

@iphydf
Copy link
Member

iphydf commented Nov 13, 2023

Add a function that returns an object containing things like "number of packets sent for each packet type since last query", "number of connected DHT nodes/TCP relays", maybe some congestion control stats, etc. The object is something like the events object: dynamically allocated and needs to be freed with something like tox_stats_free. Ideally also add a binary pack/unpack function for it (msgpack).

We can then use that in bootstrap nodes to add monitoring and graphs to show how they are doing.

@iphydf iphydf added enhancement New feature for the user, not a new feature for build script P3 Low priority labels Nov 13, 2023
@iphydf iphydf added this to the v0.2.x milestone Nov 13, 2023
@JFreegman
Copy link
Member

This could/should be added on top of #1885

@emdee-is
Copy link

emdee-is commented Dec 6, 2023

This would be really nice to see - the ongoings of the network are a black hole of information right now.

BTW - can you look at some/any simple solution fix to the TCP_server code to at least look for a special packet ping packet and be nice and send a simple nice reply like the UDP case #2331 ? We need this to make the tcp server testable/usable with Tor, and we need Tor to be resilient against network blocks or snooping. There are people using Tox for serious reasons, and right now it's trivial to observe or block.

@iphydf
Copy link
Member Author

iphydf commented Dec 7, 2023

Can you open another ticket about that and elaborate a bit? It sounds like something we can do, but I'd like to be sure what the exact requirements are.

@emdee-is
Copy link

@iphydf It's in #2331 which is a year old blocker for me to test Tox with Tor. You must have tcp_relays accessible over Tor if the network wants any resilience against blocking/tampering with the few known seed hosts. And I can't test without Tox responding to tcp ping packets.

I can see gui clients like toxygen optionally offering a user to setup Tor with every client invocation, so every client runs a Tor access point to the tcp_relays. (In addition to getting some of the stable nodes to do the same.) A tor client is lightweight and adds a lot to resiliency.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement New feature for the user, not a new feature for build script P3 Low priority
Development

No branches or pull requests

3 participants