Skip to Content
ドキュメント可観測性Next.js トレース

Next.js トレーシング

Next.js で OpenTelemetry トレーシングを有効にするには、追加の設定が必要です。

ステップ 1: Next.js の設定

まず、Next.js の設定ファイルでインストゥルメンテーションフックを有効にします。

next.config.ts
import type { NextConfig } from "next"; const nextConfig: NextConfig = { experimental: { instrumentationHook: true, // Not required in Next.js 15+ }, }; export default nextConfig;

ステップ 2: Mastra の設定

Mastra インスタンスを設定します。

mastra.config.ts
import { Mastra } from "@mastra/core"; export const mastra = new Mastra({ // ... other config telemetry: { serviceName: "your-project-name", enabled: true, }, });

ステップ 3: プロバイダーの設定

Next.js を使用している場合、OpenTelemetry インストゥルメンテーションのセットアップ方法は2つあります。

オプション 1: カスタムエクスポーターの使用

すべてのプロバイダーで動作するデフォルトの方法は、カスタムエクスポーターを設定することです。

  1. 必要な依存関係をインストールします(例: Langfuse を使用)。
npm install @opentelemetry/api langfuse-vercel
  1. インストゥルメンテーションファイルを作成します。
instrumentation.ts
import { NodeSDK, ATTR_SERVICE_NAME, Resource, } from "@mastra/core/telemetry/otel-vendor"; import { LangfuseExporter } from "langfuse-vercel"; export function register() { const exporter = new LangfuseExporter({ // ... Langfuse config }); const sdk = new NodeSDK({ resource: new Resource({ [ATTR_SERVICE_NAME]: "ai", }), traceExporter: exporter, }); sdk.start(); }

オプション 2: Vercel の Otel セットアップの使用

Vercel へデプロイする場合は、Vercel の OpenTelemetry セットアップを利用できます。

  1. 必要な依存関係をインストールします。
npm install @opentelemetry/api @vercel/otel
  1. プロジェクトのルート(または src フォルダ)にインストゥルメンテーションファイルを作成します。
instrumentation.ts
import { registerOTel } from "@vercel/otel"; export function register() { registerOTel({ serviceName: "your-project-name" }); }

まとめ

このセットアップにより、Next.js アプリケーションおよび Mastra の操作で OpenTelemetry トレーシングが有効になります。

詳細については、以下のドキュメントをご覧ください。