IP Library › Granted Patent US 10,657,032
Granted Patent B2
US 10,657,032 · App. 16/108,062 · Granted May 19, 2020

Systems and methods for monitoring performance of applications

Inventors: Colby David Funnell (Sydney, AU); Haitao Li (Sydney, AU); Wen Qiang Calvin Ng (Sydney, AU)
Assignee: ATLASSIAN PTY LTD
G06F11/3664G06F11/3409G06F11/3414G06F11/3476G06F11/3668G06F11/3672G06F11/3684G06F11/3688G06F11/3692G06F11/3696G06F16/7837G06F2201/815
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,657,032
App. No.
16/108,062
Granted
May 19, 2020
Kind
B2
Abstract

Embodiments of the present invention provide a system and method for monitoring an application hosted on a server. The method includes receiving a test request at a monitoring system, the test request including information about a synthetic test to be performed on an application and a test script for performing the test. The method further includes scheduling a monitoring task based on the test request, the monitoring task comprising information about a test start time and in response to determining a scheduled monitoring task is ready for execution, automatically launching a client application, retrieving the test script and automatically executing the test script in the client application. The method further includes automatically recording in real time, the state of the user interface of the client application while executing the test script, generating a video file of the recording, and upon ending of the monitoring task, transmitting the video file to a client device.

Claims (49)

1. A computer implemented method for monitoring an application hosted on a server, the method comprising:

receiving a test request at a monitoring system, the test request comprising information about a synthetic test to be performed on an application and a test script for performing the test;

scheduling a monitoring task based on the test request, the monitoring task comprising information about a test start time;

in response to determining a scheduled monitoring task is ready for execution: automatically launching a client application within a container, retrieving the test script, and automatically executing the test script in the client application;

while executing the test script, automatically recording in real time, a state of a user interface of the client application;

initializing a virtual display server within the container to receive inputs from the client application and perform graphical operations on the inputs to generate display rendering information of the client application;

initializing a video recording tool within the container to receive the display rendering information and generate a video file based on the received display rendering information; and

upon ending of the monitoring task, transmitting the video file to a client device.

2. The computer implemented method of claim 1 , further comprising analyzing the video file to determine whether the file is corrupted.

3. The computer implemented method of claim 1 , further comprising generating a test log of the synthetic test comprising an indication of the performance of the synthetic test at one or more steps of the synthetic test.

4. The computer implemented method of claim 3 , further comprising:

synchronizing the video file of the recording with the test log; and

inserting markers in the video file at locations in the recording corresponding to the one or more steps of the synthetic test indicated in the test log.

5. The computer implemented method of claim 4 , further comprising:

determining whether one or more steps of the synthetic test have failed; and

upon determining that one or more steps of the synthetic test have failed, cropping the video file of the recording to retain portions of the recording corresponding to the one or more steps of the synthetic test that have failed.

6. The computer implemented method of claim 1 , further comprising:

synchronizing the video file of the recording with the test script; and

inserting markers in the video file at locations in the recording corresponding to one or more lines of code of the test script.

7. The computer implemented method of claim 1 , further comprising:

determining whether a size of the video file exceeds a predetermined threshold size; and

deleting the video file upon determining that the size of the file exceeds the predetermined threshold size.

8. The computer implemented method of claim 1 , wherein the client application is a web browser.

9. A system for monitoring an application hosted on a server, the system comprising:

a processor,

a communication interface, and

a non-transitory computer-readable storage medium storing sequences of instructions, which when executed by the processor, cause the processor to:

receive a test request, the test request comprising information about a synthetic test to be performed on an application and a test script for performing the test;

schedule a monitoring task based on the test request, the monitoring task comprising information about a test start time;

in response to determining a scheduled monitoring task is ready for execution: automatically launch a client application within a container, retrieving the test script, and automatically executing the test script in the client application;

while executing the test script, automatically record in real time, a state of a user interface of the client application;

initialize a virtual display server within the container to receive inputs from the client application and perform graphical operations on the inputs to generate display rendering information of the client application;

initialize a video recording tool within the container to receive the display rendering information and generate a video file based on the received display rendering information; and

upon ending of the monitoring task, transmitting the video file to a client device.

10. The system of claim 9 , further comprising analyzing the video file to determine whether the file is corrupted.

11. The system of claim 9 , further comprising instructions, which when executed by the processor, cause the processor to generate a test log of the synthetic test comprising an indication of the performance of the synthetic test at one or more steps of the synthetic test.

12. The system of claim 11 , further comprising instructions, which when executed by the processor, cause the processor to:

synchronize the video file of the recording with the test log; and

insert markers in the video file at locations in the recording corresponding to the one or more steps of the synthetic test indicated in the test log.

13. The system of claim 12 , further comprising instructions, which when executed by the processor, cause the processor to:

determine whether one or more steps of the synthetic test have failed; and

upon determining that one or more steps of the synthetic test have failed, cropping the video file of the recording to retain portions of the recording corresponding to the one or more steps of the synthetic test that have failed.

14. The system of claim 9 , further comprising instructions, which when executed by the processor, cause the processor to:

synchronize the video file of the recording with the test script; and

insert markers in the video file at locations in the recording corresponding to one or more lines of code of the test script.

15. The system of claim 9 , further comprising instructions, which when executed by the processor, cause the processor to:

determine whether a size of the video file exceeds a predetermined threshold size; and

delete the video file upon determining that the size of the file exceeds the predetermined threshold size.

16. The system of claim 9 , wherein the client application is a web browser.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: FUNNELL, COLBY DAVID; LI, HAITAO; NG, WEN QUIANG CALVIN
To: ATLASSIAN PTY LTD
Reel/Frame 047223/0633 →
Continuity (2)
Provisional Application 62650885 · Mar 30, 2018
Related Publication 20190303274A1 · Oct 3, 2019