On demand tracing of application code execution
First Claim
1. A computer program product for tracing execution of application code, the computer program product comprising:
- a computer readable storage hardware having computer readable program code embodied therewith, the computer readable program code configured to;
execute the application code comprising a plurality of trace statements encoded within;
in response to executing a current trace statement within the application code, write the current trace statement to a circular trace buffer and determine whether a pre-defined trigger event has occurred; and
in response to determining that the trigger event has occurred,output the current trace statement from the circular trace buffer,output from the circular trace buffer a number of trace statements before the trigger event according to a pre-defined before-trigger-event parameter, andoutput from the circular trace buffer a number of trace statements after the trigger event until a trigger end event has occurred according to a pre-defined after-trigger-event parameter,wherein the trigger end event comprises a trace end event, wherein the trace end event is defined by parameters comprising a name of a variable in the application code to be used as the trace end event, a value for the variable, and an operator defining a relationship between the variable and the value for the variable,wherein the computer readable program code configured to output from the circular trace buffer the number of trace statements after the trigger event until the trigger end event has occurred according to the pre-defined after-trigger-event parameter is further configured to;
determine whether the variable in the application code satisfies the operator and the value; and
in response to determining that the variable in the application code satisfies the operator and the value, terminate the outputting of the trace statements from the circular buffer.
1 Assignment
0 Petitions
Accused Products
Abstract
On demand tracing of application code execution includes: during the execution of the application code, writing trace statements to a circular trace buffer (at a selected and potentially variable detail level); determining whether a pre-defined trigger event has occurred; in response to determining that the trigger event has occurred, outputting one or more trace statements in the circular trace buffer according to pre-defined trace parameters; determining whether a trigger end event has occurred; and in response to determining that the trigger end event has occurred, terminating the outputting of the trace statements. The trigger event and the trigger end event may be defined by names of application code variables, values for the variables, and operators to be used. The trigger end event may further be defined by a time duration for which trace statements are to be outputted, or a number of trace statements to be outputted.
-
Citations
6 Claims
-
1. A computer program product for tracing execution of application code, the computer program product comprising:
-
a computer readable storage hardware having computer readable program code embodied therewith, the computer readable program code configured to; execute the application code comprising a plurality of trace statements encoded within; in response to executing a current trace statement within the application code, write the current trace statement to a circular trace buffer and determine whether a pre-defined trigger event has occurred; and in response to determining that the trigger event has occurred, output the current trace statement from the circular trace buffer, output from the circular trace buffer a number of trace statements before the trigger event according to a pre-defined before-trigger-event parameter, and output from the circular trace buffer a number of trace statements after the trigger event until a trigger end event has occurred according to a pre-defined after-trigger-event parameter, wherein the trigger end event comprises a trace end event, wherein the trace end event is defined by parameters comprising a name of a variable in the application code to be used as the trace end event, a value for the variable, and an operator defining a relationship between the variable and the value for the variable, wherein the computer readable program code configured to output from the circular trace buffer the number of trace statements after the trigger event until the trigger end event has occurred according to the pre-defined after-trigger-event parameter is further configured to; determine whether the variable in the application code satisfies the operator and the value; and in response to determining that the variable in the application code satisfies the operator and the value, terminate the outputting of the trace statements from the circular buffer.
-
-
2. A computer program product for tracing execution of application code, the computer program product comprising:
-
a computer readable storage hardware having computer readable program code embodied therewith, the computer readable program code configured to; execute the application code comprising a plurality of trace statements encoded within; in response to executing a current trace statement within the application code, write the current trace statement to a circular trace buffer and determine whether a pre-defined trigger event has occurred; and in response to determining that the trigger event has occurred, output the current trace statement from the circular trace buffer, output from the circular trace buffer a number of trace statements before the trigger event according to a pre-defined before-trigger-event parameter, and output from the circular trace buffer a number of trace statements after the trigger event until a trigger end event has occurred according to a pre-defined after-trigger-event parameter, wherein the computer readable storage hardware further comprises a traceTime parameter defining a time duration for which the outputting of the trace statements from the circular buffer is to continue, wherein the computer readable program code configured to output from the circular trace buffer the number of trace statements after the trigger event until the trigger end event has occurred according to the pre-defined after-trigger-event parameter is further configured to; determine whether the time duration defined by the traceTime parameter has elapsed; and in response to determining that the time duration defined by the traceTime parameter has elapsed, terminate the outputting of the trace statements from the circular buffer.
-
-
3. A computer program product for tracing execution of application code, the computer program product comprising:
-
a computer readable storage hardware having computer readable program code embodied therewith, the computer readable program code configured to; execute the application code comprising a plurality of trace statements encoded within; in response to executing a current trace statement within the application code, write the current trace statement to a circular trace buffer and determine whether a pre-defined trigger event has occurred; and in response to determining that the trigger event has occurred, output the current trace statement from the circular trace buffer, output from the circular trace buffer a number of trace statements before the trigger event according to a pre-defined before-trigger-event parameter, and output from the circular trace buffer a number of trace statements after the trigger event until a trigger end event has occurred according to a pre-defined after-trigger-event parameter, wherein the computer readable storage hardware further comprises a traceAfter parameter defining the number of trace statements from after the trigger event to be outputted from the circular buffer, wherein the computer readable program code configured to output from the circular trace buffer the number of trace statements after the trigger event until the trigger end event has occurred according to the pre-defined after-trigger-event parameter is further configured to; determine whether the number of trace statements after the trigger event outputted from the circular buffer equals the traceAfter parameter; and in response to determining that the number of outputted trace statements after the trigger event equals the traceAfter parameter, terminate the outputting of the trace statements from the circular buffer.
-
-
4. A system comprising:
-
a processor; a circular trace buffer; and a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code configured to; execute application code comprising a plurality of trace statements encoded within; in response to executing a current trace statement, write the current trace statement to the circular trace buffer during the execution of the application code and determine whether a pre-defined trigger event has occurred; and in response to determining that the trigger event has occurred, output the current trace statement from the circular trace buffer, output from the circular trace buffer a number of trace statements before the trigger event according to a pre-defined before-trigger-event parameter, and output from the circular trace buffer a number of trace statements after the trigger event until a trigger end event has occurred according to a pre-defined after-trigger-event parameter, wherein the trigger end event comprises a trace end event, wherein the trace end event is defined by parameters comprising a name of a variable in the application code to be used as the trace end event, a value for the variable, and an operator defining a relationship between the variable and the value for the variable, wherein the computer readable program code configured to output from the circular trace buffer the number of trace statements after the trigger event until the trigger end event has occurred according to the pre-defined after-trigger-event parameter is further configured to; determine whether the variable in the application code satisfies the operator and the value; and in response to determining that the variable in the application code satisfies the operator and the value, terminate the outputting of the trace statements from the circular buffer.
-
-
5. A system comprising:
-
a processor; a circular trace buffer; and a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code configured to; execute application code comprising a plurality of trace statements encoded within; in response to executing a current trace statement, write the current trace statement to the circular trace buffer during the execution of the application code and determine whether a pre-defined trigger event has occurred; and in response to determining that the trigger event has occurred, output the current trace statement from the circular trace buffer, output from the circular trace buffer a number of trace statements before the trigger event according to a pre-defined before-trigger-event parameter, and output from the circular trace buffer a number of trace statements after the trigger event until a trigger end event has occurred according to a pre-defined after-trigger-event parameter, wherein the computer readable storage medium further comprises a traceTime parameter defining the time duration for which the outputting of the trace statements from the circular buffer is to continue, wherein the computer readable program code configured to output from the circular trace buffer the number of trace statements after the trigger event until the trigger end event has occurred according to the pre-defined after-trigger-event parameter is further configured to; determine whether the time duration defined by the traceTime parameter has elapsed; and in response to determining that the time duration defined by the traceTime parameter has elapsed, terminate the outputting of the trace statements from the circular buffer.
-
-
6. A system comprising:
-
a processor; a circular trace buffer; and a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code configured to; execute application code comprising a plurality of trace statements encoded within; in response to executing a current trace statement, write the current trace statement to the circular trace buffer during the execution of the application code and determine whether a pre-defined trigger event has occurred; and in response to determining that the trigger event has occurred, output the current trace statement from the circular trace buffer, output from the circular trace buffer a number of trace statements before the trigger event according to a pre-defined before-trigger-event parameter, and output from the circular trace buffer a number of trace statements after the trigger event until a trigger end event has occurred according to a pre-defined after-trigger-event parameter, wherein the computer readable storage medium further comprises a traceAfter parameter defining the number of trace statements after the trigger event to be outputted from the circular buffer, wherein the computer readable program code configured to output from the circular trace buffer the number of trace statements after the trigger event until the trigger end event has occurred according to the pre-defined after-trigger-event parameter is further configured to; determine whether the number of trace statements after the trigger event outputted from the circular trace buffer equals the traceAfter parameter; and in response to determining that the number of outputted trace statements after the trigger event equals the traceAfter parameter, terminate the outputting of the trace statements from the circular buffer.
-
Specification