experimental_telemetry 옵션을 통해 OpenTelemetry를 기본적으로 지원합니다.
이 가이드에서는 Vercel AI SDK의 트레이스를 Weave로 전송하도록 OTel을 설정하는 방법을 설명합니다. AI SDK는 Next.js와 함께 사용하거나 독립형 Node.js 애플리케이션으로 사용할 수 있습니다.
Weave에서 OTel 트레이싱에 대한 자세한 내용은 Send OTel traces to Weave를 참조하세요.
사전 요구 사항
-
다음 Vercel 및 OTel 라이브러리를 설치하세요.
-
다음 환경 변수를 설정하세요.
W&B API 키는 User Settings에서 확인할 수 있습니다.
Next.js용 트레이싱 설정
계측 설정
instrumentation.ts 파일을 사용합니다. 이 파일은 서버가 시작될 때 한 번 실행되며, AI SDK가 사용하는 트레이서 프로바이더를 구성합니다.
Weave를 Vercel의 OTel 기능과 통합하려면 프로젝트 루트에 instrumentation.ts 파일을 만들고 다음 코드를 추가하세요. 이때 resourceFromAttributes() 함수의 팀 이름과 프로젝트 이름을 사용 중인 값으로 업데이트하세요:
instrumentation.ts
함수에 텔레메트리 설정하기
experimental_telemetry 옵션을 사용해 OTel 스팬을 내보내세요:
route.ts
generateText Call은 Weave로 내보내는 OTel 스팬을 생성합니다.
Node.js용 OTel 트레이싱 설정
test-app.ts
BatchSpanProcessor는 스팬을 비동기적으로 플러시합니다. 독립형 스크립트, 서버리스 함수, CLI 도구처럼 수명이 짧은 프로세스에서는 프로세스가 종료되기 전에 provider.shutdown()을 호출해 모든 스팬이 Weave로 전송되도록 하세요. 반면 instrumentation.ts를 통해 시작한 Next.js dev 서버처럼 장시간 실행되는 서버에서는 이 작업이 필요하지 않습니다.