Citrix HDX User Agents Test

Users can connect to applications/virtual desktops using may client devices – the ICA client, web browsers, mobile phones, tablets, etc. Each such client device is called a user agent. Users using certain types of client devices/user agents may be engaged in bandwidth-intensive communication over ICA, scarring the experience of other users to the XenApp/XenDesktop environment. To capture such problem conditions quickly, it would be best to know what types of client devices users are connecting from and how much bandwidth each of these device types are currently consuming. This is exactly what the HDX User Agents test reveals! This test auto-discovers the types of client devices that are interacting with the applications/virtual desktops, and reports the bandwidth usage of each device type. This way, the test leads administrators to those device types that are consuming bandwidth excessively.

Target of the test : An AppFlow-enabled Citrix NetScaler appliace

Agent deploying the test : A remote agent

Outputs of the test : One set of results for each type of client device/user agent users are connecting from

Configurable parameters for the test
Parameter Description

Test period

How often should the test be executed. It is recommended that you set the test period to 5 minutes. This is because, the eG AppFlow Collector is capable of capturing and aggregating AppFlow data related to the last 5 minutes only.


The host for which the test is to be configured.

Cluster IPs

This parameter applies only if the NetScaler appliance being monitored is part of a NetScaler cluster. In this case, configure this parameter with a comma-separated list of IP addresses of all other nodes in that cluster.

If the monitored NetScaler appliance is down/unreachable, then the eG AppFlow Collector uses the Cluster IPs configuration to figure out which other node in the cluster it should connect to for pulling AppFlow statistics. Typically, the collector attempts to connect to every IP address that is configured against Cluster IPs, in the same sequence in which they are specified. Metrics are pulled from the first cluster node that the collector successfully establishes a connection with.

Enable Logs

This flag is set to No by default. This means that, by default, the eG agent does not create AppFlow logs. You can set this flag to Yes to enable AppFlow logging. If this is done, then the eG agent automatically writes the raw AppFlow records it reads from the collector into individual CSV files. These CSV files are stored in the <EG_AGENT_INSTALL_DIR>\NetFlow\data\<IP_of_Monitored_NetScaler>\hdxappflow\actual_csv folder on the eG agent host. These CSV files provide administrators with granular insights into the HDX appflows, thereby enabling effective troubleshooting.


By default, the eG agent creates a maximum of 10 CSV files in the actual_csv folder. Beyond this point, the older CSV files will be automatically deleted by the eG agent to accommodate new files with current data. Likewise, a single CSV file can by default contain a maximum of 99999 records only. If the records to be written exceed this default value, then the eG agent automatically creates another CSV file to write the data.

If required, you can overwrite these default settings . For this, do the following:

  1. Login to the eG agent host.
  2. Edit the Netflow.Properties file in the <EG_AGENT_INSTALL_DIR>\NetFlow\config directory.
  3. In the file, look for the parameter, csv_file_retention_count.
  4. This is the parameter that governs the maximum number of CSV files that can be created in the auto_csv folder. By default, this parameter is set to 10. If you want to retain more number of CSV files at any given point in time, you can increase the value of this parameter. If you want to retain only a few CSV files, then decrease the value of this parameter.
  5. Next, look for the parameter, csv_max_flow_record_per_file.
  6. This is the parameter that governs the number of flow records that can be written to a single CSV. By default, this parameter is set to 99999. If you want a single file to accommodate more records, so that the creation of new CSVs is delayed, then increase the value of this parameter. On the other hand, if you want to reduce the capacity of a CSV file, so that new CSVs are quickly created, then decrease the value of this parameter.
  7. Finally, save the file.


Measurements made by the test
Measurement Description Measurement Unit Interpretation

Total bytes

Indicates the total amount of data (in bytes) transmitted/received by this user agent.



Avg bandwidth

Indicates the rate at which data is transferred over the ICA sessions launched from this device type.


Ideally, the value of this measure should be low.

A high value indicates excessive bandwidth usage by users connecting from the device type.

Compare the value of this measure across device types to know users using which type of device are engaged in bandwidth-intensive communication over ICA. 

Percentage of traffic by this user agent

Indicates what percentage of total traffic flowing through the target NetScaler appliance was generated by this user agent.


Compare the value of this measure across user agents to identify the user agent that is consuming bandwidth excessively.

A value close to 100% indicates a user agent/device that is hogging the bandwidth resources.