परफ़ॉर्मेंस से जुड़ी समस्याओं के लिए अलर्ट सेट अप करना

अगर कोड में बदलाव या नेटवर्क अनुरोधों की वजह से आपके ऐप्लिकेशन की परफ़ॉर्मेंस खराब हो रही है, तो प्रोजेक्ट के सदस्यों को सूचना देने के लिए, Performance Monitoring सूचनाओं का इस्तेमाल करें.

अपने ऐप्लिकेशन के लिए सूचनाएं सेट अप और कस्टमाइज़ की जा सकती हैं. इनसे आपको तब सूचना मिलती है, जब किसी इवेंट की परफ़ॉर्मेंस, सेट किए गए थ्रेशोल्ड से ज़्यादा हो जाती है.

चेतावनी कब भेजी जाती है?

आपके ऐप्लिकेशन की कोई मेट्रिक, Firebase कंसोल में तय किए गए किसी पर्सेंटाइल के लिए तय किए गए थ्रेशोल्ड को पार करने पर, सूचना ट्रिगर होती है. सूचनाएं सिर्फ़ तब ट्रिगर होती हैं, जब आपका ऐप्लिकेशन रीयल-टाइम में काम करने वाले एसडीके टूल के वर्शन का इस्तेमाल करता हो.

ऐप्लिकेशन के शुरू होने में लगने वाला समय

ऐप्लिकेशन के शुरू होने के समय के लिए सूचना कॉन्फ़िगर करने पर, सूचना तब ट्रिगर होती है, जब ये सभी शर्तें पूरी होती हैं:

  • Firebase ने पिछले एक घंटे में, आपके ऐप्लिकेशन के नए वर्शन के लिए _app_start ट्रेस के कम से कम 100 सैंपल रिकॉर्ड किए हैं.
  • पिछले एक घंटे में और कॉन्फ़िगर किए गए पर्सेंटाइल के लिए, _app_start ट्रेस की अवधि, ऐप्लिकेशन के तय किए गए थ्रेशोल्ड से ज़्यादा हो गई.
  • आपके ऐप्लिकेशन के नए वर्शन में, इसी थ्रेशोल्ड के लिए पहले कोई सूचना नहीं दी गई थी.

कस्टम कोड ट्रेस

कस्टम कोड ट्रेस मेट्रिक के लिए सूचना कॉन्फ़िगर करने पर, सूचना तब ट्रिगर होती है, जब ये सभी शर्तें पूरी होती हैं:

  • Firebase ने पिछले एक घंटे में, आपके ऐप्लिकेशन के नए वर्शन के लिए कस्टम कोड ट्रेस के कम से कम 100 सैंपल रिकॉर्ड किए हैं.
  • पिछले एक घंटे में, ऐप्लिकेशन के लिए तय की गई थ्रेशोल्ड वैल्यू से ज़्यादा समय तक ट्रेस किया गया. साथ ही, कॉन्फ़िगर किए गए पर्सेंटाइल के लिए भी ऐसा हुआ.
  • (सिर्फ़ iOS+ और Android के लिए) आपके ऐप्लिकेशन के नए वर्शन में, उसी थ्रेशोल्ड के लिए पहले कोई सूचना नहीं दी गई थी.
  • (सिर्फ़ वेब के लिए) पिछले तीन दिनों में, इसी थ्रेशोल्ड के लिए पहले कोई सूचना नहीं दी गई थी.

नेटवर्क अनुरोध

नेटवर्क अनुरोध मेट्रिक के लिए सूचना कॉन्फ़िगर करने पर, सूचना तब ट्रिगर होती है, जब ये सभी शर्तें पूरी होती हैं:

  • Firebase ने पिछले एक घंटे में, आपके ऐप्लिकेशन के सभी वर्शन में यूआरएल पैटर्न से मेल खाने वाले कम से कम 100 सैंपल रिकॉर्ड किए हैं.
  • मेट्रिक की एग्रीगेट की गई वैल्यू, पिछले एक घंटे में तय की गई सीमा से ज़्यादा हो गई है:
    • response time: एग्रीगेट की गई वैल्यू, कॉन्फ़िगर किए गए पर्सेंटाइल के लिए सेट थ्रेशोल्ड से ज़्यादा है
    • सफलता दर: (सिर्फ़ iOS+/Android के लिए) एग्रीगेट की गई वैल्यू, सभी उपयोगकर्ताओं के लिए सेट किए गए थ्रेशोल्ड से कम हो गई
  • पिछले तीन दिनों में, इसी थ्रेशोल्ड के लिए कोई सूचना नहीं दी गई थी.

