instrumentation.js
instrumentation.js|ts
檔案用於將可觀察性工具整合到您的應用程式中,讓您可以追蹤效能和行為,並在生產環境中除錯問題。
要使用它,請將檔案放在應用程式的**根目錄**下,或者如果使用 src
資料夾,則放在 src
資料夾 內。
匯出
register
(選用)
該檔案匯出一個 register
函式,它會在新 Next.js 伺服器實例啟動時被呼叫一次。register
可以是一個非同步函式。
instrumentation.ts
import { registerOTel } from '@vercel/otel'
export function register() {
registerOTel('next-app')
}
onRequestError
(選用)
error
:擷取到的錯誤本身(類型始終為Error
),以及一個digest
屬性,它是錯誤的唯一 ID。request
:與錯誤相關聯的唯讀請求資訊。context
:發生錯誤的上下文。這可以是路由器的類型(應用程式或頁面路由器),以及/或者(伺服器組件 ('render'
)、路由處理程式 ('route'
)、伺服器動作 ('action'
) 或中介軟體 ('middleware'
))。
指定執行環境 instrumentation.jsexport function register() {
if (process.env.NEXT_RUNTIME === 'edge') {
return require('./register.edge')
} else {
return require('./register.node')
}
}
export function onRequestError() {
if (process.env.NEXT_RUNTIME === 'edge') {
return require('./on-request-error.edge')
} else {
return require('./on-request-error.node')
}
}
instrumentation.js
export function register() {
if (process.env.NEXT_RUNTIME === 'edge') {
return require('./register.edge')
} else {
return require('./register.node')
}
}
export function onRequestError() {
if (process.env.NEXT_RUNTIME === 'edge') {
return require('./on-request-error.edge')
} else {
return require('./on-request-error.node')
}
}