IP Library › Granted Patent US 11,962,666
Granted Patent B2
US 11,962,666 · App. 16/793,065 · Granted Apr 16, 2024

User-configurable end user monitoring (EUM)

Inventor: Walter Theodore Hulick, Jr. (Pearland, TX)
Assignee: CISCO TECHNOLOGY, INC.
H04L67/564H04L67/01H04L67/75
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 11,962,666
App. No.
16/793,065
Filed
Feb 18, 2020
Granted
Apr 16, 2024
Kind
B2
Art Unit
2451
USPC
709/203
Abstract

In one embodiment, webpage data for a webpage is downloaded by a web browser executed by a client device. The client device inserts instrumentation into the webpage data to collect event metrics for events associated with the webpage. The client device selects, based on a user-defined policy, a set of event metrics from among the collected event metrics to be shared with a proxy service. The client device sends the selected set of event metrics to the proxy service. The proxy service provides access to the set of event metrics to one or more collectors registered with the proxy service.

Claims (51)

1. A method, comprising:

downloading, by a web browser executed by a client device, webpage data for a webpage from a web server;

downloading, by the client device, a browser extension for the web browser from a proxy service;

inserting, by the client device, instrumentation into the webpage data to collect event metrics for events associated with the webpage;

selecting, by the client device and based on a user-defined policy configured by an end user of the client device, a first set of event metrics from among the collected event metrics to be shared with the proxy service;

determining, by the client device and based on the user-defined policy, a second set of event metrics from among the collected event metrics that is not to be shared with the proxy service; and

sending, by the client device, the first set of event metrics, and not the second set of event metrics, to the proxy service, wherein the proxy service provides access to the first set of event metrics to one or more collectors registered with the proxy service,

wherein the browser extension performs the inserting, selecting, and sending steps.

2. The method as in claim 1 , wherein the events comprise an AJAX or WebSocket call made by the webpage after being loaded by the web browser.

3. The method as in claim 1 , wherein the events comprise one or more page load events.

4. The method as in claim 1 , wherein inserting the instrumentation into the webpage data to collect event metrics for events associated with the webpage comprises:

inserting a script into the webpage data, prior to the web browser loading the webpage data.

5. The method as in claim 1 , further comprising:

receiving, at the client device, the user-defined policy from a user interface of the client device.

6. The method as in claim 1 , wherein the instrumentation is inserted into the webpage data, based on the user-defined policy.

7. The method as in claim 1 , wherein the user-defined policy specifies that event metrics for error events are to be shared with the proxy service.

8. The method as in claim 1 , wherein the user-defined policy specifies that the event metrics are to be shared with the proxy service when a latency associated with the webpage exceeds a predefined threshold.

9. The method as in claim 1 , further comprising:

providing, by the client device, an indication of the collected event metrics via the web browser.

10. The method as in claim 1 , wherein the instrumentation, when executed, collects the event metrics using an application programming interface (API) of the webpage.

11. The method as in claim 1 , further comprising:

displaying, on the client device, a popup describing the performance of the webpage.

12. An apparatus, comprising:

one or more network interfaces to communicate with a network;

a processor coupled to the network interfaces and 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:

download, by a web browser executed by the apparatus, webpage data for a webpage from a web server;

download a browser extension for the web browser from a proxy service;

insert instrumentation into the webpage data to collect event metrics for events associated with the webpage;

select, based on a user-defined policy configured by an end user of the apparatus, a first set of event metrics from among the collected event metrics to be shared with the proxy service;

determine, based on the user-defined policy, a second set of event metrics from among the collected event metrics that is not to be shared with the proxy service; and

send the first set of event metrics, and not the second set of event metrics, to the proxy service, wherein the proxy service provides access to the first set of event metrics to one or more collectors registered with the proxy service,

wherein the browser extension performs the inserting, selecting, and sending.

13. The apparatus as in claim 12 , wherein the events are selected from a group consisting of: an AJAX or WebSocket call made by the webpage after being loaded by the web browser; and one or more page load events.

14. The apparatus as in claim 12 , wherein the apparatus inserts the instrumentation into the webpage data to collect event metrics for events associated with the webpage by:

inserting a script into the webpage data, prior to the web browser loading the webpage data.

15. The apparatus as in claim 12 , wherein the process when executed is further configured to:

receive the user-defined policy from a user interface of the apparatus.

16. The apparatus as in claim 12 , wherein the instrumentation is inserted into the webpage data, based on the user-defined policy.

17. The apparatus as in claim 12 , wherein the user-defined policy specifies that event metrics for error events are to be shared with the proxy service or when a latency associated with the webpage exceeds a predefined threshold.

18. The apparatus as in claim 12 , wherein the process when executed is further configured to:

provide an indication of the collected event metrics to a user interface of the apparatus via the web browser.

19. The apparatus as in claim 12 , wherein the instrumentation is inserted into the webpage data by attaching the instrumentation to a main page of the webpage.

20. A tangible, non-transitory, computer-readable medium having computer-executable instructions stored thereon that, when executed by a processor on a device, cause the device to perform a method comprising:

downloading, by a web browser executed by the device, webpage data for a webpage from a web server;

downloading, by the device, a browser extension for the web browser from a proxy service;

inserting, by the device, instrumentation into the webpage data to collect event metrics for events associated with the webpage;

selecting, by the device and based on a user-defined policy configured by an end user of the device, a first set of event metrics from among the collected event metrics to be shared with the proxy service;

determining, by the device and based on the user-defined policy, a second set of event metrics from among the collected event metrics that is not to be shared with the proxy service; and

sending, by the device, the first set of event metrics, and not the second set of event metrics, to the proxy service, wherein the proxy service provides access to the first set of event metrics to one or more collectors registered with the proxy service,

wherein the browser extension performs the inserting, selecting, and sending steps.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2020
From: HULICK, WALTER THEODORE, JR.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 051842/0409 →
Continuity (1)
Related Publication 20210258396A1 · Aug 19, 2021