Page load metricsedit
Duration of the DNS query for the current page:
Making a connection to the server
Duration of the TCP connection to the server, including the TLS negotiation time for HTTPS pages:
Requesting and receiving the document
Overall response time of the server including the last byte:
Parsing the document, executing sync. scripts
HTML document parsing time, including synchronous Stylesheets and Script:
Fire "DOMContentLoaded" event
Triggered when the browser completes parsing the document. Helpful when there are multiple listeners, or logic
Fire "load" event
Trigged when the browser finishes loading its document and dependent resources:
To capture the overall user experience of the page including all of the above information plus additional resource requests that might be
triggered during the execution of dependent resources, the
page-load transaction duration might not always reflect the
Load event of the browser and can extend beyond the event.
If you are interested in accurately measuring the duration of load event, the information can be extracted by using
Fire load event Span or from the Transaction marks available as
transaction.marks.agent.domComplete in the Elasticsearch document.
The RUM agent automatically instruments click event listeners that are
registered by the application. The click events are captured as
transactions. However, to avoid sending too many
to the server, the agent discards transactions with no spans (e.g. no network activity). Furthermore,
if the click interaction results in route change, then a
transaction would be captured instead.
Single Page Applicationsedit
pushState events will be captured as transactions.
Most of these transactions can be enhanced by using framework specific integrations.
For all unsupported frameworks/libraries, you can instrument the application
by creating custom transactions and custom spans with the span API.
The agent supports integrations with certain frameworks.
To instrument custom metrics, like rendering time or mounting time of components on frameworks like React, Angular, Vue, etc., use the custom transactions API.
The following platforms are supported: