🎉 Introducing Edgio v6 which supports Node.js v16. Learn how to upgrade. 🎉
Edgio
Edgio

Observability

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'
2
3const timing = new Timing('api').start()
4
5try {
6 const result = await fetch(API_URL)
7} finally {
8 timing.end() // this will result in a `x-0-user-t: api=(millis)` response header
9}
  • 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