Applications - Top Applications Report

In order to make sure that AVD host pool performs at its peak at all occasions, it is essential to keep tab on the number of applications executing on the pool and their combined and individual resource usage. If the most popular applications in a host pool can be identified, administrators can consider alternative load balancing strategies to ensure that the most popular or most resource intensive applications are hosted on different host pools.

The Applications - Top Applications Report provided by eG Enterprise facilitates a comprehensive review of the usage of applications hosted on an AVD host pool. By allowing administrators to configure the application-specific metrics that they want displayed in the report, eG Enterprise ensures that useful and workable information is at the disposal of the administrators at all times. As the administrators get to see what they want to see, they will be able to take more effective performance decisions. 

In order to generate the application report, do the following:

  1. Select the Top Applications option by following the menu sequence: REPORTS BY FUNCTION -> Domain-specific Reports -> Azure Virtual Desktop -> By Host Pool -> Applications
  2. Figure 1 will then appear.

    Figure 1 : Generating the Top Applications report

  3. In Figure 1, choose a Report Type (Graph or Data) which is set to Graph, by default. To closely observe and clearly understand the behavior of a single performance parameter across a zone, you can plot a single measure's data alone in a Graph report (see Figure 1).
  4. Next, select a criterion for analysis from the Analyze By list box. Using this report, you can analyze the application activity on one/more independent AVD host pools, or those that are part of a segment, service, or a zone. This way, you can assess the impact of the applications hosted on the AVD 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 the application hosted on all the managed AVD host Pools in the environment, select Componentfrom 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 listed in the Host Pool list will be automatically chosen. If the Host Pool list consists of too many Microsoft AVD Host Pools, then viewing all the Microsoft 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.
    • By default, All Applications option is chosen from the Application list. If the Application list consists of too many Applications, then viewing all the applications and selecting the ones you need for report generation could require endless scrolling. To avoid this, you can click the button next to the Application list. The Application pop up window will then appear using which you can view almost all the Applications 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 Application name to search for in this text box, and click the icon next to it.

    • Service: Select this option if the AVD host pools 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 pools that are included in a zone. Then, choose a Zone.
  5. If the Report Type is Graph, a Criteria list box will appear, listing the complete list of conditions that you have configured for the report (see Figure 1). From this list, pick the Criteria for which a graph is to be generated.
  6. Then, specify the Timeline for the graph. 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:

    • The default Timeline can be set using the consolidated reports page in the eG administrative interface; to access this page, follow the menu sequence: Configure -> Reports -> Consolidated. For more details regarding this page, refer to Consolidated Reports.
    • Shorter the Timeline for a report, lighter would be the query that is executed on the database, and faster the report generation. Report Timelines that run across many weeks therefore, cause excessive strain on the database, thus slowing-down report generation. To save the eG backend from injury, eG Enterprise automatically restricts the maximum Timeline for which a report can be generated to the lower of the following values:
      • the value of the WVDLoginTest parameter in the [DDD_CLEANUP] section of the eg_format.ini file (in the <EG_INSTALL_DIR>\manager\config directory)
      • the value of the MaxTimeline parameter in the [MISC] section of the eg_report.ini file (in the <EG_INSTALL_DIR>\manager\config directory).
      • The maximum timeline for which the current user to eG Reporter is permitted to generate reports;

    The [DDD_CLEANUP] section is where you define the interval (in days) at which the detailed diagnosis of specific tests is to be purged from the database. For the WVDLoginTest, the default interval is set to 32 days (i.e., just over a month), indicating that, by default, the detailed diagnosis of the WVDLoginTest is cleared from the database at the end of every month. Since critical thin client reports are generated based on the detailed diagnosis information, a Timeline that exceeds the duration set against WVDLoginTest would result in a report that displays invalid/no data. This duration however, is configurable. Similarly, you can also configure a MaxTimeline in the [misc] section of the eg_report.ini file. By default, this parameter is set to 168 (hours), indicating that the maximum Timeline for a thin client report is 1 week (i.e., 24 * 7 = 168 hours).  Also, while creating user profiles using the eG administrative interface, an administrator can indicate the maximum timeline for which that user can generate reports, so as to avoid long running reports.

    Now, assume that you have set the WVDLoginTest parameter to 21 days (i.e., 3 weeks) and the MaxTimeline parameter to 336 hours (i.e., 2 weeks). Also, say that user john with access rights to eG Reporter has been configured to generate reports for a maximum timeline of 1 week. Therefore, whenever user john logs into eG Reporter and attempts to generate a thin client report, eG Enterprise compares the three values, picks the lowest of the three, and sets that value as the maximum Timeline for thin client reports. In our example, the maximum timeline settings of user john (i.e., 1 week) is the lowest  Therefore, the maximum value that will be available for selection from the Fixed Timeline list box in the thin client report page will be 1 week.

    Note that this timeline restriction does not apply to fixed timeline settings alone. If a 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 is equal to or below the lowest of the three values discussed above. 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.

  7. 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 a Criteria. However, if you want to view and then alter these settings (if required), click on the icon. 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 Top Application report

  8. Specify the start time and end time for report generation against the Time period field (See Figure 2).

  9. 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 [EXCLUDE_WEEKEND] section of the file, the Days parameter is set to Saturday,Sunday by default. You can modify this by setting the Days parameter to a comma-separated list of other days of the week - say Friday,Saturday.
    • Save the file after making the required changes.
  10. 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 Applications - AVD test in our example auto-discovers the applications that are currently running on AVD Host pools. For each application hosted in the AVD Host pool, the test reports a variety of statistics. Unlike descriptors such as disk partitions or processors that rarely change, the applications are dynamic descriptors, which may change often; in other words, an application that is currently in use, may not be used at all by the user during the next measurement period. The Applications - AVD test will neither report metrics for the inactive descriptors nor display it in the eG monitoring console. This is why, applications in the Applications - AVD test are considered ‘dynamic descriptors’.
  11. 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 criteria 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 Applications AVD test. Say, two applications - namely, ‘A’ and ‘B’ are currently published in AVD Host pools. During its first measurement period; the processes running for each application is registered as 2 and 8 respectively. Assume that the second time the Applications - AVD test ran, it captured 5 as the number of processes running for application ‘A’. Application ‘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 application ‘A’ and 4 (8/2=4) again for application ‘B’. If you notice, unlike application ‘A’, where 8 processes were running over a period of time, in case of application ‘B’, 8 processes were running at one shot! Logically therefore, application ‘B’ has to be ranked above application ‘A’ in terms of the number of processes that were running. However, since the default Avg value computation does not clearly bring out this difference, both application ‘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 application ‘A’ will continue to be 4 (3+5=8/2=4), but the same for application ‘B’ will be 8 (8/1=8). In this report therefore, application ‘B’ will be placed above application ‘A’, thereby accurately pointing you to the top application with the highest number of currently running processes.
  12. If you have selected Data option from the Report Type list, then an additional Sort By list will appear as shown in Figure 2. Select an option (%Time in use or Number of Unique users) from this list to sort the report based on the percentage time of application usage or based on the number of unique users when the generated report is saved in PDF format.
  13. If you have selected Data option from the Report Type list, then an additional Aggregate across Host pool list appears (see Figure 2). By default, Yes option is chosen from this list indicating that the generated report will list all the applications accessed from across all the AVD Host pools that are chosen for the generation of the report. If you set this flag to No, then, the generated report will list all the applications accessed from each AVD Host pool separately along with their resource utilization.
  14. If you wish to exclude certain processes of the applications for which the report is to be generated, then select those processes/applications from the Exclude Applications list. by default, all option is chosen from this list. If the Exclude Applications list consists of too many processes/applications, then viewing all the processes/applications and selecting the ones you need for report generation could require endless scrolling. To avoid this, you can click the button next to the Exclude Applications list. The Exclude Applications pop up window will then appear using which you can view almost all the Applications 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 process/application name to search for in this text box, and click the icon next to it.
  15. 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.
  16. Finally, click the Run Report button to generate the report.
  17. If the Report Type is Graph and the option chosen from the Report Generation list is Foreground Generation - HTML, then, clicking on the Run Report button will invoke revealing the following:

    • A distribution pie chart reveals the number of components in different distribution ranges(see Figure 3). The distribution ranges are obtained based on the first of the configured functions for the chosen Measure.  For instance, assume that CPU usage is the chosen Measure. Say that you have configured to display the Avg and Max of CPU usage in the application report. Typically, both these configured values will appear only in a Data report. In the case of a Graph report however, the first of the two functions - i.e., Avg of CPU usage- alone is calculated for the chosen zone. A quick glance at the pie chart indicates where CPU has been excessively spent. Click on a particular slice in the pie chart to view the list of applications that fall within the value range represented by that slice (see Figure 4). Against every application name, the actual values for each of the configured functions (both Avg and Max, in our example) will be displayed. 

      Figure 3 : Applications by CPU usage report

      Figure 4 : Applications with Processes running in a given range

      Note:

      • By default, the chart type for distribution is a pie chart. However, you can have a bar graph depict the same data instead of a pie chart, by following the steps given below: 

        • Edit the eg_report.ini file in the <EG_INSTALL_DIR>\manager\config directory.
        • Change the value of the chartTypeForDist parameter in the [APPLICATION_REPORT] section of this file from the default Pie, to Bar.
        • Save the eg_report.ini file.
      • By default, the number of value ranges that need to be configured for the distribution chart is 10. To override this default setting, do the following:

        • Edit the eg_report.ini file in the <eG_INSTALL_DIR>\manager\config directory.
        • Specify a number of your choice against the nofRangeForDist parameter in the [application_report] section of this file. By default, this parameter will hold the value 10.
        • Save the eg_report.ini file.
    • Alongside the pie chart, you will find a bar chart that indicates the applications that have topped/failed in a selected performance realm (i.e., the Measure) during the specified Timeline. For example, for the Processes running measure, this bar chart reveals the top processes-consuming applications in the entire zone. Like the pie chart, the values for the bar chart are also calculated by applying the first of the configured functions on the chosen Measure.

      Note:

      • The number of components to be displayed in the Top <N> Components bar chart is configurable. To specify the number, do the following:
      • Edit the eg_report.ini file in the <eG_INSTALL_DIR>\manager\config directory.
      • Specify a number of your choice against the NoOfServersforChart parameter in the [APPLICATION_REPORT] section of the file. By default, the value displayed here is 10, indicating that, by default, the bar chart will be for the Top 10 Components. For example, if you change this value to 5, then a bar chart displaying the Top 5 Components will appear.
      • Finally, save the eg_report.ini file.

        Note:

        You can configure the colors to be used in the distribution chart and the Top <N> Components bar chart in the application report, by editing the eg_report.ini file in the <eG_INSTALL_DIR>\manager\config directory. The [application_report] section of this file defines the 20 default colors of the distribution and bar charts of an application report, in the following format:

        [APPLICATION_REPORT]

        ChartColor=#8399b0,#ffd95a,#a4ac91,#98d980,#d5b996,#f48848,#8b8cc2,
        #eb4052,#c4b3d0,#b18651,#ebb7ce,#028768,#f5c372,#887c65,#e4c536,
        #b5582c,#f94989,#770d72,#97a067,#89aeb7

        distColor=#115fa6,#f25454,#60bd68,#b276b2,#81bef7,#a61120,#ffd13e,
        #770d72,#887c65,#a4ac91

         

        You can override the default color settings of the distribution chart by modifying the color-codes specified against distColor. For changing the colors used by the Top <N> Components chart, alter the codes listed against the ChartColor parameter.

  18. A Data report, on the other hand, does not graphically represent the measure data. Instead, the configured details are presented in a tabular format in the report (see ).
  19. If you choose Data as the Report Type, then you will have to select the Host pool for which the report is to be generated from the Components list.
  20. If you choose Data as the Report Type, you will have to select the column by which the report data is to be sorted from the Sort By list (see ). Selecting an option (%Time in use or Number of Unique users) from this list will sort the report based on the chosen column when generated as PDF.
  21. Next, choose a specific Application to be monitored, or select the All Applications option.
  22. Then, like in the case of a Graph report, provide a Time period, Timeline, and indicate whether/not to Exclude weekends. Also, pick the Foreground Generation - HTML option from the Report Generation list. Finally, click on the Run Report button.
  23. In case of a Data report, a table providing the critical performance statistics (see Figure 5) for the chosen AVD Host pool will appear. By default, the following metrics will be displayed:

    • The Avg number of instances of an application executing on the chosen Host pool
    • The Avg CPU utilization of every application
    • The Avg memory utilization of every application

    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.

    Besides the default and configured measure information, the Data report displays the percentage of time for which the chosen application(s) was in use, and the number of distinct (unique) users who were accessing the application(s) during the specified timeline. This information clearly indicates the least and the most used applications on the host pool.

    Figure 5 : Applications with CPU/ Memory Usage and unique users count

    Also, to view the top-n users of the application at the AVD Host-level, click on the Top <N> users link corresponding to the application. Figure 6 will then appear listing the top-n users of the application on the chosen Host Pool.

    Figure 6 : Top users of the application at the Host pool-level

    If all the Host Pools of a chosen Component Type or the All Applications options had been chosen, then an additional Aggregate across Host pool list will appear, as depicted by Figure 2. While monitoring the applications executing on all the Host pools in a chosen Zone, you can indicate whether the measures to be displayed in the report are to be aggregated at the zone-level or the individual Host pool-level. Selecting Yes from the Aggregate across Host pool will ensure that the usage metrics displayed in the report for the chosen application(s) is aggregated across all the Host pools in the selected zone (see Figure 7). Clicking on the Top <N> users link corresponding to an application in this report will therefore reveal the top-n users of the application across the entire zone (see Figure 8).

    Figure 7 : Zone-based aggregation

    Figure 8 : Top application users at the zone-level

  24. On the other hand, if you select the No from Aggregate across Host pool list, then the report will reflect the usage of every chosen application(s) on every Host pool in the selected zone - in other words, the report will display a different set of metrics for every Host pool-application combination (see Figure 9). In this case therefore, clicking on the Top <N> users link that corresponds to a Host pool-application combination will list the top-n users of that application on that Host pool (see Figure 10). 

    thinclientapprep8-final

    Figure 9 : Aggregation at the Host pool-level

    thinclientapprep10-final

    Figure 10 : Top application users at the Host pool-level

  25. If the Background Save - PDF option is chosen from the Report Generation list, then clicking on the Run Report button will not generate the report and display it in this page for your benefit. Instead, a message indicating that the report is being processed in the background will appear. This will be accompanied by a link that will lead you to the page that lists all the reports that are being processed in the background, and their current status. If background report generation fails for a report, you can regenerate that report using this page, or can even delete that report if need be. On the other hand, if background processing successfully completes for your report, then, you can view a PDF of the report by clicking on the PDF icon in that page.

    Note:

    You can configure the ‘N’ in the Top <N> applications, by editing the eg_report.ini file (in the <eG_INSTALL_DIR>\manager\config directory). In the [APPLICATION_REPORT] section of this file, set the Top parameter to a particular number as indicated below:

    [APPLICATION_REPORT]
    Top=10

     

    In the example above, Top has been set to 10. This ensures that all ‘Top <N>’ hyperlinks in the Application Report page now read as “Top 10”. Moreover, clicking on the Top 10 hyperlink will list the top 10 applications in terms of utilization.

    In order to configure additional information to be displayed in the report, you will have to edit the [application_report] section of the eg_report.ini file in the Edit the eg_report.ini file in the <EG_INSTALL_DIR>/manager/config directory. By default, the [APPLICATION_REPORT] section will contain the following specifications:

    [APPLICATION_REPORT]
    WVD_RDS_server:WVDAppTest:Num_procs_running#Processes=Avg,Max
    WVD_RDS_server:WVDAppTest:Cpu_util#Cpu util=Avg,Max
    WVD_RDS_server:WVDAppTest:Memory_util#Memory util=Avg,Max
    WVD_RDS_server:WVDAppTest:IO_data_rate#I/O data rate=Avg,Max

    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>
    • WVDAppTest is the <InternalTest>
    • Number_of_processes_running is the <InternalMeasure>
    • No of Processes running is the <Display name of Number_of_processes>

      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 Number_of_processes_running measure

    To ascertain the internal component-type, test, and measure names, follow the procedure detailed in Page First, determine the Internal name of the test and measure to be configured. For that, do the following: of this manual. This indicates that by default, the Avg of the Number_of_processes_running, Cpu_util, and Mem_util measures of the WVDAppTest will be available in every 'AVD' application report.

    Note:

    The default measures mentioned above should not be removed from the [APPLICATION_REPORT] section. However, the following details pertaining to these default measures can be changed, if need be:

    • The display name of the default measures
    • The functions to be executed on the default measure. For example, if you want the application report to display both the Avg and Max values of the Number_of_processes_running measure, the default specification can be changed as follows:

      WVD_RDS_server:WVDAppTest:Num_procs_running#Processes=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 Page First, determine the Internal name of the test and measure to be configured. For that, do the following: of this manual. Note that a report can contain a maximum of 17 columns of data. 

      Note:

    • While generating any of the above-mentioned AVD 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

    • If the eG license disables the detailed diagnosis capability, or if the diagnosis frequencies are set to 0, then the following thin client reports cannot be generated: Application, User, and Session.