uberAgent can tell you a lot about applications: performance, resource utilization and where and by whom they have been used. uberAgent’s dashboards show on how many different computers an applications was running, the number of instances per app version and the number of distinct users per app. But even with this wealth of built-in visualizations sometimes people cannot find the specific metric they are looking for. Luckily, it is often easy to change that.
Highest Number of People Using an Application
Today I was asked about a metric Jason Conger’s Web Interface for Resource Manager provided: the maximum concurrent user count per application. While uberAgent displays the number of app users over time, it does not by default calculate the maximum. But that can be changed:
| pivot uberAgent Application_ApplicationUsage dc(UserName) as UserCount splitrow _time period minute splitrow AppName as Application | stats max(UserCount) as "User count" by Application
Above search works in two steps. First, the distinct count (dc) of user names is determined. This happens once for every one-minute interval and for every application. The result of step one is a list of how many users have been using each application over time.
In step two we are simply looking for the maximum value from step one, again per application – and with that we have calculated the maximum concurrent user count per application.
The result looks like this and can be exported as CSV, XML or JSON for further processing:
Citrix XenApp Published Applications
Above table includes every app running on the monitored endpoints. As such it is much more complete than solutions based on published app usage. However, in some cases it may be necessary to determine the maximum concurrent usage per Citrix XenApp published application. That information can be retrieved in a similar manner, using a slightly modified search:
| pivot uberAgent Session_SessionDetail_Users dc(SessionUser) as UserCount splitrow _time period minute splitrow SessionPublishedAppsCtxSplitLower as "Published app" filter SessionBrokerType is "Citrix" | stats max(UserCount) as "User count" by "Published app"
As before the result is displayed in a table for easy consumption and post-processing.