Fast OLAP for real user measurement of website performance
First Claim
1. A computer-implemented method for real-time capture and analysis of data of real user experiences either accessing a website, or using a web-based application or a mobile app, via a plurality of client devices, each of the client devices being associated with a user, the computer-implemented method comprising:
- receiving, in each of a plurality of collector servers, web page load time data values transmitted from the plurality of client devices, each web page load time data value representing a real user measurement (RUM) associated with an experience of the user on a web page of the website, or using the web-based application or the mobile app, the web page load time data value being transmitted while the user is on the web page, or using the web-based application or the mobile app, each of the collector servers being located in a network cloud remote to each of the client devices;
for each web page load time data value received, incrementing a count in a corresponding one of a set of N, where N is an integer greater than 1, data buckets, each data bucket being defined in a memory resource for web page load time data values falling within a predetermined range of values, the set of N data buckets being arranged in an order of web page load time data value ranges;
periodically transmitting, by each collector server, the count of each of the N data buckets to a unit over a network;
aggregating, by the unit in a final set of N data buckets, all of the counts received from each collector server for each corresponding data bucket such that an ith ,data bucket, where i is an integer ranging from 1 to N, of the final set contains a sum of all of the ith data bucket counts received from all the collector servers; and
rendering, on an analytic dashboard, a visual presentation in the form of a histogram of the aggregated counts of the web page load time data values, wherein a height of each bar of the histogram corresponds to an aggregated count of one or more of the N data buckets of the final set, the rendering being performed while the client devices are either accessing the website, or using the web-based application or the mobile app,wherein the rendering of the visual representation is performed in real-time concurrently with the on-going collection of the web page load time data values, within seconds or milliseconds from a time that the web page load time data values are fiat received in the plurality of collector servers, such that the histogram changes nearly instantaneously in response to new web page load time data values being received in the plurality of collector servers.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for real-time capture and analysis of website performance metrics includes receiving, in each of a plurality of result servers, data values transmitted from a plurality of client devices, each data value representing a measurement of a performance metric associated with an experience of a user on a web page or using a web application, the measurement being made and the data value produced being transmitted in real-time while the user is on the web page or using the web application. For each data value received, a count in one of a set of N data buckets defined in a memory is incremented. All of the counts in each of the corresponding data buckets is aggregated to produce a histogram of the performance metric is rendered on an analytic dashboard.
-
Citations
15 Claims
-
1. A computer-implemented method for real-time capture and analysis of data of real user experiences either accessing a website, or using a web-based application or a mobile app, via a plurality of client devices, each of the client devices being associated with a user, the computer-implemented method comprising:
-
receiving, in each of a plurality of collector servers, web page load time data values transmitted from the plurality of client devices, each web page load time data value representing a real user measurement (RUM) associated with an experience of the user on a web page of the website, or using the web-based application or the mobile app, the web page load time data value being transmitted while the user is on the web page, or using the web-based application or the mobile app, each of the collector servers being located in a network cloud remote to each of the client devices; for each web page load time data value received, incrementing a count in a corresponding one of a set of N, where N is an integer greater than 1, data buckets, each data bucket being defined in a memory resource for web page load time data values falling within a predetermined range of values, the set of N data buckets being arranged in an order of web page load time data value ranges; periodically transmitting, by each collector server, the count of each of the N data buckets to a unit over a network; aggregating, by the unit in a final set of N data buckets, all of the counts received from each collector server for each corresponding data bucket such that an ith ,data bucket, where i is an integer ranging from 1 to N, of the final set contains a sum of all of the ith data bucket counts received from all the collector servers; and rendering, on an analytic dashboard, a visual presentation in the form of a histogram of the aggregated counts of the web page load time data values, wherein a height of each bar of the histogram corresponds to an aggregated count of one or more of the N data buckets of the final set, the rendering being performed while the client devices are either accessing the website, or using the web-based application or the mobile app, wherein the rendering of the visual representation is performed in real-time concurrently with the on-going collection of the web page load time data values, within seconds or milliseconds from a time that the web page load time data values are fiat received in the plurality of collector servers, such that the histogram changes nearly instantaneously in response to new web page load time data values being received in the plurality of collector servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer-readable storage medium encoded with computer instructions, which, when executed by one or more processors operable to:
-
receive, in each of a plurality of collect servers, web page load time data values transmitted from a plurality of client devices, each web page load time data value representing a real user measurement (RUM) associated with an experience of a user either browsing a website, or using a web-based application or a mobile app, the user beacon data value being transmitted in real-time while the user is on a web page, or using the web-based application or the mobile app, each of the collector servers being located in a network cloud remote to each of the client devices; increment, for each web page load time data value received, a count in corresponding one of a set of N, where N is an integer greater than 1, data buckets, each data bucket being defined in a memory resource for web page load, time data values falling within a predetermined range of values, the set of N data buckets being arranged in an order of web page load time data value ranges; transmit, by each collector server, the count of each of the N data buckets to a unit over a network; aggregate, by the unit in a final set of N data buckets, all of the counts received from each collector server for each corresponding data bucket such that an ith data bucket, where i is an integer ranging from 1 to N. of the final set contains a sum of all of the ith data buckets counts received from all of the collector servers; and render, on an analytic dashboard, a visual presentation in the form of a histogram of the aggregated counts of the web page load time data values, wherein a height of each bar of the histogram corresponds to an aggregated count of one or more of the N data buckets of the final set, the rendering being performed in real-time while the client devices are either accessing the website, or using the web- based application or the mobile app, wherein the visual representation is rendered in real-time concurrently with the on-going collection of the web page load time data values, within seconds or milliseconds from a time that the web page load time data values are first received in the plurality of collector servers, such that the histogram changes nearly instantaneously in response to new web page load time data values being received in the plurality of collector servers. - View Dependent Claims (11, 12, 13, 14, 15)
-
Specification