Blog

Maximum Concurrent User Count per Application

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:

Maximum concurrent user count per application

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.

Comment (1)

  1. Christopher Barlow says:

    Thanks for the help today Helge. Our problem was that we needed to know which individual user accounts were accessing each published app, not just the count of using using each app. Thankfully Helge was able to provide an updated search that provides this, I hope this might help somebody else:

    | pivot uberAgent Session_SessionDetail_Users
    values(SessionUser) as Users
    splitrow
    SessionPublishedAppsCtxSplitLower as “Published app”
    filter SessionBrokerType is “Citrix”

Leave a Reply

Your email address will not be published. Required fields are marked *