HDXWatcher and PCOIPWatcher – Realtime, easy virtual desktop traffic reporting.

logoWhen 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:

hdx watcher docked

pcoip watcher docked

They can now also be completely un docked:

hdx watcher

pcoip watcher undocked

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:


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.

25 Comments About “HDXWatcher and PCOIPWatcher – Realtime, easy virtual desktop traffic reporting.

  1. GeertC

    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?

      1. Marc Trotter

        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?

      2. Marc Trotter

        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?

  2. Alan Osborne

    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.

  3. Brian King

    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.

  4. Christiaan

    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…

        1. RichCNY

          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.

  5. Shiv

    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.


  6. Jason

    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?


  7. Craig

    Love the tool but it only seems to run with local admin privileges. Any way to get it to work with standard user?

    1. andyjmorgan Post author

      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 :)

  8. Adam Reid

    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.


Leave a Reply