Overhead management for event tracing
First Claim
1. A method of modulating an amount of a resource used by a trace process running on an application server to record transaction data, the method comprising:
- receiving a target data rate, wherein the target data rate is a rate at which the transaction data is desired to be recorded by the trace process, and wherein the target data rate is specified as an amount of data per unit time;
determining, by a processor, a quota for each application process in a plurality of application processes based on the target data rate, wherein determining the quota comprises individually setting different quota rates for different application processes based on at least a type and duration of each application process; and
for each application process in the plurality of application processes,determining, by the processor, the amount of the resource used by the trace process to record transaction data associated with the application process; and
modulating, by the processor, a level of detail written by the trace process based on the amount of the resource used by the trace process in relation to the quota associated with the application process.
21 Assignments
0 Petitions
Accused Products
Abstract
Embodiments provide methods for managing data generated by software transactions, such as event tracing software. In one embodiment, data generated by event tracing software is monitored. The throughput of the data generated may then be modulated based on various criteria, such as a target data rate. The throughput target may be specified on a per-system basis or individual basis. Based on the throughput, the level of detail recorded is modulated. Individual processes may determine a limit or quota depending on their contribution to the throughput. In one embodiment, the method calls for a trace are modified with different property specifications to meet a desired throughput of event tracing data.
21 Citations
19 Claims
-
1. A method of modulating an amount of a resource used by a trace process running on an application server to record transaction data, the method comprising:
-
receiving a target data rate, wherein the target data rate is a rate at which the transaction data is desired to be recorded by the trace process, and wherein the target data rate is specified as an amount of data per unit time; determining, by a processor, a quota for each application process in a plurality of application processes based on the target data rate, wherein determining the quota comprises individually setting different quota rates for different application processes based on at least a type and duration of each application process; and for each application process in the plurality of application processes, determining, by the processor, the amount of the resource used by the trace process to record transaction data associated with the application process; and modulating, by the processor, a level of detail written by the trace process based on the amount of the resource used by the trace process in relation to the quota associated with the application process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An application server configured to trace a transaction serviced by the application server and modulate a resource consumed by tracing the transaction, the application server comprising:
-
a processor; an application process, executed by the processor, configured to perform the transaction; a trace process, executed by the processor, configured to record trace information related to the transaction; a storage configured to store the trace information recorded by the trace process; and a throughput manager, executed by the processor, configured to; receive a requested limit for the trace process, the requested limit being a rate at which the trace information is desired to be recorded to the storage, and wherein the requested limit is specified as an amount of data per unit time, determine a quota for the application process based on the requested limit, wherein determining the quota comprises individually setting different quota rates for different application processes based on at least a type and duration of each application process, and modulate a level of detail written by the trace process based on the resource of the application server consumed by the trace process in relation to the quota associated with the application process. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A method for modulating an amount of data recorded for a transaction on an application server, the method comprising:
-
running a plurality of application processes, one of the plurality of application processes executing the transaction; monitoring a data activity rate, wherein the data activity rate is a rate at which the data for the transaction is recorded, wherein the data activity rate is specified as an amount of data per unit time, and wherein said monitoring comprises; removing a token from a token bucket each time a resource is used during a fixed period, and adding a token to the token bucket each time a resource is not used during a fixed period; determining, by a processor of the application server, a throughput level based on the monitored data activity rate, wherein the throughput level is associated with a minimum call duration and a set of property types, and wherein the throughput level is computed based on a number of tokens currently in the token bucket and an initial number of tokens that were present in the token bucket; determining a quota for each application process in the plurality of application processes based on the determined throughput level, wherein determining the quota comprises individually setting different quota rates for different application processes based on at least a type and duration of each application process; selecting, by the processor, a method call and a property based on the determined throughput level; and recording, by the processor, the selected method call and the selected property based on the throughput level. - View Dependent Claims (19)
-
Specification