Service - LogonTiming

See also
Horizon 7.2

Service Description


Methods defined in this Service


Retrieves the session timing data from endpoint machine registry. The result is a JSON string which includes timings of all phases of session log on. This information is recorded in Events Database. The interface provides an easy way to get it.
The timings are organized as a tree in following format.
--existingSessionSearch (LMV only)
--brokerLaunch-{targetId} (LMV only)
--brokerLaunch{-targetId / null} (LMV remote/local launch success)
---raiseTunnel (local launch only)
--raiseTunnel (LMV only)

Every phase includes the following fields:

All phases are listed in the following table.
Parent Breakdown Description
root broker Total time spent on broker processing XML request
broker authentication Time spent checking that client is still authenticated. This is normally not present because the duration is zero
broker existingSessionSearch CPA only. Broker handling client request synchronously tries other brokers in pod until request is handled.
broker brokerLaunch{-id} Parent breakdown for various launch/reconnect activities. When CPA is enabled the {-id} is present and multiple brokerLaunch breakdowns can be present. Only one broker will successfully handle the launch/reconnect, the other entries are time taken probing brokers that can not fulfil the request.
broker \ brokerLaunch{-id} machineSelection Search for best matching VM that can fulfil the launch/reconnect.
broker \ brokerLaunch{-id} \ machineSelection machinePowerOn Total time taken to startup a VM. This includes booting the OS, or resuming a suspended machine, and View agent signally it's ready for a connection.
broker \ brokerLaunch{-id} \ machineSelection \ machinePowerOn brokerStartVmOp Time taken to instruct vSphere to perform the power on operation
broker \ brokerLaunch{-id} \ machineSelection \ machinePowerOn \ brokerStartVmOp vcConnect, prepareVmStart, vcExecuteVmStart vSphere connect, prepare and start power on operation
broker \ brokerLaunch{-id} \ machineSelection \ machinePowerOn agentStart Time for machine start, OS to boot and agent to startup
broker \ brokerLaunch{-id} \ machineSelection \ machinePowerOn agentReady Time between agent startup completion and agent ready to accept connections
broker \ brokerLaunch{-id} \ machineSelection \ machinePowerOn brokerStartVmPostOp Post processing after agent ready and broker continues on
broker \ brokerLaunch{-id} raiseTunnel Instruct Security Server to prepare a tunnel connection.
broker \ brokerLaunch{-id} sessionScript Run broker session script
broker \ brokerLaunch{-id} machinePrepare Once a VM is selected the broker contacts the VM agent to prepare it for an incoming connection
broker \ brokerLaunch{-id} \ machinePrepare agentPrepare Timing taken on the agent and prepare the VM for incoming connection
broker \ brokerLaunch{-id} \ machinePrepare \ agentPrepare userScript Time take to run user defined script
broker \ brokerLaunch{-id} \ machinePrepare \ agentPrepare protocolStartup Time taken to startup the protocol; PCoIP, Blast or RDP
root agent Total time spent on agent to process a launch/reconnect
agent clientConnectWait The time betwee agentPrepare completing and View Client connecting. At this point the client has opened a socket, and authenticated to the Windows machine,
agent clientLogon Time taken to create a Windows session
agent \ clientLogon userProfile Time Windows user profile processing
agent \ clientLogon \ userProfile profileSync In the case of roaming profile this is the time Windows takes to download user profile
agent \ clientLogon \ userProfile hiveLoad Time Windows takes to load user registry hive
agent \ clientLogon userGpo Windows Group Policy processing
agent \ clientLogon shellLoad How long does it take to load the Windows shell (i.e. explorer.exe)
agent appLaunch For RSDH this times application launching. This only times how long it takes to start the process, not when the application is initialized and functioning.
Please Note, the format of the JSON returned may change between releases.


Privilege Description
MACHINE_VIEW Machine read with the corresponding access group permission is sufficient to get a session's timing data.
POOL_VIEW Desktop read with the corresponding access group permission is sufficient to get a session's timing data.
FEDERATED_SESSIONS_VIEW Global session read is sufficient to get a session's timing data.


_thisManagedObjectReference A reference to the LogonTiming used to make the method call.

SessionID to get the timing data for.

Return Value

Type Description
xsd:stringSession timing data when View client logs on.


Type Description
EntityNotFoundThrown if any specified entity cannot be found.
InsufficientPermissionThrown if the user does not have sufficient permission to perform the operation.
InvalidArgumentThrown if any specified argument is invalid.
InvalidTypeThrown if the type of any specified argument is invalid.
UnexpectedFaultThrown if an unexpected error occurs while performing the operation.

Show WSDL type definition