Sentry — यह क्या है, सिद्धांत और त्रुटि संग्रह

लेखक: IT Sectr प्रकाशित: 2026-05-29 पढ़ने का समय: 8 मिनट

Sentry एक रियल-टाइम त्रुटि ट्रैकिंग और एप्लिकेशन प्रदर्शन निगरानी प्लेटफ़ॉर्म है जो डेवलपर्स को प्रत्येक क्रैश का पूर्ण संदर्भ प्रदान करता है। Sentry Documentation, 2025 के अनुसार, Sentry प्रतिदिन 10 बिलियन से अधिक इवेंट प्रोसेस करता है, जो iOS, Android, वेब और बैकएंड के लिए 90+ भाषाओं और फ्रेमवर्क के साथ एकीकरण प्रदान करता है।

मुख्य बिंदु

  • Sentry एक ओपन-सोर्स त्रुटि ट्रैकिंग और प्रदर्शन निगरानी प्लेटफ़ॉर्म है जो 90+ भाषाओं और प्लेटफ़ॉर्म का समर्थन करता है।
  • Error events — पूर्ण स्टैक ट्रेस, वेरिएबल मान और डिवाइस स्थिति के साथ स्वचालित अपवाद संग्रह।
  • Breadcrumbs — त्रुटि से पहले उपयोगकर्ता क्रियाओं और सिस्टम इवेंट का अनुक्रम।
  • Source maps — प्रोडक्शन में पठनीय कॉल स्टैक को पुनर्स्थापित करने के लिए मिनिफ़ाइड कोड का डिऑफ़स्केशन।
  • Performance Tracing — सभी सेवाओं में distributed tracing के साथ लेन-देन निष्पादन समय की निगरानी।

डेवलपमेंट में Sentry क्या है

Sentry एक ओपन-सोर्स क्रैश रिपोर्टिंग और प्रदर्शन निगरानी प्लेटफ़ॉर्म है, जिसकी स्थापना 2012 में हुई थी। यह डेवलपर्स को पूर्ण नैदानिक संदर्भ के साथ रियल-टाइम में त्रुटि सूचनाएं प्राप्त करने की अनुमति देता है: कॉल स्टैक, क्रैश के समय वेरिएबल मान, त्रुटि से पहले उपयोगकर्ता क्रियाओं का अनुक्रम और पर्यावरण स्थिति।

एकत्रित क्रैश रिपोर्टिंग सेवाओं (Google Play Console, App Store Connect) के विपरीत, जो केवल आँकड़े और बुनियादी ग्राफ़ प्रदान करती हैं, Sentry प्रत्येक इवेंट को अलग-अलग त्रुटि प्रकार के अनुसार समूहित करने और ऐप संस्करण के अनुसार फ़िल्टर करने की क्षमता के साथ दिखाता है। Sentry में Issue समान स्टैक ट्रेस वाले इवेंट का एक समूह है, जो आपको हजारों समान क्रैश में डूबने नहीं देता बल्कि पूर्ण संदर्भ के साथ मूल कारण को ठीक करने पर ध्यान केंद्रित करने देता है।

Sentry (2025) के अनुसार, Sentry SDK लागू करने के बाद औसत त्रुटि पहचान समय 30 मिनट से घटकर 30 सेकंड हो जाता है, और स्वचालित breadcrumbs और पर्यावरण संदर्भ के कारण निदान समय में 60% की कमी आती है। यह प्लेटफ़ॉर्म दुनिया भर में 100,000 से अधिक संगठनों द्वारा उपयोग किया जाता है, जिसमें Airbnb, Microsoft, Instagram और PayPal शामिल हैं, और प्रतिदिन अरबों इवेंट प्रोसेस करता है।

Sentry आर्किटेक्चर: SDK, Relay और इवेंट प्रोसेसिंग

Sentry सिस्टम तीन मुख्य घटकों से बना है: एप्लिकेशन पक्ष पर SDK, Relay (प्रॉक्सी सर्वर) और इवेंट प्रोसेसिंग बैकएंड। Sentry SDK एक लाइब्रेरी है जो एप्लिकेशन में एम्बेड की जाती है, जो अपवादों को इंटरसेप्ट करती है, संदर्भ एकत्र करती है और JSON/HTTPS प्रोटोकॉल के माध्यम से Relay को इवेंट भेजती है।

Sentry Relay

Relay एक मध्यवर्ती सर्वर है जिसे कंपनी के बुनियादी ढाँचे में तैनात किया जा सकता है। यह SDK से इवेंट प्राप्त करता है, नियमों (PII डेटा, अनावश्यक इवेंट) के अनुसार फ़िल्टर करता है, बफ़र करता है और Sentry SaaS या स्व-होस्टेड इंस्टेंस को अग्रेषित करता है। Relay कम विलंबता सुनिश्चित करता है — सामान्य इवेंट प्राप्ति समय 500–1500 मिलीसेकंड है।

