Next.js İzlerini OpenTelemetry ile Dışa Aktarma Rehberi
Next.js, gelen istekleri ve sunucu taraflı render'ı otomatik izler. @vercel/otel ile bu izleri Sentry veya bir OTLP hedefine nasıl aktaracağınızı öğrenin.
Next.js, gelen istekler, fetch çağrıları, middleware ve sunucu taraflı render işlemleri için OpenTelemetry uyumlu span'lar üretir; ancak bir exporter tanımlanmadan bu izler hiçbir yere gönderilmez. Vercel'in @vercel/otel kütüphanesi, instrumentation.ts dosyasına birkaç satır kod ekleyerek Node ve Edge runtime farklarını otomatik yöneten bir OpenTelemetry SDK kurulumu sağlıyor ve iki ortam değişkeniyle Sentry'nin doğrudan OTLP uç noktasına veri gönderilebiliyor.
Otomatik span'lar genel amaçlı olduğundan gerçek değer, fatura oluşturma, kart tahsilatı veya AI model çağrısı gibi kritik iş operasyonlarına özel span'lar eklemekten geçiyor. Nokta gösterimiyle isimlendirme (invoice.generate-pdf gibi) ve plan seviyesi, öğe sayısı gibi düşük kardinaliteli özellikler eklemek, üretimde performans sorunlarını gruplayıp filtrelemeyi kolaylaştırıyor. Ancak özel span'lar yalnızca Node runtime'da desteklendiği için Edge tarafında @sentry/nextjs SDK'sı gerekiyor.
Makale ayrıca @vercel/otel üzerinden doğrudan OTLP ile Sentry SDK'sını karşılaştırıyor: OTLP yaklaşımı minimal kod değişikliğiyle sunucu taraflı izleme sağlarken, tarayıcı izleme, hata takibi, session replay ve loglar gibi özellikler yalnızca tam SDK entegrasyonuyla mümkün. Yeni başlayan ekipler için yazar, özellikle Next.js projelerinde Sentry SDK'sını tercih etmeyi öneriyor.