Method and system for instrumenting a software program and collecting data from the instrumented software program
First Claim
1. A method for instrumenting a software program, the method comprising:
- embedding within the software program a user-defined measurement type instance based one of a plurality of predefined measurement types; and
storing data structures representing the embedded user-defined measurement type instance.
5 Assignments
0 Petitions
Accused Products
Abstract
The XAM architecture that specifies a software program instrumentation and data collection method and system is disclosed. The XAM architecture includes definition of a measurement type hierarchy, the definition of an XAM API that adapts an application program to a local XAM library, and a message protocol, based on XML, through which the XAM library is configured by, and sends collected data to, an XAM services process. Predefined measurement types include primitive measurement types and aggregate measurement types, the latter allowing for significant decrease in data transmission overheads between the XAM library and the XAM services process because of data filtering and processing by XAM library routines.
75 Citations
20 Claims
-
1. A method for instrumenting a software program, the method comprising:
-
embedding within the software program a user-defined measurement type instance based one of a plurality of predefined measurement types; and
storing data structures representing the embedded user-defined measurement type instance. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for collecting data by a library from a user-defined measurement type instance embedded within a software program, the user-defined measurement type instance having a measurement type selected from among an atomic measurement type, a transaction measurement type, and a polling measurement type, and the library containing one or more additional aggregation measurement types based on the user-defined measurement type, the method comprising:
-
receiving data states, comprising current values of variables associated with the embedded user-defined measurement type instance, generated during execution of the software program;
filtering the data states;
processing data contained in the data states to produce output data according to one or more measurement type instances with which the data states are associated; and
packaging output data into reports. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A software program instrumentation system comprising:
-
a library that manages a data structure that represents a software program with an embedded user-defined measurement type instance having a measurement type selected from among predefined measurement types and associated with variables, the library managing data structures that represent the embedded user-defined measurement type, the embedded user-defined measurement type instance, and one or more additional aggregate measurement types based on the embedded user-defined measurement type instance, the library collecting data states generated from current values of the variables associated with the embedded user-defined measurement type instance and generating reports based on the collected data states; and
a data analysis routine that configures the data structures by altering values of fields within the data structures to control data collection and reporting by the library, and that receives the generated reports from the library. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification