Users - Top Users Report
In AVD host pool environments, keeping track of the user activity on the host pools is a difficult task. Moreover, it becomes too tedious to figure out which user is continuously engaged in the maximum utilization of the resources. The Users - Top Users report provides a solution for this. Using this report, you can easily figure out the users who are consuming more resources on the host pools.
To generate the Users - Top Users report, do the following:
- Select the Top Users option by following the menu sequence: REPORTS BY FUNCTION -> Domain-specific Reports -> Azure Virtual Desktop -> By Host Pool -> Users -> Top Users.
-
Figure 1 will then appear.
Figure 1 : Generating the Top Users report for AVD host pools
-
In Figure 1, select a criterion for analysis from the Analyze By list box. Using this report, you can analyze the user activity on the AVD host pools or those that are part of a segment, service, or a zone. This way, you can assess the impact of the user activity on the host pools of a particular service/segment/zone, and accordingly take decisions. The options provided by the Analyze By list box are discussed hereunder:
- Component: Select this option to choose the component(s) from across all the managed AVD host pools in the environment. For instance, for a report on the utilization of resources by the users on all the managed AVD Host Pools in the environment, select Component from the Analyze By list. As soon as you select the Component option, Microsoft AVD Host Pool option will be automatically populated in the Component Type list. Then, by default, all the AVD host pools will be listed in the Host Pool list. If the Host Pool list consists of too many Microsoft AVD host pools, then viewing all the AVD host pools and selecting the ones that you need for report generation could require endless scrolling. To avoid this, you can click the
button next to the Host Pool list. The HOST POOL pop up window will then appear using which you can view almost all the AVD host pools in a single interface and Select the ones for which the report is to be generated. You can narrow your search further by using the Search text box. Specify the whole/part of the AVD host pool name to search for in this text box, and click the
icon next to it.
- Service: Select this option if the components for which a report is to be generated are involved in the delivery of a business service. Then, select a Service.
- Segment: Choose this option if the AVD host pools to be evaluated are part of a segment. Then, pick a Segment for analysis.
- Zone: Pick this option for a report on the performance of AVD host pool components that are included in a zone. Then, choose a Zone.
- Component: Select this option to choose the component(s) from across all the managed AVD host pools in the environment. For instance, for a report on the utilization of resources by the users on all the managed AVD Host Pools in the environment, select Component from the Analyze By list. As soon as you select the Component option, Microsoft AVD Host Pool option will be automatically populated in the Component Type list. Then, by default, all the AVD host pools will be listed in the Host Pool list. If the Host Pool list consists of too many Microsoft AVD host pools, then viewing all the AVD host pools and selecting the ones that you need for report generation could require endless scrolling. To avoid this, you can click the
- Next, select Graph from the Report Type field to generate a graphical report. For a data report, select the Data option. If Graph option is selected, then an additional Graph Type list box will appear. By default, Distribution option will be chosen from this list box.
- If Graph option is chosen as the Report Type and the Distribution option is chosen from the Graph Type list box, then an additional Criteria list box will appear in the report configuration section. This implies that across all the Host pools of the chosen Component Type, the distribution of users will be represented graphically for the chosen Criteria. Likewise, if Data option is chosen as the Report Type, then a Based On Criteria option will appear which implies that the generated report will be sorted in descending order by default, based on the chosen option.
- Select the name of the user whose activity is to be monitored from the User list box. By default, All Users option is chosen from the User list.
-
By default, the report provides the details of only the Top-10 users’ activity in the chosen Component. You can choose a different top-n / last-n option from the Show Top list, if need be.
Note:
By default, the values displayed in the Show Top list range from top-10 to Last-10. This is because, the Showtop parameter in the [infos] section of the eg_report.ini file in the <EG_INSTALL_DIR>\manager\config directory is set to 10, by default. You can, if required, configure the Show Toplist to display a different range of options. For this, specify a different number against the Showtop parameter, and save the eg_report.ini file.
-
Specify the report Timeline. You can either provide a fixed time line such as 1 hour, 2 days, etc., or select the Any option from the list to provide a From and To date/time for report generation.
Note:
For every user registered with the eG Enterprise system, the administrator can indicate the maximum timeline for which that user can generate a report. Once the maximum timeline is set for a user, then, whenever that user logs into eG Reporter and attempts to generate a report, the Timeline list box in the report page will display options according to the maximum timeline setting of that user. For instance, if a user can generate a report for a maximum period of 3 days only, then 3 days will be the highest option displayed in the Timeline list - i.e., 3 days will be the last option in the fixed Timeline list. Similarly, if the user chooses the Any option from the Timeline list and proceeds to provide a start date and end date for report generation using the From and To specifications, eG Enterprise will first check if the user's Timeline specification conforms to his/her maximum timeline setting. If not, report generation will fail. For instance, for a user who is allowed to generate reports spanning over a maximum period of 3 days only, the difference between the From and To dates should never be over 3 days. If it is, then, upon clicking the Run Report button a message box will appear, prompting the user to change the From and To specification.
-
In addition to the settings discussed above, this report comes with a set of default specifications. These settings are hidden by default. If you do not want to disturb these default settings, then you can proceed to generate the report by clicking the Run Report button soon after you pick an option from the Host Pool list. However, if you want to view and then alter these settings (if required), click on the
button. The default settings will then appear in the More Options drop down window (see Figure 2). The steps below discuss each of these settings and how they can be customized.
Figure 2 : The default settings for generating the Top Users report
- Specify the start time and end time for report generation against the Time period field (see Figure 2).
-
If the timeline specified for the report needs to exclude the data collected during the Weekends, then set Exclude weekends to Yes. If not, select No.
Note:
By default, the weekend constitutes Saturday and Sunday. To override this default setting, do the following:
- Edit the eg_report.ini file in the <EG_INSTALL_DIR>\manager\config directory.
- In the [measure_group] section of the file, the exclude_weekend parameter is set to Saturday,Sunday by default. You can modify this by setting the exclude_weekend parameter to a comma-separated list of other days of the week - say Friday,Saturday.
- Save the file after making the required changes.
- Using the Weighted Average flag, you can indicate how the Avg value is to be computed for a chosen measure for the purpose of this report. The status of the Weighted Average flag is relevant only if the Test chosen is a descriptor-based test, and the descriptors are dynamic in nature. For instance, the Users-AVD test in our example auto-discovers the users who are currently active in the host pool environment. For each user who has logged into the Azure Virtual Desktops hosted in the host pools, the test reports a variety of statistics. Unlike descriptors such as disk partitions or processors that rarely change, the users are dynamic descriptors, which may change often; in other words, a user who is logged in currently, may opt to log out and may not login at all during the next measurement period. The Users-AVD test will neither report metrics for the inactive descriptors nor display it in the eG monitoring console. This is why, users in the Users-AVD test are considered ‘dynamic descriptors’.
- By default, this report compares the Avg value of the chosen measure across all selected descriptors. Since the Weighted Average flag is set to No by default, this Avg is computed as the ratio of the sum total of the measure values reported by a descriptor during the given timeline and the total number of times the test is executed during the same timeline. In case of dynamic descriptors however, the Avg values so computed may not reveal the ‘true picture of performance’. This is because, the test may not discover or report metrics for dynamic descriptors throughout a given timeline. For example, take the case of the Users-AVD test. Say, two users - namely, ‘A’ and ‘B’ have logged into the Azure Virtual Desktops. During its first measurement period; the CPU Utilization for a user session is registered as 2% and 8% respectively. Assume that the second time the Users-AVD test ran, it captured 5% as the CPU Utilization of user ‘A’. User ‘B’ however was inactive during the second measurement period, and hence, was not discovered at all. If the Weighted Average flag is set to No by default, then, this report will plot the Avg value of 4% (3+5=8/2=4) for user ‘A’ and 4% (8/2=4) again for user ‘B’. If you notice, unlike user ‘A’, where 8% of CPU was utilized over a period of time, in case of user ‘B’, 8% of CPU was utilized at one shot! Logically therefore, user ‘B’ has to be ranked above user ‘A’ in terms of CPU utilization. However, since the default Avg value computation does not clearly bring out this difference, both user ‘A’ and ‘B’ are treated at par in this report! This is why, in case of dynamic descriptors, you may want to set the Weighted Average flag to Yes. In this case, the eG Enterprise system expresses Avg as the ratio of the sum total of the measure values reported by a descriptor during a given timeline and the ‘total number of times that descriptor was active’ during the same timeline. This implies that if the Weighted Average flag is set to Yes in the example above, the Avg value for user ‘A’ will continue to be 4 (3+5=8/2=4), but the same for user ‘B’ will be 8 MB (8/1=8). In this report therefore, user ‘B’ will be placed above user ‘A’, thereby accurately pointing you to the top user who is consuming maximum CPU resources.
- If you wish to view the user activity on a chosen desktop, then you can use the Desktop Search text box. Provide the name of the desktop of your choice in this text box to view the entire user activity on that particular desktop for the chosen time period.
-
In large environments, reports generated using months of data can take a long time to complete. Administrators now have the option of generating reports on-line or in the background. When a report is scheduled for background generation, administrators can proceed with their other monitoring, diagnosis, and reporting tasks, while the eG manager is processing the report. This saves the administrator valuable time. To schedule background processing of a report, you can either select the Background Save - PDF option or the Background Save - CSV option from the Report Generation list. In this case, a Report Name text box will appear, where you would have to provide the name with which the report is to be saved in the background. To process reports in the foreground, select the Foreground Generation - HTML option from this list.
Note:
- The Report Generation list will appear only if the EnableBackgroundReport flag in the [BACKGROUND_PROCESS] section of the eg_report.ini file (in the {EG_INSTALL_DIR}\manager\config directory) is set to Yes.
- The default selection in the Report Generation list will change according to the Timeline specified for the report. If the Timeline set is greater than or equal to the number of days specified against the MinDurationForReport parameter in the [BACKGROUND_PROCESS] section of the eg_report.ini file, then the default selection in the Report Generation list will be Background Save - PDF. On the other hand, if the Timeline set for the report is lesser than the value of the MinDurationForReport parameter, then the default selection in the Report Generation list will be Foreground. This is because, the MinDurationForReport setting governs when reports are to be processed in the background. By default, this parameter is set to 2 weeks - this indicates that by default, reports with a timeline of 2 weeks and above will be processed in the background.
-
Finally, click the Run Report button. Figure 3 will now appear.
Figure 3 : Top Users by CPU usage report
The pie chart in the Distribution of Users by CPU usage of user processes section of the generated report displays the distribution of the users based on their CPU utilization and also the bar chart in the Top 7 users by CPU usage of user processes section depicts the top-7 users who have consumed more CPU resouces.
-
Clicking on a utilization range that is given as legends in the Distribution of Users by CPU usage of user processes pie chart will reveal the users and their CPU utilization within the chosen range (see Figure 3).
Figure 4 : A window showing CPU utilization of users in the chosen range
-
If the Timeline option is chosen from the Graph Type and the Weighted Average list is set to Yes, then the report generated will appear as shown in Figure 5.
Figure 5 : User Activity report when the Timeline option is chosen
-
If the Data option is chosen from the Report Type list in Figure 1 and Foreground Generation - HTML option is chosen from the Report Generation list Figure 2, then, will appear as soon as the Run Report button is clicked.
Figure 6 : The Top Users report when the Report Type is Data
-
By default, the generated report displays the following metrics for each user in a tabular format:
- The Avg CPU utilization
- The Avg Memory utilization
- The Avg IO reads performed by the user and
- The Avg IO Writes performed by the user
While these default metrics cannot be changed, you can, however, configure functions other than Avg to be executed on the values reported by these metrics. Similarly, additional metrics can also be configured for display in the report. The generated report is initially sorted based on the column selected from the Based On Criteria list. However, the report can also be sorted based on any column. Simply clicking on the arrow button provided in each column will ensure you that the report is sorted based on the chosen column.
-
You can click the Graph icon in each row of the Tabular report to view the graphical representation of the User Activity report for each user displayed in the USER column (see Figure 5).
Figure 7 : The graphical representation of user activity
Note:
In order to configure additional information to be displayed in the report, you will have to edit the [CITRIX_USER_ACTIVITY_REPORT] section of the eg_report.ini file in the <EG_INSTALL_DIR>\manager\config directory. By default, the [CITRIX_USER_ACTIVITY_REPORT] section will contain the following specifications:
[CITRIX_USER_ACTIVITY_REPORT]
WVD_RDS_server:WVDUserTest:Cpu_util#Cpu util=Avg
WVD_RDS_server:WVDUserTest:Mem_util#Memory util=Avg
WVD_RDS_server:WVDUserTest:IO_reads#IO Reads=Avg
WVD_RDS_server:WVDUserTest:IO_writes#IO Writes=Avg
Close scrutiny of the default specifications reveals the following format:
<InternalComponentType>:<InternalTest>:<InternalMeasure>#<Display name of Measure>=<Comma-separated list of functions to be executed on the value of the Measure>
Accordingly, in the first line of the default specification:
- WVD_RDS_server is the <InternalComponentType>
- WVDUserTest is the <InternalTest>
- Cpu_util is the <InternalMeasure>
-
CPU usage of user processes is the <Display name of Cpu_util>
Note:
If a display name is not provided for a measure, then the actual measure name will automatically become the display name.
- Avg is the function that will be executed on the value of the Cpu_util measure
To ascertain the internal component-type, test, and measure names, follow the procedure detailed in the Top - N Analysis Report . This indicates that by default, the Avg of the IO_reads, IO_writes, Cpu_util, and Mem_util measures of the Users - AVD test (WVDUserTest) will be available in every 'AVD' users report.
Note:
The default measures mentioned above should not be removed from the [CITRIX_USER_ACTIVITY_REPORT] section. However, the following details pertaining to these default measures can be changed, if required:
- The display name of the default measures
- The functions to be executed on the default measure. For example, if you want the users report to display both the Avg and Max values of the Cpu_util measure, the default specification can be changed as follows:
WVD_RDS_server:WVDUserTest:Cpu_util#Cpu util=Avg,Max
Besides, you can add more measure specifications in the format specified above. Before configuring more measures, determine the internal component type, test, and measure names using the procedure discussed in Top - N Analysis Report . Note that a report can contain a maximum of 17 columns of data.
Note:
While generating any of the above-mentioned thin client reports, you can make sure that specific descriptors are omitted from the Avg, Max, Min computations for the configured measures, by specifying the descriptor names in the following format in the [infos_to_be_omitted] section of the eg_report.ini file in the <EG_INSTALL_DIR>\manager\config directory:
<InternalTest>:<InternalMeasure>=<Descriptor>
For example, to ensure that the Summary descriptor of SystemTest is excluded while calculating the average of Cpu_util, provide the following specification in the [infos_to_be_omitted] section:
[INFOS_TO_BE_OMITTED]
SystemTest:Cpu_util=Summary