Next.js는 Vercel에서 만든 JavaScript 프레임워크로, React.js 웹 페이지와 Node.js API를 만드는 데 사용됩니다. Next.js를 RUM과 통합하여 프런트엔드 및 백엔드 애플리케이션에서 성능 및 사용자 행동에 대한 인사이트를 제공하는 브라우저 관련 메트릭을 모니터링할 수 있습니다.
JS가 선택되어 있는지 확인한 다음, 애플리케이션의 이름을 입력하고 Create New RUM Application을 클릭합니다. clientToken 및 applicationId는 애플리케이션에 대해 자동으로 생성됩니다.
`.env.local`를 사용할 때는 클라이언트 번들에 `NEXT_PUBLIC_` 접두사가 붙은 변수만 포함됩니다. Next.js 문서의 브라우저를 위한 환경 변수 번들링을 참조하세요.
애플리케이션 계측
계측 유형을 선택한 다음 Datadog RUM UI에서 코드 스니펫을 복사하여 계측 유형에 따라 알맞은 파일에 붙여넣습니다.
NPM을 사용하는 경우 루트 layout.tsx나 커스텀 _app.tsx 파일에 붙여넣기 전에 Datadog RUM UI에서 코드 스니펫을 약간 변경해야 합니다(Datadog은 둘 다 지원):
애플리케이션이 새로운 Next.js [App Router] 1 (버전 13+)에 의존하는 경우, 스니펫을 루트 layout.tsx 파일에 붙여넣습니다. use client 지시어는 서버 측 렌더링을 방지하므로 CDN 버전을 사용하는 것을 권장합니다.
Next.js 애플리케이션이 이전 Next.js Page Router에 의존하는 경우 스니펫을 커스텀 _app.tsx 파일에 붙여넣습니다.
참고: 텔레메트리 데이터를 수집하려면 RUM SDK를 클라이언트에서 실행해야 하므로 NPM 패키지를 통해 초기화되는 파일은 클라이언트 컴포넌트여야 합니다.
layout.tsx or _app.tsx
"use client";importLinkfrom"next/link";import{datadogRum}from"@datadog/browser-rum";import{useEffect}from"react";datadogRum.init({applicationId:"<YOUR_APPLICATION_ID>",clientToken:"<CLIENT_TOKEN>",site:"datadoghq.com",service:"next-app-router-rum-npm",env:"<ENV_NAME>",// Datadog에서 배포된 애플리케이션 버전을 식별할 버전 번호 지정
// version: '1.0.0',
sessionSampleRate:100,sessionReplaySampleRate:100,trackUserInteractions:true,trackResources:true,trackLongTasks:true,});exportdefaultfunctionRootLayout({children,}:{children:React.ReactNode;}){useEffect(()=>{},[]);return(<htmllang="en"><body>{children}</body></html>);}
CDN 비동기를 사용할 때는 루트 layout.tsx나 커스텀 _app.tsx 파일에 붙여넣기 전에 Datadog RUM UI에서 코드 스니펫을 약간 변경해야 합니다(Datadog은 둘 다 지원):