स्क्रीन रेंडरिंग

स्क्रीन रेंडरिंग मेट्रिक के लिए सूचना कॉन्फ़िगर करने पर, सूचना तब ट्रिगर होती है, जब ये सभी शर्तें पूरी होती हैं:

  • Firebase ने पिछले एक घंटे में, आपके ऐप्लिकेशन के नए वर्शन के लिए स्क्रीन रेंडरिंग के कम से कम 100 सैंपल रिकॉर्ड किए हैं.
  • पिछले एक घंटे में, मेट्रिक की एग्रीगेट की गई वैल्यू, तय किए गए थ्रेशोल्ड से ज़्यादा हो गई है:
    • रुके हुए फ़्रेम: एग्रीगेट की गई वैल्यू, सेट किए गए थ्रेशोल्ड से ज़्यादा है
    • रेंडर होने में ज़्यादा समय लेने वाले फ़्रेम: एग्रीगेट की गई वैल्यू, सेट किए गए थ्रेशोल्ड से ज़्यादा है
  • आपके ऐप्लिकेशन के नए वर्शन में, इसी थ्रेशोल्ड के लिए पहले कोई सूचना नहीं दी गई थी.

पेज लोड

पेज लोड होने की मेट्रिक के लिए सूचना कॉन्फ़िगर करने पर, सूचना तब ट्रिगर होती है, जब ये सभी शर्तें पूरी होती हैं:

  • Firebase ने पिछले एक घंटे में, आपके ऐप्लिकेशन के लिए पेज लोड होने के कम से कम 100 सैंपल रिकॉर्ड किए हैं.
  • पिछले एक घंटे में, मेट्रिक की एग्रीगेट की गई वैल्यू, तय किए गए थ्रेशोल्ड से ज़्यादा हो गई है. साथ ही, कॉन्फ़िगर किए गए पर्सेंटाइल के लिए भी ऐसा हुआ है:
    • फ़र्स्ट इनपुट डिले: एग्रीगेट की गई वैल्यू, सेट की गई थ्रेशोल्ड वैल्यू और कॉन्फ़िगर किए गए पर्सेंटाइल से ज़्यादा है
    • फ़र्स्ट कॉन्टेंटफ़ुल पेंट: एग्रीगेट की गई वैल्यू, सेट किए गए थ्रेशोल्ड और कॉन्फ़िगर किए गए पर्सेंटाइल से ज़्यादा है
    • फ़र्स्ट पेंट: एग्रीगेट की गई वैल्यू, सेट की गई थ्रेशोल्ड वैल्यू और कॉन्फ़िगर किए गए पर्सेंटाइल से ज़्यादा है
  • पिछले तीन दिनों में, इसी थ्रेशोल्ड के लिए कोई सूचना नहीं दी गई थी.

सूचनाएं कॉन्फ़िगर करने, डिफ़ॉल्ट पर्सेंटाइल, और खास तरह के ट्रेस और मेट्रिक के लिए सूचनाएं सेट अप करने के सबसे सही तरीकों के बारे में ज़्यादा जानें.

परफ़ॉर्मेंस की अन्य मेट्रिक या Slack, Jira, और PagerDuty के साथ Firebase के बिल्ट-इन इंटिग्रेशन के लिए चेतावनियां, Performance Monitoring चेतावनियों के लिए उपलब्ध नहीं हैं.

सूचनाएं पाना

डिफ़ॉल्ट रूप से सेट की गई सूचनाएं पाना

डिफ़ॉल्ट रूप से, Firebase ईमेल के ज़रिए Performance Monitoring सूचनाएं भेज सकता है.

डिफ़ॉल्ट तरीके से Performance Monitoring की चेतावनियां पाने के लिए, आपके पास firebaseperformance.config.update की अनुमति होनी चाहिए. इन भूमिकाओं में, यह ज़रूरी अनुमति डिफ़ॉल्ट रूप से शामिल होती है:

