When checking the bandwidth requirement of multimedia sites, checking how much additional bandwidth video conferencing is going to require or even troubleshooting WAN capacity issues, it’s extremely useful to have a visible interpretation of realtime bandwidth consumption from your virtual desktop.
I wrote a tool quite some time ago called watcher2 while troubleshooting a similar issue. I finally took the time to refactor that tool for use with XenApp 6.5 , XenDesktop and VMware View and they are finally available to download! Both watcher utilities also include a latency counter which was a request that came in over and over.
HDX and PCOIP watcher by default dock to the top of the screen and can be moved left or right as below:

![]()
They can now also be completely un docked:


How do they work?
The tool finds your username in the performance monitor counters for session bandwidth, once it finds this entry it reads your performance monitor data once every second and reports on it.
In the case of PCOIP watcher, it reads the PCOIP counters from performance monitor.
what do the values mean?
All values are in either Kilobits per second or Megabits per second.
In = Traffic from the client to the virtual, this may spike during large copy / paste jobs,web cams or copying data from a usb key to the session:
Out = Traffic from the virtual desktop to the client, mainly audio or video traffic causes this to spike.
Latency = The delay between your client and the virtual desktop.
Can I Configure it?
Two thresholds are available, a yellow warning and a red warning, currently . These default values can be written to:
“HKEY_local_machine\software\ThinScaleTech\HDXmonitor”
“HKEY_current_user\software\ThinScaleTech\HDXmonitor”
Dword: YellowWarning = 300 (decimal)
Dword: RedWarning = 600 (decimal)
Do they have any dependencies?
.net framework 3.5
if you are running XenApp 6.5 or XenDesktop 5.6, ensure you have the latest hot-fixes installed or the counters may be incorrect.
How do I launch it?
Allow the user to run it manually, or place the executable in their start-up folder or login script.
Where Can I download it?
What’s coming next:
- Native Microsoft RDP Counters.
- Realtime graphs and recording.
- source code is available on request.


Does it already work with VDA 7.1?
Yep
Hi, I’m having some problem with HDXWatcher.
When I start it in XenApp 6.5 desktop session I get these 2 popups
Exception in getusercounter: Category does not exist.
A HDX session was not detected, HDXWatcher will now close.
Do I need to configure something to enable HDX?
It should work, I’ll look into it.
I’m seeing the same error, tried running it from two different machines. Thought I’d volunteer that .Net Framework 4.5 is installed don’t know if that plays a part?
Are you definitely running it in an ica session?
Yes, definitely within an ICA session, does the fact that we’ve enabled Session Reliability play a part, in other words port 2598 is leveraged not 1494?
Is there a yellow/red warning on the latency counter? That would be helpful.
Not currently. I’ll write one in.
Great, thanks!
Thanks Andrew! There used to be a Latency Checker application for CPS 4/5 and I’ve been looking for a simple utility like this for a couple of years now. I second the request for a latency threshold, since I will use this app to demonstrate to clients when “laggyness” in their session is due to network latency. Yellow/red color indicators will make things that much simpler.
Hi Andrew,
I have a home user that when running the Watcher on the Xendesktop shows 934 MS latency and than a message “disconnect detected” is that message triggered from the high latency number or something else?. The user is on a high speed cable connection so I find it odd.
Hi Brian,
The latency counter is a Citrix counter. If it’s reading that high, it’s that high,
Great tool Andrew. Interested to hear if it is possible to have it modified so it can maybe run in the taskbar of the user session and then give a red/amber/green light status depending on parameters we can set for latency? Even better if it can also do a small baloon pop-up to prompt user to know they are not on a good connection and may need to expect degraded performance…In essence something very simple to set end-user expectations on session performance…
Sure! Do you want the code to so it yourself?
Sure Andrew. That would be great. Thanks!
I know its been almost a year since this comment, but did you by any chance share the source or did anyone make that change for the system tray ? I was going to tackle a similiar task myself but if there is a good starting point that someone would be willing to share that would be awesome.
Hello Andy,
When do I run it? I am running it in my published application server and I am getting below.
“A HDX Session was not detected, HDXWatcher will close now.”
In the system, 10 users were logged it at that time.
Thanks.
what version of xenapp / xendesktop?
That should work, did you try the earlier watcher2 utility?
Hi Andrew,
I was able to use PCoIPWatcher in View 5.3; however, since upgrading to View 6 (view agent 6.2.1), I’m getting “pcoip seission was not detected pcoipwatcher will now close” when I start PCoIPWatcher. Does this not work with anymore with 6.2?
Thanks,
Jason
I’m upgrading PCOIP watcher with the next release (Horizon 7).
Love the tool but it only seems to run with local admin privileges. Any way to get it to work with standard user?
Hi Craig,
the users need to have permissions to read performance counters. there’s a local security group on the XenApp servers to control this. It’s enabled by default, but i’d imagine your security team has disabled it
Thank you for developing this. We don’t have the licensing required for NetScaler Insight so this is a handy utility for our helpdesk guys to use.