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.