चेतावनी और उसकी सेटिंग, पूरे प्रोजेक्ट के लिए होती हैं. इसका मतलब है कि परफ़ॉर्मेंस से जुड़ी सूचना ट्रिगर होने पर, प्रोजेक्ट के हर सदस्य को डिफ़ॉल्ट रूप से एक ईमेल मिलेगा. सूचनाएं सिर्फ़ उन प्रोजेक्ट सदस्यों को भेजी जाती हैं जिनके पास सूचनाएं पाने की ज़रूरी अनुमतियां हैं. साथ ही, ये सूचनाएं सिर्फ़ अलग-अलग ईमेल पतों पर भेजी जाती हैं. इन्हें Google ग्रुप या Google Workspace खातों जैसे ग्रुप किए गए खातों पर नहीं भेजा जाता.

अपने खाते के लिए सूचनाएं पाने की सुविधा चालू/बंद करना

अपने खाते के लिए, Performance Monitoring से जुड़ी सूचनाएं चालू/बंद की जा सकती हैं. इससे प्रोजेक्ट के अन्य सदस्यों पर कोई असर नहीं पड़ेगा. ध्यान दें कि सूचनाएं पाने के लिए, आपके पास ज़रूरी अनुमतियां होनी चाहिए.

Performance Monitoring से जुड़ी सूचनाएं चालू या बंद करने के लिए, यह तरीका अपनाएं:

  1. Firebase कंसोल में, सबसे ऊपर दाएं कोने में, Firebase सूचनाएं पर जाएं.
  2. इसके बाद, सेटिंग पर जाएं और Performance Monitoring सूचनाओं के लिए, खाते की प्राथमिकता सेट करें.

तीसरे पक्ष की सेवाओं के लिए, सूचना पाने की बेहतर सुविधा सेट अप करना

Performance Monitoring का इस्तेमाल करके, अपनी टीम के पसंदीदा सूचना चैनल पर Performance Monitoring सूचनाएं भी भेजी जा सकती हैं.Cloud Functions for Firebase उदाहरण के लिए, एक ऐसा फ़ंक्शन लिखा जा सकता है जो ऐप्लिकेशन के शुरू होने में ज़्यादा समय लगने पर सूचना देने वाले इवेंट को कैप्चर करता है. साथ ही, सूचना की जानकारी को तीसरे पक्ष की सेवा, जैसे कि Discord, Slack या Jira पर पोस्ट करता है.

Cloud Functions for Firebase का इस्तेमाल करके, सूचना पाने की बेहतर सुविधाएं सेट अप करने के लिए, यह तरीका अपनाएं:

  1. Firebase के लिए Cloud Functions सेट अप करें. इसमें ये काम शामिल हैं:

    1. Node.js या Python के लिए डेवलपमेंट एनवायरमेंट सेट अप करें.
    2. Firebase सीएलआई इंस्टॉल करें और उसमें साइन इन करें.
    3. Firebase सीएलआई का इस्तेमाल करके, Cloud Functions for Firebase को शुरू करें.
  2. एक फ़ंक्शन लिखें और उसे डिप्लॉय करें. यह फ़ंक्शन, Performance Monitoring से सूचना वाले इवेंट को कैप्चर करता है और इवेंट के पेलोड को मैनेज करता है. उदाहरण के लिए, सूचना की जानकारी को Discord पर मैसेज के तौर पर पोस्ट करता है.

परफ़ॉर्मेंस से जुड़ी सूचनाओं के सभी इवेंट के बारे में जानने के लिए, परफ़ॉर्मेंस मॉनिटरिंग की सूचनाओं के लिए रेफ़रंस दस्तावेज़ पर जाएं.

अमान्य सूचनाएं अपने-आप हट जाती हैं

