mirror of
https://github.com/nethunterzist/trendyol-analiz
synced 2026-08-29 21:38:00 +00:00
feat(sentry): CiroMarket backend'ine hata izleme eklendi
All checks were successful
ciromarket-backend-build-and-deploy / build (push) Successful in 3m25s
All checks were successful
ciromarket-backend-build-and-deploy / build (push) Successful in 3m25s
Ne yaptik:
- requirements.txt'e sentry-sdk[fastapi]==2.66.1 eklendi.
- main.py'de FastAPI uygulamasi olusturulmadan once sentry_sdk.init() cagriliyor.
- DSN os.getenv("SENTRY_DSN", "") ile okunuyor, ortam degiskeni yoksa bos string.
- send_default_pii=False, traces_sample_rate=0.0.
Neden yaptik:
- CiroMarket hicbir hata izleme sistemine bagli degildi. Backend cokerse ya da
bir endpoint 500 donerse bunu ancak kullanici sikayet edince ogreniyorduk.
SellerX'in kendi backend'i ve frontend'i Sentry'ye bagliydi, CiroMarket kor
nokta olarak kalmisti.
- DSN bos oldugunda sentry_sdk hicbir sey gondermez, yani local calistirmada ve
DSN set edilmemis ortamlarda tamamen no-op. Bu davranis SellerX backend'iyle
ayni (application.yaml: dsn ${SENTRY_DSN_BACKEND:}).
- send_default_pii bilerek kapali: istek header'lari, cerezler ve IP adresi
gonderilmiyor. CiroMarket satici verisi isliyor, KVKK acisindan varsayilan
olarak acmak dogru degil. Sentry org'unda ayrica data scrubber ve IP
maskeleme acik.
- traces_sample_rate=0.0 cunku su an sadece hata izleme istiyoruz; tracing
ucretsiz kotayi hizla tuketiyor. Ihtiyac olursa sonra acilir.
- Sentry projesi: cironet org'unda ciromarket-api (EU region, sadece Error
Monitoring urunu acik). SENTRY_DSN K8s'te ciromarket-backend-secrets
secret'ina eklendi.
This commit is contained in:
@@ -274,6 +274,31 @@ def get_country_from_barcode(barcode: str) -> str:
|
||||
prefix = barcode[:3]
|
||||
return BARCODE_PREFIX_TO_COUNTRY.get(prefix, "Bilinmeyen")
|
||||
|
||||
# ============================================================================
|
||||
# SENTRY — hata izleme
|
||||
# ----------------------------------------------------------------------------
|
||||
# DSN bos ise sentry_sdk hicbir sey gondermez, yani local calistirmada ve
|
||||
# DSN set edilmemis ortamlarda tamamen no-op olur. Bu, SellerX backend'indeki
|
||||
# davranisla ayni (application.yaml: dsn ${SENTRY_DSN_BACKEND:}).
|
||||
#
|
||||
# send_default_pii bilerek False: istek header'lari, cerezler ve IP adresi
|
||||
# Sentry'ye gitmez. CiroMarket satici verisi isliyor, KVKK acisindan varsayilan
|
||||
# olarak acmak dogru degil.
|
||||
#
|
||||
# FastAPI entegrasyonu sentry-sdk tarafindan otomatik algilanir (fastapi paketi
|
||||
# yuklu oldugu icin), ayrica bir sey yapmaya gerek yok. Init, uygulama
|
||||
# olusturulmadan ONCE cagrilmali.
|
||||
# ============================================================================
|
||||
import sentry_sdk
|
||||
|
||||
sentry_sdk.init(
|
||||
dsn=os.getenv("SENTRY_DSN", ""),
|
||||
environment=os.getenv("SENTRY_ENVIRONMENT", "production"),
|
||||
send_default_pii=False,
|
||||
# Sadece hata izleme. Tracing kotayi hizla yiyor, ihtiyac olursa acilir.
|
||||
traces_sample_rate=0.0,
|
||||
)
|
||||
|
||||
app = FastAPI(
|
||||
title="Trendyol Admin API",
|
||||
version="1.0.0",
|
||||
|
||||
@@ -6,3 +6,4 @@ psycopg2-binary>=2.9.9
|
||||
requests==2.31.0
|
||||
python-multipart==0.0.6
|
||||
pytrends==4.9.2
|
||||
sentry-sdk[fastapi]==2.66.1
|
||||
|
||||
Reference in New Issue
Block a user