IP Library Granted Patent US 10,862,780
Granted Patent B2
US 10,862,780 · App. 16/445,455 · Granted Dec 8, 2020

Automatic web page load detection

Inventor: Ryan O'Connell (San Francisco, CA)
Assignee: Cisco Technology, Inc.
H04L43/067H04L41/5019H04L43/045H04L67/02H04L43/0888
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,862,780
App. No.
16/445,455
Granted
Dec 8, 2020
Kind
B2
Abstract

In one aspect, a system for automatic detection of webpage loading at a web browser of a client device in a monitored environment is disclosed. The system includes: a processor; a memory; and one or more modules stored in the memory and executable by a processor to perform operations. The operations include: detect start of loading of a webpage at the web browser of the client device in the monitored environment; set a dynamic watchdog repeating timer at a value; start the timer; recursively check for completion of the loading of the webpage; when determined that the loading of the webpage has completed, determine whether a Java script engine of the web browser loading the webpage is idle; and when determined that the Java script engine of the web browser loading the webpage is idle, stop the timer and generate a report of the webpage.

Claims (71)

1. An apparatus comprising:

a processor configured to execute one or more processes; and

a memory configured to store a process executable by the processor, the process when executed configured to:

receive a report generated by a device in a distributed business transaction monitoring system, wherein the report is generated by the device when the device determines that a web page loading on a web browser of a client device that the device is monitoring has completed loading and is idle;

identify nodes of interest and one or more chains of nodes connected to the nodes of interest as a plurality of interconnected nodes based on the received report;

generate an interactive flow map of the plurality of interconnected nodes in the distributed business transaction monitoring system;

provide the interactive flow map to a user interface for displaying the interactive flow map; and

cause the user interface to automatically display the interactive flow map and the received report through the user interface.

2. The apparatus of claim 1 , wherein the device determines that the web page has completed loading by:

setting a dynamic watchdog repeating timer at a value;

starting the timer; and

recursively checking for whether the web page has completed loading.

3. The apparatus of claim 2 , wherein when the device determines that the web page has not completed, the device is configured to:

reset the timer;

restart the timer; and

recursively check, subsequent to restarting the timer, for whether the web page has completed loading.

4. The apparatus of claim 2 , wherein recursively checking for whether the web page has completed loading comprises at least one of:

determining whether all pending network requests have finished,

determining whether a global ceiling has been reached, or

determining that all the pending network requests have finished and that the global ceiling has been reached.

5. The apparatus of claim 2 , wherein recursively checking for whether the web page has completed loading comprises:

checking for one or more iframes; and

attaching, when the one or more iframes are found, load listeners to the one or more iframes.

6. The apparatus of claim 1 , wherein the device is configured to determine that the web page is idle by determining whether a Java script engine of the web browser is idle.

7. The apparatus of claim 6 , wherein the device determines whether the Java script engine is idle by determining whether at least one network request has ended in a most recent pre-determined time period.

8. The apparatus of claim 1 , the apparatus is further configured to:

receive data associated with one or more monitored applications on the plurality of interconnected nodes;

identify performance issues with the one or more monitored applications from the received data; and

determine a relationship between the identified performance issues and the generated report of the web page.

9. A method comprising:

receiving, by a device in a distributed business transaction monitoring system, a report generated by an agent in the distributed business transaction monitoring system, wherein the report is generated by the agent when the agent determines that a web page loading on a web browser of a client device the device is monitoring has completed loading and is idle;

identifying, by the device, nodes of interest and one or more chains of nodes connected to the nodes of interest as a plurality of interconnected nodes based on the received report;

generating, by the device, an interactive flow map of the plurality of interconnected nodes in the distributed business transaction monitoring system;

providing, by the device, the interactive flow map to a user interface for displaying the interactive flow map; and

causing, by the device, the user interface to automatically display the interactive flow map and the report through the user interface.

10. The method of claim 9 , wherein the agent determines that the web page has completed by:

setting, by the agent, a dynamic watchdog repeating timer at a value;

starting, by the agent, the timer; and

recursively checking, by the agent, for whether the web page has completed loading.

11. The method of claim 10 , wherein when the agent determines that the web page has not completed, further comprising:

resetting, by the agent, the timer;

restarting, by the agent, the timer; and

recursively checking, by the agent and subsequent to restarting the time, whether the web page has completed loading.

12. The method of claim 10 , wherein the recursively checking, by the agent, whether the web page has completed loading includes:

determining, by the agent, whether all pending network requests have finished;

determining, by the agent, whether a global ceiling has been reached; or

determining, by the agent, that all the pending network requests have finished and that the global ceiling has been reached.

13. The method of claim 10 , wherein the recursively checking, by the agent, whether the web page has completed loading:

checking, by the agent, for one or more iframes; and

attaching, by the agent and when the one or more iframes are found, load listeners to the one or more iframes.

14. The method of claim 9 , wherein the agent determines that the web page is idle by determining whether a Java script engine of the web browser is idle.

15. The method of claim 14 , wherein the agent determines whether the Java script engine is idle by determining whether at least one network request has ended in a most recent pre-determined time period.

16. The method of claim 9 , further comprising:

receiving, by the device, data associated with one or more monitored applications on the plurality of interconnected nodes at the device;

identifying, by the device, performance issues with the one or more the monitored applications from the received data; and

determining, by the device, a relationship between the identified performance issues and the generated report of the web page.

17. A non-transitory computer readable medium embodying instructions when executed by a processor to cause operations to be performed, the operations including:

receiving, by a device in a distributed business transaction monitoring system, a report generated by an agent in the distributed business transaction monitoring system, wherein the report is generated by the agent when the agent determines that a web page loading on a web browser of a client device the device is monitoring has completed loading and is idle;

identifying, by the device, nodes of interest and one or more chains of nodes connected to the nodes of interest as a plurality of interconnected nodes based on the received report;

generating, by the device, an interactive flow map of the plurality of interconnected nodes in the distributed business transaction monitoring system;

providing, by the device, the interactive flow map to a user interface for displaying the interactive flow map; and

causing, by the device, the user interface to automatically display the interactive flow map and the report through the user interface.

18. The non-transitory computer readable medium of claim 17 , wherein the agent determines that the web page has completed loading by:

setting, by the agent, a dynamic watchdog repeating timer at a value;

starting, by the agent, the timer; and

recursively checking, by the agent, for whether the web page has completed loading.

19. The non-transitory computer readable medium of claim 17 , wherein the agent determines that the web page is idle by determining whether a Java script engine of the web browser is idle.

20. The non-transitory computer readable medium of claim 17 , the operations further comprising:

receiving, by the device, data associated with one or more monitored applications on the plurality of interconnected nodes at the device;

identifying, by the device, performance issues with the one or more the monitored applications from the received data; and

determining, by the device, a relationship between the identified performance issues and the generated report of the web page.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2020
From: APPDYNAMICS LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 052289/0520 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2020
From: O'CONNELL, RYAN
To: APPDYNAMICS, INC
Reel/Frame 052291/0301 →
CHANGE OF NAME Recorded Apr 1, 2020
From: APPDYNAMICS, INC
To: APPDYNAMICS LLC
Reel/Frame 052291/0303 →
Continuity (2)
Continuation 15338450 · Oct 31, 2016
Related Publication 20190306032A1 · Oct 3, 2019