Performance Monitoring सूचनाओं की पुष्टि करता है, ताकि यह पक्का किया जा सके कि डेटा मान्य है और सूचनाएं चालू हैं. सूचनाओं को तब मान्य माना जाता है, जब इनमें से कोई एक बात सही हो:

  • यह सूचना, उस संसाधन आईडी के लिए बनाई गई है जिसके लिए पिछले 90 दिनों में Performance Monitoring को डेटा मिला है.
  • कस्टम यूआरएल पैटर्न के लिए, सूचना हाल ही में बनाई गई थी. कस्टम यूआरएल पैटर्न बनाने और सूचना सेट अप करने के बाद, आपके पास उस पैटर्न के लिए 90 दिनों तक डेटा भेजने का समय होता है. अगर 90 दिनों के अंदर कोई डेटा नहीं भेजा जाता है, तो Performance Monitoring उस सूचना को हटा देता है. कस्टम यूआरएल पैटर्न के बारे में ज़्यादा जानने के लिए, कस्टम यूआरएल पैटर्न के तहत डेटा इकट्ठा करना लेख पढ़ें.

अगर इनमें से कोई भी शर्त पूरी नहीं होती है, तो Performance Monitoring सूचना को हटा देता है.

सूचना कॉन्फ़िगर करना

Performance Monitoring से जुड़ी सूचनाएं कॉन्फ़िगर करने के लिए, आपके पास firebaseperformance.config.update की अनुमति होनी चाहिए. इन भूमिकाओं के लिए, यह ज़रूरी अनुमति डिफ़ॉल्ट रूप से शामिल होती है: Firebase परफ़ॉर्मेंस एडमिन, Firebase क्वालिटी एडमिन, Firebase एडमिन, और प्रोजेक्ट का मालिक या एडिटर.

अगर आपने अब तक ऐसा नहीं किया है, तो अपने ऐप्लिकेशन में Performance Monitoring SDK टूल का नया वर्शन जोड़ें. ज़्यादा जानकारी के लिए, वेब, Android, Apple, और Flutter प्लैटफ़ॉर्म के लिए, शुरू करने से जुड़ी गाइड देखें.

अपने हर रजिस्टर किए गए ऐप्लिकेशन में, ट्रेस टेबल या डैशबोर्ड रिपोर्ट कार्ड का इस्तेमाल करके, हर उस मेट्रिक के लिए सूचना कॉन्फ़िगर करें जिसे आपको मॉनिटर करना है. हर ऐप्लिकेशन के लिए, अलग-अलग तरह की चेतावनियां सेट की जा सकती हैं. हर चेतावनी के लिए, अलग-अलग थ्रेशोल्ड सेट किया जा सकता है. इसके अलावा, किसी भी ऐप्लिकेशन के लिए कोई चेतावनी सेट न करने का विकल्प भी होता है.

ट्रेस टेबल में सूचना कॉन्फ़िगर करना

  1. Firebase कंसोल में, Performance Monitoring डैशबोर्ड टैब पर जाएं. इसके बाद, वह ऐप्लिकेशन चुनें जिसके लिए आपको सूचना कॉन्फ़िगर करनी है.

  2. नीचे की ओर स्क्रोल करके, स्क्रीन पर सबसे नीचे मौजूद ट्रेस टेबल पर जाएं.

  3. उस ट्रेस टाइप का टैब चुनें जिसके लिए आपको सूचना सेट करनी है. इसके बाद, लागू होने वाली लाइन ढूंढें.

  4. लाइन के सबसे दाईं ओर, ओवरफ़्लो मेन्यू () खोलें और सूचना की सेटिंग चुनें.

  5. ऐप्लिकेशन के लिए, सूचना पाने की सीमा और पर्सेंटाइल (अगर लागू हो) सेट करने या सूचना पाने की सुविधा चालू/बंद करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें. डिफ़ॉल्ट पर्सेंटाइल, Android और iOS के लिए 90वां और वेब के लिए 75वां होता है. डिफ़ॉल्ट पर्सेंटाइल के बारे में ज़्यादा जानने के लिए, अपने डैशबोर्ड में मुख्य मेट्रिक ट्रैक करना लेख पढ़ें.