इनबाउंड डेटा फ़िल्टर

Sentry सर्वर पर भेजने से पहले अवांछित इवेंट को त्यागने के लिए अंतर्निहित फ़िल्टर प्रदान करता है: परीक्षण वातावरण से त्रुटियाँ, पुराने ऐप संस्करणों से त्रुटियाँ, समान फ़िंगरप्रिंट वाले डुप्लिकेट इवेंट। Filtering एक सामान्य प्रोडक्शन प्रोजेक्ट में 70% तक डेटा वॉल्यूम बचाता है, जिससे खपत लागत और डिवाइस संचार चैनल लोड कम होता है।

iOS और Android के लिए Sentry SDK सेटअप

मोबाइल प्लेटफ़ॉर्म के लिए Sentry SDK स्थापित करने में 5–10 मिनट लगते हैं और इसमें DSN कुंजी के साथ निर्भरता जोड़ना और आरंभीकरण शामिल है। DSN (Data Source Name) Sentry में प्रोजेक्ट का एक अद्वितीय पहचानकर्ता है जो बताता है कि इवेंट कहाँ भेजना है।

Android पर सेटअप

Android के लिए, Sentry Gradle प्लगइन के माध्यम से स्वचालित इंस्ट्रूमेंटेशन प्रदान करता है। प्लगइन संकलन चरण में बाइटकोड को संशोधित करता है, सभी Activity, Fragment और नेटवर्क कॉल के लिए रैपर जोड़ता है। Auto-instrumentation build.gradle में एक विकल्प से सक्षम होती है और कोड बदले बिना एप्लिकेशन जीवनचक्र से breadcrumbs प्राप्त करने की अनुमति देती है।

kotlin
import io.sentry.Sentry

class App : Application() {
    override fun onCreate() {
        super.onCreate()
        Sentry.init { options ->
            options.dsn = "https://example@sentry.io/project"
            options.tracesSampleRate = 0.2
            options.enableAutoSessionTracking = true
        }
    }
}

कोड Android एप्लिकेशन में Sentry SDK को आरंभ करता है। पैरामीटर tracesSampleRate = 0.2 20% सत्रों के लिए प्रदर्शन ट्रेसिंग सक्षम करता है, enableAutoSessionTracking प्रत्येक ऐप लॉन्च के लिए स्वचालित रूप से सत्र बनाता है।

iOS पर सेटअप

iOS के लिए SDK CocoaPods, Swift Package Manager और Carthage का समर्थन करता है। स्थापना के बाद, SDK स्वचालित रूप से NSException, सिग्नल (SIGABRT, SIGSEGV) और Swift त्रुटियों को इंटरसेप्ट करता है। Sentry Cocoa SDK iOS 12+ और macOS 10.13+ के साथ संगत है, Swift Concurrency (async/await) और URLSession की स्वचालित इंस्ट्रूमेंटेशन का समर्थन करता है।

swift
import Sentry

class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions options: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        SentrySDK.start { options in
            options.dsn = "https://example@sentry.io/project"
            options.enableAutoPerformanceTracing = true
        }
        return true
    }
}

Swift कोड स्वचालित प्रदर्शन मीट्रिक संग्रह के साथ Sentry SDK को सक्रिय करता है। enableAutoPerformanceTracing बिना अतिरिक्त कोड के स्क्रीन लोड समय और HTTP अनुरोधों की निगरानी सक्षम करता है।

Breadcrumbs त्रुटि से पहले की घटनाओं का एक कालानुक्रमिक अनुक्रम है। Sentry स्वचालित रूप से बटन दबाने, स्क्रीन के बीच संक्रमण, HTTP अनुरोध और सिस्टम सूचनाओं के लिए breadcrumbs रिकॉर्ड करता है। डेवलपर व्यावसायिक तर्क के लिए कस्टम breadcrumbs जोड़ सकता है।

प्रत्येक breadcrumb में एक टाइमस्टैम्प, इवेंट प्रकार (navigation, http, ui, error), श्रेणी और मनमाना डेटा होता है। जब कोई त्रुटि होती है, तो पिछले 2–5 मिनट (कॉन्फ़िगर करने योग्य) के सभी breadcrumbs इवेंट से जुड़ जाते हैं। यह संदर्भ अक्सर स्टैक ट्रेस से अधिक महत्वपूर्ण होता है: डेवलपर देखता है कि उपयोगकर्ता ने उत्पाद चुनने के बाद “भुगतान करें” पर क्लिक किया, और उसके बाद ही क्रैश हुआ। डिफ़ॉल्ट रूप से अधिकतम breadcrumbs की संख्या 200 है, जिसके बाद सबसे पुराने रिकॉर्ड स्वचालित रूप से हटा दिए जाते हैं।

