Use Observability to monitor the performance of an application running on Edgio. Key tools and methods for tracking performance are described below.
- Use our Real User Monitoring (RUM) library (@edgio/rum) to track Core Web Vitals and identify areas for improvement.
- Use our DevTools to monitor the impact of your caching and predictive prefetching configurations on your site in real time. This allows use to identify and remediate issues.
- Analyze the performance for specific requests through the x-0-t. This response header contains the time the request spent at each layer of the Edgio stack.
- Track code execution time through our
@edgio/core/timing
module.
Tracking your Own Timings
You can use the
@edgio/core/timing
module to track how long it takes parts of your code to execute. A common case is
tracking how long it takes to fetch a result from an upstream API. For example:JavaScript
1import Timing from '@edgio/core/timing'23const timing = new Timing('api').start()45try {6 const result = await fetch(API_URL)7} finally {8 timing.end() // this will result in a `x-0-user-t: api=(millis)` response header9}
- All timings are returned in an
x-0-user-t
response header. - The value is a comma-delimited list of pairs of the form
(name)=(duration-in-millis)
. - The value of this header will be logged into
xut
field in access logs. The logged data is limited to 50 bytes after which it will be truncated. - Any timings that are not ended before the response is sent will have a value of
na