Monitoring of software operation for improving computer program performance
First Claim
1. A method for analyzing the operation of a computer program wherein a plurality of blocks of software code are sequentially accessed during operation of the computer program, said method comprising the steps of:
- inserting a probe entry in a block of code, wherein said probe entry uniquely identifies said block of code;
operating the computer program;
detecting the occurrence of said probe entry corresponding to accessing of said block of code by the computer program;
counting the number of occurrences of said probe entry in a selected time period corresponding to the number of times said block of code is accessed by the computer program in said selected time period; and
presenting during said selected time period the number of occurrences of said probe entry on a video display;
wherein said probe entry comprises incrementing a counter in said block of code each time said probe entry occurs, and wherein the occurrences of said probe entry are presented at designated time intervals within said selected time period.
1 Assignment
0 Petitions
Accused Products
Abstract
The operation of software carrying out a computer program is monitored for determining which blocks of code are being run and which are inactive. Each block of code being monitored has a software probe inserted at the beginning of the block for detection and identification purposes. In one embodiment, the software probe inserted in the block of code is automatically increment by 1 to indicate that the block has been accessed. The extent of use, or activity, of each block of code is recorded and presented in graphic form on a video display. In a first mode of operation, the times at which a selected block of code is accessed within a given time period is displayed along a horizontal axis and the number of times of access at each time it occurs is represented along a vertical axis in bar graph form. In a second mode of operation, the various monitored blocks of code are displayed along a horizontal axis in a spaced manner and the number of times each of the individual blocks is accessed during operation of the computer program is presented in bar graph form vertically. By uncovering and eliminating unused blocks of software code, the operating efficiency of the computer program as well as that of the hardware under the control of the computer program can be improved.
61 Citations
17 Claims
-
1. A method for analyzing the operation of a computer program wherein a plurality of blocks of software code are sequentially accessed during operation of the computer program, said method comprising the steps of:
-
inserting a probe entry in a block of code, wherein said probe entry uniquely identifies said block of code;
operating the computer program;
detecting the occurrence of said probe entry corresponding to accessing of said block of code by the computer program;
counting the number of occurrences of said probe entry in a selected time period corresponding to the number of times said block of code is accessed by the computer program in said selected time period; and
presenting during said selected time period the number of occurrences of said probe entry on a video display;
wherein said probe entry comprises incrementing a counter in said block of code each time said probe entry occurs, and wherein the occurrences of said probe entry are presented at designated time intervals within said selected time period. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
inserting a probe entry in each of plural blocks of code, wherein each probe entry uniquely identifies each block of code;
detecting and counting the number of occurrences of each probe entry in said selected time period; and
presenting the number of occurrences of each of said probe entries representing access by the computer program of plural blocks of code on a video display.
-
-
9. The method of claim 8 further comprising the step of repeating said selected time period for detecting, counting and presenting on said video display the number of occurrences of each probe entry over an extended period of time.
-
10. A method for analyzing the operation of a computer program wherein a plurality of blocks of software code are sequentially accessed during operation of the computer program, said method comprising the steps of:
-
inserting a probe entry in a block of code, wherein said probe entry uniquely identifies said block of code;
operating the computer program;
detecting the occurrence of said probe entry corresponding to accessing of said block of code by the computer program;
counting the number of occurrences of said probe entry in a selected time period corresponding to the number of times said block of code is accessed by the computer program in said selected time period;
presenting during said selected time period the number of occurrences of said probe entry on a video display; and
automatically adjusting the display of the number of occurrences of said probe entry in accordance with a maximum number of detected occurrences, wherein said maximum number of occurrences extends substantially over the entire video display.
-
-
11. A method for analyzing operation of a computer program by determining which of plural blocks code are accessed during operation of the computer program, said method comprising the steps of:
-
inserting a probe entry in selected ones of said plural blocks of code, wherein each probe entry uniquely identifies an associated block of code in which the probe entry is inserted;
operating the computer program and accessing various of the blocks of code;
detecting the occurrence of various of said probe entries wherein each occurrence of a probe entry corresponds to an access of a corresponding block of code;
counting the number of occurrences of each probe entry in a selected time period corresponding to the accessing of associated blocks of code by the computer program;
presenting in real time the number of occurrences of each probe entry within said selected time period on a video display; and
presenting on the video display the occurrence of each probe entry in a spaced manner along a first axis and the number of each occurrence of each probe entry along a second axis, wherein said first and second axes are orthogonal. - View Dependent Claims (12, 13)
-
-
14. Apparatus for monitoring a computer program in real time, wherein plural blocks of code in said computer program are sequentially accessed during operation of said computer program, said apparatus comprising:
-
means for inserting a probe entry in a block of code, wherein said probe entry uniquely identifies said block of code and said means for inserting said probe entry includes a probe program coupled to said computer program;
a detector for detecting the occurrence of said probe entry, wherein the occurrence of said probe entry corresponds to running of said block of code by the computer program;
a counter coupled to said detector for counting the number of occurrences of said probe entry within a given time period corresponding to the number of times said block of code is run by the computer program in said given time period, wherein said counter includes a software register in said probe program; and
a video display coupled to said counter for presenting a video image of the number of times said block of code is run by the computer program in said given time period;
wherein the video display presents a video image of when said block of code is run at designated time intervals within said given time period in a spaced manner along a first axis and each running of said block of code is shown along a second axis, and wherein said first and second axes are orthogonal. - View Dependent Claims (15, 16, 17)
-
Specification