kotlin
Sentry.addBreadcrumb(
    Breadcrumb().apply {
        category = "payment"
        message = "User tapped Pay button"
        type = "user"
        level = BreadcrumbLevel.INFO
        data["amount"] = "19.99"
        data["currency"] = "USD"
    }
)

कोड भुगतान परिदृश्य में उपयोगकर्ता क्रिया के लिए एक कस्टम breadcrumb जोड़ता है। यदि इस क्रिया के बाद कोई त्रुटि होती है, तो डेवलपर Sentry में देखेगा कि उपयोगकर्ता ने 19.99 USD की राशि के साथ “भुगतान करें” पर क्लिक किया, जिससे भुगतान प्रवाह में समस्या का तुरंत पता लगाया जा सकता है।

उपयोगकर्ता संदर्भ

Sentry इवेंट में उपयोगकर्ता जानकारी संलग्न करने की अनुमति देता है: ID, उपयोगकर्ता नाम, ईमेल। User context एक ही सत्र से सभी इवेंट के साथ स्वचालित रूप से भेजा जाता है, जिससे त्रुटियों को उपयोगकर्ताओं के अनुसार समूहित किया जा सकता है और यह निर्धारित किया जा सकता है कि किसी विशिष्ट बग से कितने उपयोगकर्ता प्रभावित हुए। गोपनीयता नीति का पालन करना और व्यक्तिगत डेटा न भेजना महत्वपूर्ण है यदि एप्लिकेशन की नीति इसकी अनुमति नहीं देती है।

Source maps और डीबग प्रतीक

iOS और Android की प्रोडक्शन बिल्ड में, कोड आमतौर पर मिनिफ़ाइड या ऑफ़स्केटेड होता है। प्रसंस्करण के बिना, त्रुटि स्टैक में “UserViewModel.fetchData()” के बजाय “a.b()” जैसे समझ से बाहर के नाम होंगे। Source maps (JavaScript) और debug symbols (iOS के लिए dSYM, Android के लिए ProGuard mapping) पठनीय स्टैक को पुनर्स्थापित करते हैं।

Android के लिए, Sentry रिलीज़ बिल्ड के दौरान Gradle प्लगइन के माध्यम से स्वचालित रूप से ProGuard mapping फ़ाइलें अपलोड करता है। iOS के लिए dSYM फ़ाइलें अपलोड करने की आवश्यकता होती है — Sentry आर्काइविंग के दौरान स्वचालित अपलोड के लिए एक स्क्रिप्ट प्रदान करता है। डीबग प्रतीकों के बिना, Sentry में त्रुटि स्टैक डेवलपर के लिए बेकार होगा, इसलिए उन्हें अपलोड करने की प्रक्रिया CI/CD पाइपलाइन का एक अनिवार्य चरण होना चाहिए।

Sentry के माध्यम से प्रदर्शन निगरानी

संस्करण 2020 से, Sentry में प्रदर्शन निगरानी शामिल है — distributed tracing के साथ लेन-देन निष्पादन समय मीट्रिक का संग्रह। Sentry में Transaction कार्य की एक मापनीय इकाई है: स्क्रीन लोड, API अनुरोध निष्पादन, पृष्ठभूमि कार्य प्रसंस्करण। प्रत्येक लेन-देन में चाइल्ड स्पैन होते हैं जो दिखाते हैं कि किन विशिष्ट चरणों में सबसे अधिक समय लगा।

Sentry में प्रदर्शन निगरानी त्रुटि ट्रैकिंग के साथ एकीकृत है: यदि कोई लेन-देन त्रुटि के साथ समाप्त होता है, तो संबंधित स्पैन को “error” स्थिति से चिह्नित किया जाता है, और डेवलपर प्रदर्शन मीट्रिक से अपवाद विवरण पर जा सकता है। Trace ID सभी इवेंट (त्रुटियाँ, लेन-देन, breadcrumbs) को एकल सत्र में अंत-से-अंत विश्लेषण के लिए जोड़ता है, जो एकल Sentry डैशबोर्ड में Issues और Performance टैब के बीच सहज संक्रमण प्रदान करता है।

Sentry Performance Benchmark (2024) के अनुसार, प्रदर्शन निगरानी सक्षम (10% नमूना दर) वाला एप्लिकेशन डिवाइस पर 2–5% अधिक ट्रैफ़िक और 1–2% अधिक CPU संसाधनों की खपत करता है। यह ओवरहेड मैन्युअल प्रोफ़ाइलिंग की तुलना में प्रदर्शन निदान समय में 70% की कमी से संतुलित होता है।

