Patent ID: 7555499

Claim:
A machine-implemented method, comprising the steps of: periodically retrieving, within a database system, a set of statistical data that describes current activity within the database system; updating a set of cumulative statistical data to reflect the retrieved set of statistical data, wherein the set of cumulative statistical data describes activity in the database system over a period of time, wherein the set of cumulative statistical data includes a distinct set of cumulative statistics for each wait class of a plurality of wait classes, wherein each wait class of the plurality of wait classes: (a) includes a different set of events than each other wait class of the plurality of wait classes, (b) has a distinct set of cumulative statistics that reflect occurrence of events that are included in the wait class, (c) is associated with only a single different cause of processing delay than each other wait class of the plurality of wait classes, and wherein events that are produced by each cause of processing delay are included in the wait class associated with the cause of processing delay; wherein the plurality of wait classes includes multiple wait classes selected from the set consisting of: (1) a wait class that corresponds only to disk input/output delays that are associated with only foreground processes of the database system, (2) a wait class that corresponds only to disk input/output delays that are associated with only background processes of the database system, (3) a wait class that corresponds only to delays that result from a resource manager, (4) a wait class that corresponds only to delays that result from network congestion or network latency, (5) a wait class that corresponds only to delays that result from a configuration of the database system, (6) a wait class that corresponds only to delays in committing transactions, (7) a wait class that corresponds only to delays that are caused by a manner in which an application is designed to request locks on resources in the database system, and (8) a wait class that corresponds only to delays that are imposed by a privileged user of the database system; and wherein the steps are performed on one or more computing devices.