GPUProfiler icon indicating copy to clipboard operation
GPUProfiler copied to clipboard

Remoting Protocol Network (Tx/RX) and packet loss

Open JeremyMain opened this issue 5 years ago • 9 comments

Adding the remoting protocol metrics for Network Tx/Rx and packet loss information. HDX, PCoIP and Blast support. Request for details about TGX, RDP if anyone has data sources I can add those as well.

JeremyMain avatar May 30 '20 14:05 JeremyMain

HDX, PCoIP and Blast protocol metrics AND overall network utilization (Tx/Rx) implemented and tested. For protocols that don't have data sources the general network utilization can be used.

JeremyMain avatar Jun 21 '21 14:06 JeremyMain

I see a need in the market for TGX, RDP & HP Z Central for GFX protocol support (priority for TGX as they support Game Pad). Let me know what Data source you need, I can provide samples for each. There are other key network metrics that we measure separately that would be nice to have like Jitter and packet re-ordering but most important is comparing Sender vs Receiver Tx/Rx at both ends.

stitchpc avatar Jun 21 '21 15:06 stitchpc

If you have those metric details please share them with me at [ jmain @ gpuprofiler.com ] and I can attempt to add them to the next release (the release with the network / protocol utilization). I will need to add an additional define for ZCentral.

image

JeremyMain avatar Jun 24 '21 04:06 JeremyMain

Would love to see NICE DCV protocol supported here. Let us know in this comment thread what information/software/resources you need to help make this happen and I can help organise that for you.

mjnowen avatar Jun 28 '21 20:06 mjnowen

@mjnowen I installed DCV server in a VM and poked around WMI looking for something relevant but no luck. If you know if there is an DCV API that I can query to collect some of the metrics that the client can display (except on the VM-side) it would make adding Nice DCV support possible. image

JeremyMain avatar Jun 30 '21 12:06 JeremyMain

The DCV documentation and API calls haven't revealed anything as well. https://docs.aws.amazon.com/dcv/index.html

There is a "metrics" registry key but no documentation about what key values and what that enables. Computer\HKEY_CURRENT_USER\SOFTWARE\GSettings\com\nicesoftware\dcv\metrics

JeremyMain avatar Jun 30 '21 14:06 JeremyMain

Yes, that is something we plan to better document once we also improve the content of the metrics we collect.

In the mean time, in that registry folder you can set a registry key called reporters and assign the string value ['jsonlogfile'] (including the square brackets, since potentially it is a list of reporters but right now the json dump is the only one that we have.

This will generate json log files every minute in the DCV logs folder (C:\ProgramData\NICE\dcv). There will be a log file for each process (server and agents) and the files are rotated so you can pick them up at your own pace.

pbor avatar Jul 02 '21 10:07 pbor

adding reporters : ['jsonlogfile'] to Computer\HKEY_CURRENT_USER\SOFTWARE\GSettings\com\nicesoftware\dcv\metrics\ resulted in the user session agent.%USERNAME%.json files to be generated. Not quite what I was looking to parse.

With some more digging in the registry, I added the same to Computer\HKEY_USERS\.DEFAULT\Software\GSettings\com\nicesoftware\dcv\metrics which now generates:

  • agent.metrics.json
  • agentsession.metrics.json
  • server-metrics.json

I am going to examine the available metrics in each of the json files. The challenge will be to efficiently parse these files to extract relevant data at every sample interval (Minimum, once per second).

I would like to extract

  • Frame rate
  • Network Latency (Protocol Latency?)
  • Current Tx (UDP/TCP)
  • Current Rx (UDP/TCP)
  • Encoder used

A test application to extract these metrics will be easier to test and profile.

JeremyMain avatar Jul 05 '21 14:07 JeremyMain

Current status is that overall network Tx/Rx as well as remoting protocol Tx/Rx for some protocols (PCoIP, Blast, HDX) are in verification phase. WIP screenshot, there are some other UI issues that need to still be resolved: Img Tx is the Tx value for the remoting protocol's image transfer counter. image

JeremyMain avatar Sep 09 '21 14:09 JeremyMain