As of Login Enterprise 5.4, session metrics can now be displayed in charts for Load Tests and Continuous Tests. Administrators can choose to capture any available Windows Performance Monitor Counter to visualize alongside the EUX Score and Application metrics already captured. By default, Session Metrics are captured every 5 seconds when enabled.
For Load Tests and Continuous Tests, a Session Metric Group can now be linked to specify the Performance Counters to gather. A Session Metric Group is a new entity that groups specified session metrics.
By default, CPU & Memory Utilization percentages are captured and displayed. As of release 5.4, the Public API must be used to include custom session metrics. Before 5.4, only application response timers and the EUX Score were shown for Continuous and Load Tests.
Benefits
Administrators can now enable Session Metric collection from target Windows VDI or PCs during a Load Test. It is now easier to review test results to correlate spikes in degraded EUX Scores or VSImax density with relevant Performance Counters like CPU, Memory, Disk Queue Length and more. These Session Metrics may provide root cause analysis clues as to where, or why, the expected density or performance is not achieved. Specifically, this can be used to pinpoint which agent, apps, or processes are consuming large amounts of resources, impacting overall performance and scalability of the system. With a more complete picture of the workspace under stress, teams are now armed with data to make decisions, fine-tune optimization settings, and granularly measure the impact of changes to the workspace. When comparing two results, Session Metrics can identify granular changes to consumption of key performance indicators.
For Continuous Testing, administrators can now capture Session Metrics in real-time, 24x7, without the need for an additional agent. It is now easier to correlate spikes in performance indicators like CPU and Memory Utilization, with degradation in the EUX Score, Logon Times, or application response timers. Specifically, Session Metrics for targeted leading indicators can provide an early warning system to infrastructure degradation that can be supplemented with EUX Scores and Application Performance for further evidence of an issue.
Creating a Custom Metric
To add a custom Session Metric, you must use the v7-preview Public API. For more information on the Public API, see this article. These steps can most easily be performed using the Swagger API interface.
The below JSON request body demonstrates proper syntax to add Disk: % Idle Time as a custom Session Metric:
{
"type": "PerformanceCounterDefinition",
"counterCategory": "LogicalDisk",
"counterName": "% Idle Time",
"counterInstance": "_Total",
"tag": null,
"displayName": "Disk Idle time",
"unit": "%"
}
- type: As of release 5.4, Windows Performance Monitor is the only data source for custom Session Metrics. Thus, this should remain constant = "PerformanceCounterDefinition"
- counterCategory: the category (object) of the desired Performance Counter
- counterName: the name of the desired Performance Counter
- counterInstance: (optional) the instance of the desired Performance Counter, if applicable
- tag: (null) this will be used for sorting, filtering, and searching in future versions
- displayName: the title of the Session Metric to be displayed in charts and reports
- unit: the unit of the desired Performance Counter. Note, this value will be shown as the the y-axis label for charts displaying the Metric, and that only metrics of the same unit can be shown simultaneously
The above syntax can be used for any accessible Windows Performance Counter.
In this example, the Swagger API interface is used to add the Disk % Idle Time as a Custom Metric. Note, "%" is the unit, which will be shown on all charts and graphs. This allows Disk % Idle Time to be visualized with other Performance Monitor Counters that return values in percentage terms.
{
"id": "755ef1b3-0a2d-4718-9746-3eabbcc69229"
}
After clicking execute, there will be an API response which will contain the ID of the new Session Metric-- take note of this ID to add it to a group.
Metric Groups
In this example, the Swagger API interface is used to create a Metrics Group. The "name" parameter can be used to specify a name for the group.
Within the definitionKeys list, add the ID of any Custom Metrics that should be included in the group. The ID returned from the Metric creation step, shown above, can be used here. Note, additional Metrics can be added after the initial creation steps shown below.
{
"id": "a2f7d6d2-1dd8-4f42-a455-b741535527e1"
}
After clicking execute, there will be an API response which will contain the ID of the new group-- take note of this ID.
Adding Custom Metrics to a Group
To add CPU and Memory to the new "Custom Metrics" group, the Swagger API interface can be used to list all all existing Session Metrics.
{
"type": "UserSessionMetricStandardDefinition",
"key": "12a1cbf2-cf51-ee11-92e0-000d3a1d9eab",
"metricId": 1,
"sessionMetricsType": "cpuUsage",
"displayName": "CPU",
"unit": "%"
},...
After clicking execute, there will be an API response which will list the existing Session Metrics, in a format identical to the example response shown above. Use the "key" values in the following POST request to add CPU & Memory to the "Custom Metrics" group.
In this example, the Swagger API interface is used to add the existing Session Metrics to the new group. When creating the Metrics Group, an ID was returned, which should be used for the groupId parameter. In the request, simply include a list of the Metric IDs that should be added.
The "key" values for the Metrics, as returned in the above example, should be used in the list.
Metric Groups can contain one or more desired Performance Counters, but note that each metric in the group will be polled every 5 seconds. As you add more Metrics to a group, the CPU overhead will also increase.
Once the request is successfully executed, the new group can be used by enabling Session Metrics and selecting the desired Metrics Group from the drop-down.
Tech Tip:
When enabling collection of session metrics, specifically using Custom Metrics Groups, be aware that resource consumption will increase for every additional Metric added to a group. This resource consumption may impact expectations for EUX Score and VSImax. For this reason, consider capturing a benchmark of your EUX and VSImax before enabling Session metrics. This will allow for determining the impact caused by collecting the desired Session Metrics.
Visualization
In Continuous Tests and Load Tests, Session Metrics is now shown as a radio button option for display. Only Session Metrics that share the same unit (%, per seconds, MB, etc.) can be displayed at the same time. This is specified by the "unit" defined when creating the Session Metric as shown above.
Below, the Disk % Idle Time custom Session Metric created above is Visualized after being specifying the metrics group to use for the configuration.
Data Export
The Raw Data Export feature has been updated to include the session metrics. For more information, please see this article.
Public API
The v7-preview Public API was updated to include many new endpoints to create, configure, and gather session metrics. For more information, please see this article.
Comments
0 comments
Please sign in to leave a comment.