instrumentation.js
El archivo instrumentation.js|ts
se utiliza para integrar herramientas de observabilidad en tu aplicación, permitiéndote rastrear el rendimiento y comportamiento, así como depurar problemas en producción.
Para usarlo, coloca el archivo en la raíz de tu aplicación o dentro de una carpeta src
si estás utilizando una.
Exportaciones
register
(opcional)
El archivo exporta una función register
que se llama una vez cuando se inicia una nueva instancia del servidor Next.js. register
puede ser una función asíncrona.
onRequestError
(opcional)
Puedes exportar opcionalmente una función onRequestError
para rastrear errores del servidor en cualquier proveedor de observabilidad personalizado.
- Si estás ejecutando tareas asíncronas en
onRequestError
, asegúrate de que sean esperadas (awaited).onRequestError
se activará cuando el servidor Next.js capture el error. - La instancia
error
podría no ser la instancia original del error lanzado, ya que puede ser procesada por React si ocurre durante el renderizado de Componentes del Servidor. Si esto sucede, puedes usar la propiedaddigest
en un error para identificar el tipo real de error.
Parámetros
La función acepta tres parámetros: error
, request
y context
.
error
: El error capturado (el tipo siempre esError
), y una propiedaddigest
que es el ID único del error.request
: Información de solo lectura de la solicitud asociada al error.context
: El contexto en el que ocurrió el error. Puede ser el tipo de enrutador (App o Pages Router), y/o (Componentes del Servidor ('render'
), Manejadores de Ruta ('route'
), Acciones del Servidor ('action'
), o Middleware ('middleware'
)).
Especificando el runtime
El archivo instrumentation.js
funciona tanto en el runtime de Node.js como en Edge, sin embargo, puedes usar process.env.NEXT_RUNTIME
para dirigirte a un runtime específico.
Historial de versiones
Versión | Cambios |
---|---|
v15.0.0 | onRequestError introducido, instrumentation estable |
v14.0.4 | Soporte de Turbopack para instrumentation |
v13.2.0 | instrumentation introducido como característica experimental |