Information on the LoadRunner Citrix Agent

- The HP LR Citrix Agent adds test getting/syncing (reading and syncing with text) and other things – if text getting/syncing isn’t required, or using the object-level VuGen Citrix functions is not required, the agent is not required to be used in the LoadRunner Citrix Protocol.


- The HP LR Citrix Agent adds not only text syncing/getting functions, but also ctrx_obj_* family of function, which allows access to extended description of objects.  Please review the online function reference in VuGen for more information on the calls we have designed to work with the Citrix Agent.


In the below discussion, we should distinguish the differences between the client side (Vugen side, Load Generator side) and server side (Citrix Server Side where the LR Agent is installed) regarding the Citrix protocol.   


- At the client side in single protocol Citrix ICA VUsers wherein only the ICA protocol is used, we use only public Citrix APIs (ICO/ICA APIs) – however in multi-protocol Web+ICA VUsers (Citrix Web Interface, previously known as “NFuse”) VUsers, our product uses web hooks during recording (only during the web part of the business process) to instrument and monitor IE during recording.  Web hooking usually tricks anti-virus and security software into thinking our recording hooking is a risk, so this should be considered.  This is the same web hooking our Web protocols use.


- The HP LR Citrix Agent (client to server communication) uses Citrix RDP “Virtual Channels” as part of it’s implementation communicating with the client-side.  A Citrix virtual channel is a bi-directional error-free connection used for the exchange of generalized packet data between a Citrix host for online delivery (XenApp) and the Citrix client/plug-in. For example: sound, graphics, client drive mapping, and printing are just a few of the virtual channels used by Citrix.


- There is no additional HP information about details and ports for Virtual Channels, as it’s a Citrix feature, and we use only the Citrix Virtual-Channels public API .


-  The HP LR Citrix Agent is implemented as a device driver in the Citrix Server where during recording, replay or a loadtest when in order to get extended information about a published Citrix application, we inject DLLs in to processes; therefore, Microsoft DEP should be fully disabled on server.  Because we must use DLL-injection techniques with our LR Citrix Agent implementation, not only DEP but AntiVirus and security software may falsely think our agent activity/interaction is a risk.  Due to this -- on the Citrix server side, our agent’s interaction with the Citrix published application is considered invasive. 


- The HP LR Citrix Agent driver/process starts with every Citrix session created on server (process name is ctrxAgent.exe) -- but if it doesn’t see any incoming Virtual Channel connections (indicating it is a session associated with the Lr Citrix protocol) it simply stops itself -- therefore,  by design, our LR Citrix agent is prevented to continue to run unless it is a session requiring it for our ICA protocol (this prevents the agent from running on any Citrix/RDP session).  Connecting remotely to a Citrix server with our agent using RDP/remote desktop, should not result in the ctrxAgent.exe running continuously; however, recording or replaying or load testing using the Citrix protocol will due to the aforementioned.


- Regarding the installation of our LR Citrix agent specific to W2K/R2 -- there could be some issues with driver signing in W2K8/R2, wherein the agent may install without error (with DEP disabled) but the agent may not work properly.  If that is the case please contact HP software support.


- When running, the LR Citrix agent “footprint” is minimal.


- You need to have the LR Citrix Agent(s) patched to the latest patch applicable to the LoadRunner version being used.  For example, as of the date of this KB, with LR 11.04, you need to have the Citrix Agent 11 Patch 2 (Patch 2 is the latest patch for LR 11 Patch 4).

Have more questions? Submit a request


Article is closed for comments.