Diagnose user logon issues
Use Logon Duration data to troubleshoot user logon issues.
Logon duration is measured only for initial connections to a desktop or app using HDX. This data does not include users trying to connect with Remote Desktop Protocol or reconnect from disconnected sessions. Specifically, logon duration is not measured when a user initially connects using a non-HDX protocol and reconnects using HDX.
In the User Details view, the duration is displayed as a number value below which the time the logon occurred is displayed and a graph of the phases of the logon process.
As users logon to Citrix Virtual Apps and Desktops, the Monitor Service tracks the phases of the logon process from the time the user connects from Citrix Workspace app to the time when the desktop is ready to use.
The large number on the left is the total logon time and is calculated by combining the time spent establishing the connection and obtaining a desktop from the Delivery Controller with the time spent to authenticate and logon to a virtual desktop. The duration information is presented in seconds (or fractions of seconds).
Ensure that the following prerequisites are met for logon duration data and drilldowns to appear:
- Install Citrix User Profile Manager and Citrix User Profile Manager WMI Plugin on the VDA.
- Ensure that the Citrix Profile Management Service is running.
- For XenApp and XenDesktop Sites 7.15 and earlier, disable the GPO setting, Do not process the legacy run list.
- Audit process tracking must be enabled for Interactive Session drilldown.
- For GPO drilldown, increase the size of Group Policy operational logs.
Note: Logon duration is supported only on default Windows shell (explorer.exe) and not on custom shells.
Steps to troubleshoot user logon issues
- From the User Details view, troubleshoot the logon state using the Logon Duration panel.
- If the user is logging on, the view reflects the process of logging on.
- If the user is currently logged on, the Logon Duration panel displays the time it took for the user to log on to the current session.
- Examine the phases of the logon process.
Logon process phases
Time taken to decide which desktop to assign to the user.
If the session required a machine start, this is the time taken to start the virtual machine.
Time taken to complete the steps required in setting up the HDX connection from the client to the virtual machine.
Time taken to complete authentication to the remote session.
If Group Policy settings are enabled on the virtual machines, this is the time taken to apply group policy objects during logon. The drill-down of the time taken to apply each policy as per the CSEs (Clients-Side Extension) is available as a tooltip when you hover on the GPO bar. Click Detailed Drilldown to see a table with the policy status, and the corresponding GPO name. The time durations in the drilldown represent the CSE processing time only and do not add up to the total GPO time. You can copy the drill-down table for further troubleshooting or use in reports. The GPO time for the policies is retrieved from Event Viewer logs. The logs can get overwritten depending on the memory allocated for the operational logs (default size is 4 MB). For more information about increasing the log size for the operational logs, see the Microsoft article Configuring the Event Logs.
If logon scripts are configured for the session, this is the time taken for the logon scripts to be executed.
If profile settings are configured for the user or the virtual machine, this is the time taken for the profile to load.
If Citrix Profile Management is configured, the Profile Load bar includes the time taken by Citrix Profile Management to process user profiles. This information helps administrators to troubleshoot high profile processing duration issues. When Profile Management is configured, an increased duration is displayed by the Profile Load bar. This increase is caused by this enhancement and does not reflect a performance degradation. This enhancement is available on VDAs 1903 or later.
Hovering over the Profile Load bar displays a tooltip showing the user profile details for the current session.
Click Detailed Drilldown to drilldown further into each individual folder in the profile root folder (for instance, C:/Users/username), its size and the number of files (including files inside nested folders).
Profile drilldown is available on Delivery Controller version 7 1811 or later and VDAs 1811 or later. Using the profile drilldown information, you can resolve issues involving a high profile load time. You can:
- Reset the user profile
- Optimize the profile by removing unwanted large files
- Reduce the number of files to reduce the network load
- Use profile streaming
By default, all folders in the profile root are displayed in the drilldown. To hide folder visibility, edit the following registry value on the VDA machine:
Adding and editing the registry incorrectly can cause serious problems that might require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry before you edit it.
- On the VDA, add a new registry value ProfileFoldersNameHidden at HKEY_LOCAL_MACHINE\Software\Citrix\Director\
- Set the value to 1. This value must be a DWORD (32-bit) value. Folder names visibility is now disabled.
- To make the folder names visible again, set the value to 0.
Note: You can use GPO or PowerShell commands to apply the registry value change on multiple machines. For more information about using GPO to deploy registry changes, see the blog.
- Profile drilldown does not consider redirected folders.
- The NTUser.dat files in the root folder may not be visible to end users. However, they are included in the profile drilldown and displayed in the list of files in Root Folder.
- Certain hidden files in the AppData folder are not included in Profile drilldown.
- Number of files and profile size data may not match with the data in the Personalization panel due to certain Windows limitations.
This is the time taken to “hand off” keyboard and mouse control to the user after the user profile has been loaded. It is normally the longest duration out of all the phases of the logon process and is calculated as Interactive Session duration = Desktop Ready Event Timestamp (EventId 1000 on VDA) - User Profile Loaded Event Timestamp (EventId 2 on VDA). Interactive Session has three subphases: Pre-userinit, Userinit, and Shell. Hovering over Interactive Session displays a tooltip showing the subphases, the time taken for each subphase, the total cumulative time delay between these subphases, and a link to the documentation.
This feature is available on VDAs 1811 and later. If you have launched sessions on Sites earlier than 7.18 and then upgraded to 7.18 or later, a ‘Drilldown unavailable due to server error’ message is displayed. However, if you have launched sessions after upgrade, no error message is displayed.
To view the time duration of each subphase, enable Audit process tracking on the VM (VDA). When the Audit process tracking is disabled (default), the time duration of Pre-userinit and the combined time duration of Userinit and Shell are displayed. You can enable Audit process tracking through a Group Policy Object (GPO) as follows:
- Create a new GPO and edit it using the GPO editor.
- Go to Computer Configuration > Windows Settings > Security Settings > Local Policies > Audit Policy.
- On the right pane, double-click Audit process tracking.
- Select Success and click Ok.
- Apply this GPO to the required VDAs or Group.
For more information about Audit process tracking and enabling or disabling it, see Audit process tracking in the Microsoft documentation. Logon Duration panel in the User Details view.
- Interactive Session – Pre-userinit: This is the segment of Interactive Session which overlaps with Group Policy Objects and scripts. This subphase can be reduced by optimizing the GPOs and scripts.
- Interactive Session – Userinit: When a user logs on to a Windows machine, Winlogon runs userinit.exe. Userinit.exe runs logon scripts, re-establishes network connections, and then starts Explorer.exe, the Windows user interface. This subphase of Interactive Session represents the duration between the start of Userinit.exe to the start of the user interface for the virtual desktop or application.
- Interactive Session – Shell: In the previous phase, Userinit starts the initialization of Windows user interface. The Shell subphase captures the duration between the initialization of the user interface to the time user receives keyboard and mouse control.
- Delay: This is the cumulative time delay between the Pre-userinit and Userinit subphases and the Userinit and Shell subphases.
The total logon time is not an exact sum of these phases. For example, some phases occur in parallel, and in some phases, additional processing occurs that can result in a longer logon duration than the sum. The total logon time does not include the ICA idle time that is the time between the ICA file download and the ICA file launch for an application. To enable the automatic opening of ICA file upon application launch, configure your browser for automatic ICA file launch upon download of an ICA file. For more information, see CTX804493.
Note: The Logon Duration graph shows the logon phases in seconds. Any duration values below one second are displayed as sub-second values. The values above one second are rounded to the nearest 0.5 second. The graph has been designed to show the highest y-axis value as 200 seconds. Any value greater than 200 seconds is shown with the actual value displayed above the bar.
To identify unusual or unexpected values in the graph, compare the amount of time taken in each phase of the current session with the average duration for this user for the last seven days, and the average duration for all users in this Delivery Group for the last seven days.
Escalate as needed. For example, if the VM startup is slow, the issue might be in the hypervisor, so you can escalate it to the hypervisor administrator. Or, if the brokering time is slow, you can escalate the issue to the Site administrator to check the load balancing on the Delivery Controller.
Examine unusual differences, including:
- Missing (current) logon bars
- Major discrepancy between the current duration and this user’s average duration. Causes include:
- A new application was installed.
- An operating system update occurred.
- Configuration changes were made.
- Profile size of the user is high. In this case, the Profile Load will be high.
- Major discrepancy between the user’s logon numbers (current and average duration) and the Delivery Group average duration.
If needed, click Restart to observe the user’s logon process to troubleshoot issues, such as VM Start or Brokering.