Skip to content

Sentry

Opsiyonel hata izleme katmanı. Kaynak: backend/src/instrument.ts.

Yükleme sırası

backend/src/server.ts içindeki ilk import ./instrument'tır. Sentry'nin otomatik enstrümantasyonu (http, express, mongodb) ilgili modüller yüklenmeden önce devreye girmek zorundadır; sıra bozulursa izleme sessizce eksik çalışır.

instrument.ts içindeki ilk import ise dotenv/config'tir. Bu modül uygulamanın en erken noktasıdır ve .env yükleyen diğer modüller henüz çalışmamıştır; bu satır olmasaydı process.env.SENTRY_DSN boş görünür ve Sentry.init hiç çağrılmazdı. Dotenv mevcut değişkenleri ezmez.

Yapılandırma

Değişken Davranış
SENTRY_DSN Tanımsız/boşsa Sentry.init çağrılmaz; uygulama aynen çalışır
SENTRY_ENVIRONMENT Yoksa NODE_ENV, o da yoksa development
SENTRY_TRACES_SAMPLE_RATE Varsayılan 0.2; geçersiz değer sessizce varsayılana düşer, sonuç 0–1 arasına kırpılır

Başlatma hiçbir durumda hata fırlatmaz; hatalı yapılandırma servisi düşürmez. Gerçek DSN değeri kaynak koda gömülmez.

Gizlilik

sendDefaultPii: false. IP, çerez, Authorization başlığı ve istek gövdesi Sentry'ye gönderilmez; bunları yakalayan ek bir kod da yazılmamıştır. initialScope.tags.service değeri iqv-api-middleware-backend'dir.

Express entegrasyonu

Sentry.setupExpressErrorHandler(app) tüm router mount'larından sonra, mevcut IQV hata middleware'inden önce bağlanır. Yalnızca raporlar; yanıtı üretmez ve hatayı next'e aynen devreder, bu yüzden errorHandler'ın ürettiği gövde ve durum kodu değişmez.

Bir /debug-sentry test ucu bilerek eklenmemiştir.