डैशबोर्ड रिपोर्ट कार्ड में सूचना कॉन्फ़िगर करना

  1. Firebase कंसोल में, Performance Monitoring डैशबोर्ड टैब पर जाएं. इसके बाद, वह ऐप्लिकेशन चुनें जिसके लिए आपको सूचना कॉन्फ़िगर करनी है.

  2. 'रिपोर्ट कार्ड' टैब में, उस मेट्रिक कार्ड को ढूंढें जिसके लिए आपको सूचना कॉन्फ़िगर करनी है.

  3. जिस मेट्रिक कार्ड के लिए सूचना की सेटिंग बदलनी है उसमें जाकर, ओवरफ़्लो मेन्यू () खोलें और सूचना की सेटिंग चुनें.

  4. ऐप्लिकेशन के लिए, सूचना पाने की सीमा और पर्सेंटाइल (अगर लागू हो) सेट करने या सूचना पाने की सुविधा चालू/बंद करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें. डिफ़ॉल्ट पर्सेंटाइल, Android और iOS के लिए 90वां और वेब के लिए 75वां होता है. डिफ़ॉल्ट पर्सेंटाइल के बारे में ज़्यादा जानने के लिए, अपने डैशबोर्ड में मुख्य मेट्रिक ट्रैक करना लेख पढ़ें.

परफ़ॉर्मेंस से जुड़ी सूचना सेट करने के सबसे सही तरीके

नेटवर्क से जुड़े अनुरोध

Firebase, एक जैसे नेटवर्क अनुरोधों से मिले डेटा को यूआरएल पैटर्न के हिसाब से इकट्ठा करता है. ये पैटर्न इनमें से कोई एक हो सकता है:

कस्टम यूआरएल पैटर्न के लिए सूचनाएं सेट अप करना

हमारा सुझाव है कि आपने जिन कस्टम यूआरएल पैटर्न को कॉन्फ़िगर किया है उनके लिए सूचनाएं सेट अप करें. Firebase, सबसे पहले किसी अनुरोध को कस्टम यूआरएल पैटर्न से मैच करने की कोशिश करता है. इसलिए, मिलते-जुलते अनुरोधों को एक ही यूआरएल पैटर्न से ज़्यादा आसानी से मैप किया जा सकता है. इससे कस्टम यूआरएल पैटर्न के लिए मिलने वाली सूचनाएं, आपकी टीम के लिए ज़्यादा काम की और असरदार हो जाती हैं. ऐसा इसलिए, क्योंकि आपने पहले ही अनुरोधों के उस खास पैटर्न को अपने ऐप्लिकेशन के लिए ज़रूरी के तौर पर पहचान लिया है.

अपने-आप जनरेट होने वाले यूआरएल पैटर्न के लिए सूचनाएं सेट अप करना

ऑटोमैटिक यूआरएल पैटर्न के लिए सूचना सेट अप करते समय, पक्का करें कि ऑटोमैटिक यूआरएल पैटर्न कुछ दिनों तक स्थिर रहा हो. ध्यान रखें कि यूआरएल पैटर्न अपने-आप अपडेट होने की सुविधा समय के साथ बदल सकती है. साथ ही, सूचना कॉन्फ़िगरेशन नए यूआरएल पैटर्न पर लागू नहीं होते. इस वजह से, आपको उन पैटर्न के लिए गलत या अधूरी सूचनाएं मिल सकती हैं जिनमें आपकी दिलचस्पी है. इस पैटर्न को स्थिर रखने के लिए, कस्टम यूआरएल पैटर्न भी बनाया जा सकता है.

वेब पेज लोड होने पर

वेब मेट्रिक को मेज़र करने के लिए, सुझाए गए थ्रेशोल्ड के बारे में जानने के लिए, वेबसाइट की परफ़ॉर्मेंस की अहम जानकारी का दस्तावेज़ देखें.

स्क्रीन रेंडरिंग

ऐप्लिकेशन का बेहतर अनुभव देने के लिए, उपयोगकर्ता सेशन में धीमे और फ़्रीज़ किए गए फ़्रेम नहीं होने चाहिए. Performance Monitoring का सुझाव है कि आप 1% से ज़्यादा फ़्रेम के रुकने पर सूचनाएं पाने की सुविधा सेट अप करें. साथ ही, 5% से ज़्यादा फ़्रेम के धीरे चलने पर सूचनाएं पाने की सुविधा सेट अप करें. आपको पता चलेगा कि परफ़ॉर्मेंस से जुड़ी सूचना कॉन्फ़िगर करते समय, ये वैल्यू डिफ़ॉल्ट सेटिंग के तौर पर मौजूद होती हैं. बहुत लंबे समय तक रुके हुए फ़्रेम और ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाने के अन्य सबसे सही तरीकों के बारे में ज़्यादा जानने के लिए, Google Play की गाइडलाइन देखें.