Method and system for monitoring code change impact on software performance
AssigneeInternational Business Machines Corporation
InventorsKrishna S. Garimella, Yang Zhong
Life of this patent
Estimating the term…
Abstract
Method and system for detection and notification of performance changes in program code. In one aspect, stored previous routine test results and current routine test results are accessed, indicating a previous and current time of execution of the program code, the current routine test performed later than the previous routine test. The previous and current times of execution are automatically compared and a change in performance of the program code is determined. Users are notified of the change in performance, where each user is notified after the change in performance is determined to be significant enough to the particular user according to associated predetermined criteria.
Claims20
A method for determining performance changes in program code, the method comprising:
- accessing stored previous test results indicating a previous time of execution of the program code, the previous test results provided from a previous routine test of the program code;
- accessing stored current test results indicating a current time of execution of the program code, the current test results provided from a current routine test of the program code, the current routine test being performed later than the previous routine test;
- automatically comparing the previous time of execution and the current time of execution and determining a change in performance of the program code;
- adjusting the change in performance to a weighted performance change based on the previous time of execution, such that the weighting reduces the effect of system variations on the performance of the program code, wherein the weighting increases the performance change if the previous time of execution is over a first predetermined amount of time, and the weighting decreases the performance change if the previous time of execution is below a second predetermined amount of time;
- and
- checking predetermined criteria associated with each of a plurality of users and notifying one or more particular users of the weighted performance change, wherein each of the one or more particular users is notified after the change in performance is determined to meet the predetermined criteria associated with that particular user.
A method for determining performance changes in program code, the method comprising:
- accessing stored previous test results indicating a previous time of execution of the program code, the previous test results provided from a previous routine test of the program code;
- accessing stored current test results indicating a current time of execution of the program code, the current test results provided from a current routine test of the program code, the current routine test being performed later than the previous routine test;
- automatically comparing the previous time of execution and the current time of execution and determining a change in performance of the program code, including modifying the change in performance by an offset determined from a change in execution time contributed by components added and removed from the program code after the previous time of execution was obtained and which can affect the accuracy of the performance change determination;
- and
- checking predetermined criteria associated with each of a plurality of users and notifying one or more particular users of the change in performance, wherein each of the one or more particular users is notified after the change in performance is determined to meet the predetermined criteria associated with that particular user, wherein the predetermined criteria include a predetermined percentage or more of change in performance of the program code,
- wherein the predetermined criteria include an upper bound of a number of internal failures occurring in components of the program code during the current routine test, the internal failures causing at least one component of the program code to stop running, wherein a number of internal failures exceeding the upper bound will prohibit the associated user from being notified of the performance change, and
- wherein the predetermined criteria include an upper bound of a number of external errors occurring external to the program code during the current routine test, the external errors occurring in at least one program or system external to the program code which the program code is dependent upon for execution, wherein a number of external errors exceeding the upper bound will prohibit the associated user from being notified of the performance change.
A computer readable non-transitory storage medium storing program instructions for determining performance changes in program code, the program instructions performing acts comprising:
- accessing stored previous test results indicating a previous time of execution of the program code, the previous test results provided from a previous routine test of the program code;
- accessing stored current test results indicating a current time of execution of the program code, the current test results provided from a current routine test of the program code, the current routine test being performed later than the previous routine test;
- automatically comparing the previous time of execution and the current time of execution and determining a change in performance of the program code;
- adjusting the change in performance to a weighted performance change based on the previous time of execution, such that the weighting reduces the effect of system variations on the performance of the program code, wherein the weighting increases the performance change if the previous time of execution is over a first predetermined amount of time, and the weighting decreases the performance change if the previous time of execution is below a second predetermined amount of time;
- and
- checking predetermined criteria associated with each of a plurality of users and notifying one or more particular users of the change in performance, wherein each of the one or more particular users is notified after the change in performance is determined to meet the predetermined criteria associated with that particular user.
Dependencies are inferred from the claim text.