अक्सर पूछे जाने वाले प्रश्न

Sentry Firebase Crashlytics से कैसे अलग है?

Sentry अधिक संदर्भ प्रदान करता है: breadcrumbs, कस्टम डेटा, प्रदर्शन के साथ त्रुटियों का लिंक। Firebase Crashlytics बुनियादी क्रैश रिपोर्टिंग वाला एक मुफ़्त टूल है लेकिन distributed tracing और कस्टम breadcrumb इंस्ट्रूमेंटेशन की क्षमता के बिना। Sentry उन परियोजनाओं के लिए उपयुक्त है जिन्हें गहन निदान की आवश्यकता है।

मोबाइल एप्लिकेशन के लिए Sentry की लागत कितनी है?

Sentry 5,000 इवेंट प्रति माह (त्रुटियाँ + लेन-देन) के साथ एक मुफ़्त योजना प्रदान करता है। सशुल्क Team योजना की लागत $26 प्रति उपयोगकर्ता प्रति माह है और इसमें 100,000 इवेंट शामिल हैं। बड़ी परियोजनाओं के लिए, असीमित वॉल्यूम और कस्टम मूल्य वाली Business योजना उपलब्ध है।

Sentry त्रुटियों में व्यक्तिगत डेटा को कैसे संभालता है?

Sentry एक अंतर्निहित Data Scrubbing तंत्र प्रदान करता है: संग्रहीत करने से पहले इवेंट से ईमेल, IP पते, क्रेडिट कार्ड और अन्य PII डेटा को स्वचालित रूप से हटाना। स्क्रबिंग नियम वेब इंटरफ़ेस या Relay कॉन्फ़िगरेशन में regex समर्थन के साथ कॉन्फ़िगर किए जाते हैं। SDK स्तर पर स्क्रबिंग सक्षम करने की अनुशंसा की जाती है ताकि गोपनीय डेटा उपयोगकर्ता के डिवाइस को न छोड़े।

क्या Sentry को अपने सर्वर पर चलाया जा सकता है?

हाँ, Sentry का पूरी तरह से ओपन-सोर्स स्व-होस्टेड संस्करण है। Self-hosted Sentry Docker Compose के माध्यम से तैनात किया जाता है और इसमें SaaS संस्करण की सभी सुविधाएँ शामिल हैं। न्यूनतम सर्वर कॉन्फ़िगरेशन आवश्यक: 4 vCPU, 16 GB RAM, इवेंट भंडारण के लिए 100 GB डिस्क स्थान।

क्या Sentry SwiftUI और Jetpack Compose का समर्थन करता है?

हाँ, Sentry SDK पूरी तरह से SwiftUI (iOS 13+) और Jetpack Compose (Android) का समर्थन करता है। SwiftUI के लिए, SDK स्वचालित रूप से रेंडर समय माप के साथ NavigationView और List के लिए लेन-देन बनाता है। Jetpack Compose के लिए, Composables में Sentry संदर्भ पास करने के लिए CompositionLocalProvider के माध्यम से कस्टम एकीकरण की आवश्यकता है।

सारांश

  • Sentry एक ओपन-सोर्स त्रुटि ट्रैकिंग और प्रदर्शन निगरानी प्लेटफ़ॉर्म है जिसका उपयोग 100,000 से अधिक संगठनों द्वारा किया जाता है।
  • आर्किटेक्चर में डिवाइस SDK, Relay प्रॉक्सी और स्व-होस्टेड और SaaS तैनाती के समर्थन के साथ इवेंट प्रोसेसिंग बैकएंड शामिल है।
  • Breadcrumbs त्रुटि से पहले उपयोगकर्ता क्रियाओं की एक कालानुक्रमिकी प्रदान करते हैं, जो जटिल बग के निदान के लिए अत्यंत महत्वपूर्ण है।
  • Source maps और dSYM ऑफ़स्केटेड प्रोडक्शन कोड से पठनीय कॉल स्टैक पुनर्स्थापित करते हैं।
  • Performance Tracing त्रुटि ट्रैकिंग के साथ एकीकृत है, जो एकल trace ID के माध्यम से समय मीट्रिक से त्रुटि विवरण पर जाने की अनुमति देता है।
  • Auto-instrumentation बिना मैन्युअल कोड के Activity, ViewController, HTTP अनुरोध और एप्लिकेशन जीवनचक्र को कवर करता है।
  • किसी भी प्रोडक्शन एप्लिकेशन के लिए Sentry लागू करने की अनुशंसा की जाती है: मुफ़्त योजना प्रति माह 5,000 इवेंट को कवर करती है, जो छोटी और मध्यम परियोजनाओं के लिए पर्याप्त है।

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें