IP Library Granted Patent US 10,038,736
Granted Patent B2
US 10,038,736 · App. 15/044,877 · Granted Jul 31, 2018

Real user monitoring of single-page applications

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,038,736
App. No.
15/044,877
Granted
Jul 31, 2018
Kind
B2
Abstract

The disclosed embodiments provide a system for processing data. During operation, the system obtains a first set of metrics generated during loading of a single-page application (SPA) in a web browser, wherein the first set of metrics includes a page load event and a render completion time. Next, the system uses the first set of metrics to calculate an initial page load time for the SPA. The system also obtains a second set of metrics generated during loading of a subsequent view in the SPA, wherein the second set of metrics includes a transition time and the render completion time. The system then uses the second set of metrics to calculate a subsequent page load time for the SPA. Finally, the system outputs the first and second sets of metrics, the initial page load time, and the subsequent page load time for use in analyzing a performance of the SPA.

Claims (60)

1. A method, comprising:

obtaining a first set of metrics generated during loading of a single-page application (SPA) in a web browser, wherein the first set of metrics comprises a page load event and a render completion time;

using the first set of metrics to calculate, by a computer system, an initial page load time for the SPA associated with generating an initial view in the SPA;

obtaining a second set of metrics generated during loading of a subsequent view in the SPA immediately following a previous view in the SPA, wherein the second set of metrics comprises a transition time representing a point in time of transition from the previous view to the subsequent view, a download time of dynamic data associated with the subsequent view, and the render completion time of the subsequent view;

using the second set of metrics to calculate a subsequent page load time for the SPA associated with generating the subsequent view in the SPA; and

outputting the first and second sets of metrics, the initial page load time, and the subsequent page load time for use in analyzing a performance of the SPA.

2. The method of claim 1 , further comprising:

obtaining an identifier for the subsequent view with the second set of metrics; and

outputting the identifier with the second set of metrics and the subsequent page load time.

3. The method of claim 1 , wherein using the second set of metrics to calculate the subsequent page load time comprises:

obtaining, from the second set of metrics, download times of one or more resources associated with loading of the subsequent view; and

calculating the subsequent page load time using the transition time and a latest download time of the one or more resources.

4. The method of claim 3 , wherein using the second set of metrics to calculate the subsequent page load time further comprises:

identifying an inclusion of the one or more resources in a Document Object Model (DOM) of the SPA at the render completion time.

5. The method of claim 3 , wherein the one or more resources comprise at least one of:

an image;

a script; and

text.

6. The method of claim 1 , wherein obtaining the first set of metrics comprises:

obtaining the first set of metrics in a beacon from the web browser.

7. The method of claim 6 , wherein the first set of metrics is obtained from the web browser after a pre-specified period after the render completion time has passed.

8. The method of claim 6 , wherein the first set of metrics is obtained from the web browser upon loading of a subsequent view in the SPA.

9. The method of claim 1 , wherein the first set of metrics further comprises:

a component render start time; and

a component render completion time.

10. An apparatus, comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the apparatus to:

obtain a first set of metrics generated during loading of a single-page application (SPA) in a web browser, wherein the first set of metrics comprises a page load event and a render completion time;

use the first set of metrics to calculate an initial page load time for the SPA associated with generating an initial view in the SPA;

obtain a second set of metrics generated during loading of a subsequent view in the SPA immediately following a previous view in the SPA, wherein the second set of metrics comprises a transition time representing a point in time of transition from the previous view to the subsequent view, a download time of dynamic data associated with the subsequent view, and the render completion time of the subsequent view;

use the second set of metrics to calculate a subsequent page load time for the SPA associated with generating the subsequent view in the SPA; and

output the first and second sets of metrics, the initial page load time, and the subsequent page load time for use in analyzing a performance of the SPA.

11. The apparatus of claim 10 , wherein the memory further stores instructions that, when executed by the one or more processors, cause the apparatus to:

obtain an identifier for the subsequent view with the second set of metrics; and

output the identifier with the second set of metrics and the subsequent page load time.

12. The apparatus of claim 11 , wherein using the second set of metrics to calculate the subsequent page load time comprises:

obtaining, from the second set of metrics, download times of one or more resources associated with loading of the subsequent view; and

calculating the subsequent page load time using the transition time and a latest download time of the one or more resources.

13. The apparatus of claim 12 , wherein using the second set of metrics to calculate the subsequent page load time further comprises:

identifying an inclusion of the one or more resources in a Document Object Model (DOM) of the SPA at the render completion time.

14. The apparatus of claim 10 , wherein obtaining the first set of metrics comprises:

obtaining the first set of metrics in a beacon from the web browser.

15. The apparatus of claim 14 , wherein the first set of metrics is obtained from the web browser after a pre-specified period after the render completion time has passed.

16. The apparatus of claim 14 , wherein the first set of metrics is obtained from the web browser upon loading of a subsequent view in the SPA.

17. The apparatus of claim 10 , wherein the first set of metrics further comprises:

a component render start time; and

a component render completion time.

18. An apparatus, comprising:

an analysis module comprising a non-transitory computer-readable medium comprising instructions that, when executed, cause the system to:

obtain a first set of metrics generated during loading of a single-page application (SPA) in a web browser, wherein the first set of metrics comprises a page load event and a render completion time;

use the first set of metrics to calculate an initial page load time for the SPA associated with generating an initial view in the SPA;

obtain a second set of metrics generated during loading of a subsequent view in the SPA immediately following a previous view in the SPA, wherein the second set of metrics comprises a transition time representing a point in time of transition from the previous view to the subsequent view, a download time of dynamic data associated with the subsequent view, and the render completion time of the subsequent view; and

use the second set of metrics to calculate a subsequent page load time for the SPA associated with generating the subsequent view in the SPA; and

a management module comprising a non-transitory computer-readable medium comprising instructions that, when executed, cause the system to output the first and second sets of metrics, the initial page load time, and the subsequent page load time for use in analyzing a performance of the SPA.

19. The apparatus of claim 18 , wherein using the second set of metrics to calculate the subsequent page load time comprises:

obtaining, from the second set of metrics, download times of one or more resources associated with loading of the subsequent view; and

calculating the subsequent page load time using the transition time and a latest download time of the one or more resources.

20. The apparatus of claim 19 , wherein using the second set of metrics to calculate the subsequent page load time further comprises:

identifying an inclusion of the one or more resources in a Document Object Model (DOM) of the SPA at the render completion time.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2017
From: LINKEDIN CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044746/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2016
From: VEERAVALLI, SREEDHAR BABU; HE, DAVID Q.; HOU, RUIXUAN
To: LINKEDIN CORPORATION
Reel/Frame 037896/0851 →