Described is a technology by which software instrumentation data collected
from user program sessions are analyzed, including by determining program
usage metrics and/or command usage metrics. Information representative of
the program usage metrics and/or the command usage metrics is output,
such as in the form of a report. The software instrumentation data may be
further analyzed, such as to determine at least one usage trend over
time, and to determine user groups. For example, a usage subset of
sessions that meet specified session usage criteria based on a set of
session data may be located, along with a subset of users based on users
whose sessions meet specified user criteria. The usage and user subsets
may be combined via Boolean logic to produce a result set.