SITUATION: I am developing a game in with one instance running on a Linux server, and multiple instances running on Windows10 (MacOS support is planned). Network reliability has been an ongoing problem, and providing diagnostics might help players understand what is happening when they encounter network instability.
PROBLEM: Presently, I am relying on C#'s TCP and UDP library and am using IPGlobalProperties to gather information on networking failure rates. My understanding of the documentation is that this is gathering information for the whole computer.
GOAL: I want statistics only for data sent between instances of my program, any other sampling could bias my statistics. (Also, monitoring the user's whole computer seems invasive and in an ideal world would be flagged.)
NOTE: I would expect that this would be possible using TcpClient (and similar objects) to get this information, but I can't find any way to accomplish this.
==========
EDIT: Since the intention is for the monitoring to occur on a client (player's) computer, it must not be necessary for the client to launch the application with admin privileges, install any supporting framework, etc.