इस पेज पर, Performance Monitoring का इस्तेमाल शुरू करने या Performance Monitoring की सुविधाओं और टूल का इस्तेमाल करने से जुड़ी समस्याओं को हल करने के बारे में सलाह दी गई है.
समस्या हल करने के लिए सबसे पहले की जाने वाली जांच
समस्या हल करने से पहले, यहां दी गई दो जांचें करना सबसे सही तरीका है.
1. परफ़ॉर्मेंस इवेंट के लिए लॉग मैसेज देखना
अपने लॉग मैसेज देखें और पक्का करें कि Performance Monitoring SDK टूल, परफ़ॉर्मेंस इवेंट कैप्चर कर रहा है.
परफ़ॉर्मेंस इवेंट के लिए लॉग मैसेज देखने का तरीका
अपने ब्राउज़र के डेवलपर टूल खोलें. उदाहरण के लिए, Chrome DevTools के लिए नेटवर्क टैब या Firefox के लिए नेटवर्क मॉनिटर.
ब्राउज़र में अपना वेब ऐप्लिकेशन रीफ़्रेश करें.
गड़बड़ी के मैसेज के लिए, अपने लॉग मैसेज देखें.
कुछ सेकंड बाद, अपने ब्राउज़र के डेवलपर टूल में,
firebaselogging.googleapis.com
पर नेटवर्क कॉल देखें. उस नेटवर्क कॉल की मौजूदगी से पता चलता है कि ब्राउज़र, Firebase को परफ़ॉर्मेंस डेटा भेज रहा है.
अगर आपका ऐप्लिकेशन परफ़ॉर्मेंस इवेंट को लॉग नहीं कर रहा है, तो समस्या हल करने के तरीकों के बारे में जानें.
2. Firebase का स्टेटस डैशबोर्ड देखना
अगर Firebase या Performance Monitoring के लिए कोई समस्या है, तो Firebase का स्टेटस डैशबोर्ड देखें.
Performance Monitoring का इस्तेमाल शुरू करना
अगर आपने Performance Monitoring (iOS+ | Android | वेब) का इस्तेमाल शुरू किया है, तो समस्या हल करने के लिए यहां दी गई सलाह देखें. इनसे, Firebase के SDK टूल का पता लगाने या Firebase कंसोल में परफ़ॉर्मेंस का पहला डेटा दिखाने से जुड़ी समस्याओं को हल करने में मदद मिल सकती है.
ऐप्लिकेशन में SDK टूल जोड़ दिया गया है, लेकिन console में अब भी SDK टूल जोड़ने का मैसेज दिख रहा है
Firebase यह पता लगा सकता है कि आपने अपने ऐप्लिकेशन में Performance Monitoring SDK टूल को जोड़ा है या नहीं. ऐसा तब होता है, जब उसे आपके ऐप्लिकेशन से इवेंट की जानकारी (जैसे, ऐप्लिकेशन इंटरैक्शन) मिलती है. आम तौर पर, ऐप्लिकेशन शुरू करने के 10 मिनट के अंदर, Firebase कंसोल के परफ़ॉर्मेंस डैशबोर्ड पर "SDK टूल का पता चला" मैसेज दिखता है. इसके बाद, 30 मिनट के अंदर डैशबोर्ड पर प्रोसेस किया गया शुरुआती डेटा दिखने लगता है.
अगर आपने अपने ऐप्लिकेशन में SDK टूल का नया वर्शन जोड़ने के 10 मिनट बाद भी कोई बदलाव नहीं देखा है, तो अपने लॉग मैसेज देखें. इससे यह पक्का किया जा सकता है कि Performance Monitoring इवेंट को लॉग कर रहा है या नहीं. एसडीके टूल का पता लगाने में देरी होने से जुड़ी समस्या हल करने के लिए, यहां दिया गया तरीका आज़माएं.
ऐप्लिकेशन इवेंट लॉग कर रहा है: समस्या हल करने का तरीका
अगर आपने अब भी डेटा इकट्ठा करने के लिए, स्थानीय तौर पर डेटा इकट्ठा करने की सुविधा को डेवलप नहीं किया है, तो डेटा इकट्ठा करने के लिए ज़्यादा इवेंट जनरेट करें:
अपने वेब ऐप्लिकेशन को स्थानीय एनवायरमेंट में दिखाएं और देखें.
अपनी साइट के सबपेज लोड करके, अपने ऐप्लिकेशन के साथ इंटरैक्ट करके, और/या नेटवर्क अनुरोध ट्रिगर करके इवेंट जनरेट करें. पेज लोड होने के बाद, ब्राउज़र टैब को कम से कम 10 सेकंड तक खुला रखें.
पक्का करें कि आपका Firebase कॉन्फ़िगरेशन ऑब्जेक्ट, आपके ऐप्लिकेशन में सही तरीके से जोड़ा गया हो और आपने ऑब्जेक्ट में बदलाव न किया हो. खास तौर पर, इन बातों का ध्यान रखें:
- कॉन्फ़िगरेशन ऑब्जेक्ट में मौजूद Firebase वेब ऐप्लिकेशन आईडी (
appId
), आपके ऐप्लिकेशन के लिए सही है. settings प्रोजेक्ट की सेटिंग के आपके ऐप्लिकेशन कार्ड में अपना Firebase ऐप्लिकेशन आईडी ढूंढें.
अगर आपके ऐप्लिकेशन में config ऑब्जेक्ट में कोई गड़बड़ी दिखती है, तो ये काम आज़माएं:
अपने ऐप्लिकेशन में मौजूद कॉन्फ़िगरेशन ऑब्जेक्ट को मिटाएं.
नया कॉन्फ़िगरेशन ऑब्जेक्ट पाने और उसे अपने वेब ऐप्लिकेशन में जोड़ने के लिए, इन निर्देशों का पालन करें.
- कॉन्फ़िगरेशन ऑब्जेक्ट में मौजूद Firebase वेब ऐप्लिकेशन आईडी (
अगर SDK टूल, इवेंट को लॉग कर रहा है और सब कुछ सही तरीके से सेट अप है, लेकिन आपको दो घंटे बाद भी SDK टूल का पता चलने का मैसेज या प्रोसेस किया गया डेटा नहीं दिख रहा है, तो Firebase की सहायता टीम से संपर्क करें.
ऐप्लिकेशन, इवेंट लॉग नहीं कर रहा है: समस्या हल करने का तरीका
पक्का करें कि आपके ऐप्लिकेशन में Performance Monitoring SDK टूल सही तरीके से इंटिग्रेट किया गया हो.
पक्का करें कि Performance Monitoring SDK टूल, इस फ़्लैग की मदद से बंद न किया गया हो:
performance.instrumentationEnabled
पक्का करें कि आपके ब्राउज़र में कैश मेमोरी का इस्तेमाल बंद हो. ऐसा न होने पर, हो सकता है कि ब्राउज़र कोई नई इंस्ट्रूमेंटेशन सेटिंग न ले.
वेबपेज टैब को बंद करके फिर से खोलें. फिर से लॉग इन करने की कोशिश करें.
अगर आपने हाल ही में अपने ऐप्लिकेशन में Performance Monitoring SDK टूल जोड़ा है, तो हो सकता है कि SDK टूल के काम करने के लिए, आपको अपने ऐप्लिकेशन को पूरी तरह से फिर से शुरू करना पड़े.
अगर आपको अपने ऐप्लिकेशन में बंद की गई कोई सुविधा नहीं मिलती है, तो Firebase की सहायता टीम से संपर्क करें.
Console में यह दिखता है कि SDK टूल का पता चला है, लेकिन कोई डेटा नहीं दिखता
Performance Monitoring, परफ़ॉर्मेंस इवेंट के डेटा को परफ़ॉर्मेंस डैशबोर्ड में दिखाने से पहले उसे प्रोसेस करता है.
अगर "SDK टूल का पता चला" मैसेज दिखने के 24 घंटे से ज़्यादा हो चुके हैं और आपको अब भी डेटा नहीं दिख रहा है, तो Firebase स्टेटस डैशबोर्ड पर जाकर देखें कि क्या कोई समस्या है. अगर कोई रुकावट नहीं है, तो Firebase की सहायता टीम से संपर्क करें.
सामान्य समस्याएं हल करना
अगर आपने SDK टूल जोड़ लिया है और अपने ऐप्लिकेशन में Performance Monitoring का इस्तेमाल किया जा रहा है, तो समस्या हल करने के लिए यहां दिए गए सुझावों से आपको मदद मिल सकती है. ये सुझाव, Performance Monitoring की सुविधाओं और टूल से जुड़ी सामान्य समस्याओं के लिए हैं.
ऐप्लिकेशन, परफ़ॉर्मेंस इवेंट को लॉग नहीं कर रहा है
अगर आपको परफ़ॉर्मेंस इवेंट के लिए लॉग मैसेज नहीं दिख रहे हैं, तो समस्या हल करने के लिए यह तरीका आज़माएं:
पक्का करें कि आपके ऐप्लिकेशन में Performance Monitoring SDK टूल सही तरीके से इंटिग्रेट किया गया हो.
पक्का करें कि Performance Monitoring SDK टूल, इस फ़्लैग की मदद से बंद न किया गया हो:
performance.instrumentationEnabled
पक्का करें कि आपके ब्राउज़र में कैश मेमोरी का इस्तेमाल बंद हो. ऐसा न होने पर, हो सकता है कि ब्राउज़र कोई नई इंस्ट्रूमेंटेशन सेटिंग न ले.
वेबपेज टैब को बंद करके फिर से खोलें. फिर से लॉग इन करने की कोशिश करें.
अगर आपने हाल ही में अपने ऐप्लिकेशन में Performance Monitoring SDK टूल जोड़ा है, तो हो सकता है कि SDK टूल के काम करने के लिए, आपको अपने ऐप्लिकेशन को पूरी तरह से फिर से शुरू करना पड़े.
अगर आपको अपने ऐप्लिकेशन में बंद की गई कोई सुविधा नहीं मिलती है, तो Firebase की सहायता टीम से संपर्क करें.
परफ़ॉर्मेंस डैशबोर्ड में, फ़र्स्ट इनपुट डिले का डेटा मौजूद नहीं है
अगर आपको पहले इनपुट में लगा समय मेट्रिक का डेटा नहीं दिख रहा है, तो समस्या हल करने के लिए यहां दिया गया तरीका आज़माएं:
ध्यान रखें कि Performance Monitoring सिर्फ़ तब पहले इनपुट में लगने वाले समय की मेट्रिक रिकॉर्ड करता है, जब कोई उपयोगकर्ता पेज लोड होने के पांच सेकंड के अंदर वेब पेज पर क्लिक करता है.
पक्का करें कि आपने इस मेट्रिक को मेज़र करने के लिए, अपना ऐप्लिकेशन सेट अप किया हो. फ़र्स्ट इनपुट डिले मेट्रिक को मैन्युअल तरीके से सेट अप करना ज़रूरी है. खास तौर पर, आपको इस मेट्रिक के लिए polyfill लाइब्रेरी जोड़नी होगी. इंस्टॉल करने के निर्देशों के लिए, लाइब्रेरी का दस्तावेज़ देखें.
ध्यान दें कि Performance Monitoring को अन्य वेब ऐप्लिकेशन मेट्रिक की रिपोर्ट करने के लिए, इस पॉलीफ़िल लाइब्रेरी को जोड़ना ज़रूरी नहीं है.
परफ़ॉर्मेंस डैशबोर्ड में कस्टम ट्रेस डेटा मौजूद नहीं है
क्या आपको अपने-आप इकट्ठा हुए ट्रेस का परफ़ॉर्मेंस डेटा दिख रहा है, लेकिन कस्टम कोड ट्रेस का नहीं? समस्या हल करने के लिए, यह तरीका आज़माएं:
Trace API की मदद से इंस्ट्रूमेंट किए गए कस्टम कोड ट्रैस के सेटअप की जांच करें. खास तौर पर, इनकी जांच करें:
- कस्टम कोड ट्रेस और कस्टम मेट्रिक के नामों को इन ज़रूरी शर्तों को पूरा करना होगा: नाम के शुरू या आखिर में कोई खाली जगह नहीं होनी चाहिए. नाम के शुरू में अंडरस्कोर (
_
) वर्ण नहीं होना चाहिए. साथ ही, नाम की लंबाई 32 से ज़्यादा वर्ण नहीं होनी चाहिए. - सभी ट्रेस शुरू और बंद होने चाहिए. ऐसा कोई भी ट्रैक लॉग नहीं किया जाएगा जिसे शुरू नहीं किया गया है, बंद नहीं किया गया है या शुरू होने से पहले ही बंद कर दिया गया है.
ध्यान दें कि अगर
record()
तरीके का इस्तेमाल किया जा रहा है, तो आपको ट्रेस को साफ़ तौर पर शुरू या बंद करने की ज़रूरत नहीं है.- कस्टम कोड ट्रेस और कस्टम मेट्रिक के नामों को इन ज़रूरी शर्तों को पूरा करना होगा: नाम के शुरू या आखिर में कोई खाली जगह नहीं होनी चाहिए. नाम के शुरू में अंडरस्कोर (
पक्का करें कि Performance Monitoring डेटा इकट्ठा करने की सुविधा, बंद नहीं है. इसके लिए, इस फ़्लैग का इस्तेमाल करें:
performance.dataCollectionEnabled
यह फ़्लैग सिर्फ़ कस्टम कोड ट्रेस के लिए डेटा इकट्ठा करने की सुविधा को कंट्रोल करता है, न कि पूरे डेटा को.
अपने लॉग मैसेज देखें, ताकि यह पक्का किया जा सके कि Performance Monitoring, उम्मीद के मुताबिक कस्टम कोड ट्रेस को लॉग कर रहा है.
अगर Performance Monitoring इवेंट को लॉग कर रहा है, लेकिन 24 घंटे के बाद भी कोई डेटा नहीं दिखता है, तो Firebase की सहायता टीम से संपर्क करें.
परफ़ॉर्मेंस डैशबोर्ड में, नेटवर्क अनुरोध का डेटा मौजूद नहीं है
अगर आपको नेटवर्क अनुरोध का डेटा नहीं मिल रहा है, तो इन बातों का ध्यान रखें:
Performance Monitoring, ब्राउज़र एपीआई से रिपोर्ट किए गए नेटवर्क अनुरोधों के लिए, मेट्रिक अपने-आप इकट्ठा करता है. इन रिपोर्ट में, नेटवर्क से जुड़े ऐसे अनुरोध शामिल नहीं होते जो पूरा नहीं हो पाते.
आपके कोड के व्यवहार और आपके कोड में इस्तेमाल की गई नेटवर्किंग लाइब्रेरी के आधार पर, हो सकता है कि Performance Monitoring सिर्फ़ पूरे हो चुके नेटवर्क अनुरोधों की रिपोर्ट दिखाए. इसका मतलब है कि खुले हुए एचटीटीपी/एस कनेक्शन की शिकायत नहीं की जा सकती.
नेटवर्क अनुरोध का डेटा, उम्मीद के मुताबिक इकट्ठा नहीं हो रहा है
यूआरएल पैटर्न के तहत, Performance Monitoring नेटवर्क अनुरोध का डेटा कैसे इकट्ठा करता है, इस बारे में ज़्यादा जानें.
कस्टम यूआरएल पैटर्न भी आज़माए जा सकते हैं!
अक्सर पूछे जाने वाले सवाल
प्रोजेक्ट के होम पेज पर मौजूद परफ़ॉर्मेंस कार्ड में, 'सबसे ज़्यादा समस्याएं' कार्ड का क्या हुआ?
हमने हाल ही में अलर्ट की सुविधा शुरू की थी. इसके फ़ॉलो-अप के तौर पर, हमने मुख्य समस्याएं को हाल ही की सूचनाएं से बदल दिया है. यह सुविधा, सेट किए गए थ्रेशोल्ड के पार जाने पर, आपको अपने-आप सूचना देती है. समस्याओं की सुविधा अब बंद कर दी गई है और इसकी जगह सूचनाएं दी जाएंगी.
परफ़ॉर्मेंस कार्ड में सबसे ऊपर मौजूद ऐप्लिकेशन सिलेक्टर, हाल ही की सूचनाएं में सूचनाएं डालता है. चुने गए ऐप्लिकेशन के लिए, सिर्फ़ तीन सबसे हाल की सूचनाएं दिखती हैं.
सूचनाओं के बारे में ज़्यादा जानने के लिए, परफ़ॉर्मेंस से जुड़ी समस्याओं के लिए सूचनाएं सेट अप करना लेख पढ़ें.
कंसोल में समस्याओं के लिए थ्रेशोल्ड सेट करने की सुविधा का क्या हुआ?
Performance Monitoring, तय किए गए थ्रेशोल्ड से ज़्यादा की मेट्रिक के लिए सूचनाएं भेजने की सुविधा देता है. परफ़ॉर्मेंस मेट्रिक के लिए, कॉन्फ़िगर किए जा सकने वाले इन थ्रेशोल्ड से होने वाली गड़बड़ी से बचने के लिए, हमने समस्याओं के लिए थ्रेशोल्ड कॉन्फ़िगर करने की सुविधा हटा दी है.
Firebase कंसोल में, ज़्यादा जानकारी और मेट्रिक की जानकारी का क्या हुआ?
हमने 'जानकारी' और 'मेट्रिक' पेजों को, नए डिज़ाइन वाले एक यूज़र इंटरफ़ेस (यूआई) से बदल दिया है. इससे, समस्याओं को हल करने का तरीका बेहतर होगा. समस्या हल करने के लिए उपलब्ध इस नए यूज़र इंटरफ़ेस (यूआई) में, 'जानकारी' और 'मेट्रिक' सेक्शन में मिलने वाली मुख्य सुविधाएं मिलती हैं. समस्या हल करने के बारे में ज़्यादा जानने के लिए, किसी खास ट्रेस के लिए ज़्यादा डेटा देखना लेख पढ़ें.
सैंपल की संख्या मेरी उम्मीद के मुताबिक क्यों नहीं है?
Performance Monitoring, आपके ऐप्लिकेशन के उपयोगकर्ता के डिवाइसों से परफ़ॉर्मेंस का डेटा इकट्ठा करता है. अगर आपके ऐप्लिकेशन के कई उपयोगकर्ता हैं या ऐप्लिकेशन पर ज़्यादा परफ़ॉर्मेंस गतिविधि होती है, तो Performance Monitoring, डेटा इकट्ठा करने की प्रोसेस को डिवाइसों के सबसेट तक सीमित कर सकता है. ऐसा, प्रोसेस किए गए इवेंट की संख्या को कम करने के लिए किया जाता है. ये सीमाएं इतनी ज़्यादा हैं कि कम इवेंट होने पर भी, मेट्रिक की वैल्यू से आपके उपयोगकर्ता के ऐप्लिकेशन अनुभव के बारे में पता चलता रहे.
इकट्ठा किए जाने वाले डेटा की संख्या को मैनेज करने के लिए, Performance Monitoring सैंपलिंग के इन विकल्पों का इस्तेमाल करता है:
डिवाइस पर ट्रैकिंग की दर को सीमित करना: किसी डिवाइस से अचानक बहुत ज़्यादा ट्रैक भेजने से रोकने के लिए, हम डिवाइस से हर 10 मिनट में भेजे जाने वाले कोड और नेटवर्क अनुरोध के ट्रैक की संख्या को 300 इवेंट तक सीमित कर देते हैं. इस तरीके से, डिवाइस को ऐसे इंस्ट्रूमेंटेशन से बचाया जाता है जो परफ़ॉर्मेंस का ज़्यादा डेटा भेज सकते हैं. साथ ही, इससे किसी एक डिवाइस की वजह से परफ़ॉर्मेंस मेज़रमेंट में गड़बड़ी नहीं होती.
डाइनैमिक सैंपलिंग: Performance Monitoring हर ऐप्लिकेशन के सभी उपयोगकर्ताओं के लिए, हर दिन सीमित संख्या में कोड ट्रेस और नेटवर्क अनुरोध ट्रेस इकट्ठा करता है. Firebase Remote Config का इस्तेमाल करके, डिवाइसों पर डाइनैमिक सैंपलिंग रेट फ़ेच किया जाता है. इससे यह तय किया जाता है कि किसी डिवाइस को ट्रैक कैप्चर करके भेजना चाहिए या नहीं. सैंपलिंग के लिए चुना न गया डिवाइस, कोई इवेंट नहीं भेजता. डाइनैमिक सैंपलिंग रेट, ऐप्लिकेशन के हिसाब से तय होता है. साथ ही, यह डेटा इकट्ठा करने की सीमा से कम रखने के लिए अडजस्ट होता रहता है.
उपयोगकर्ता सेशन, उपयोगकर्ता के डिवाइस से ज़्यादा और ज़्यादा जानकारी वाला डेटा भेजते हैं. इसलिए, डेटा को कैप्चर करने और भेजने के लिए ज़्यादा संसाधनों की ज़रूरत होती है. उपयोगकर्ता सेशन के असर को कम करने के लिए, Performance Monitoring सेशन की संख्या पर भी पाबंदी लगा सकता है.
सर्वर साइड रेट सीमित करना: यह पक्का करने के लिए कि ऐप्लिकेशन, सैंपलिंग की सीमा से ज़्यादा न हो, Performance Monitoring डिवाइसों से मिले कुछ इवेंट को ड्रॉप करने के लिए, सर्वर साइड सैंपलिंग का इस्तेमाल कर सकता है. हालांकि, इस तरह की पाबंदी से हमारी मेट्रिक की परफ़ॉर्मेंस पर कोई असर नहीं पड़ता, लेकिन इससे पैटर्न में मामूली बदलाव हो सकते हैं. इनमें ये शामिल हैं:
- ट्रेस की संख्या, कोड के किसी हिस्से को कितनी बार चलाया गया है उससे अलग हो सकती है.
- कोड में एक-दूसरे से जुड़े ट्रेस में, हर ट्रेस के सैंपल की संख्या अलग-अलग हो सकती है.
Console में समस्याएं टैब का क्या हुआ?
हमने समस्याओं वाले टैब को चेतावनियों वाले टैब से बदल दिया है. यह टैब, आपके सेट किए गए थ्रेशोल्ड से ज़्यादा होने पर, आपको अपने-आप सूचना देता है. अब आपको किसी थ्रेशोल्ड की स्थिति का पता लगाने के लिए, Firebase कंसोल को मैन्युअल तरीके से देखने की ज़रूरत नहीं है. सूचनाओं के बारे में जानने के लिए, परफ़ॉर्मेंस से जुड़ी समस्याओं के लिए सूचनाएं सेट अप करना लेख पढ़ें.
कंसोल में डिवाइस पर और नेटवर्क टैब का क्या हुआ? मैं उन पेजों पर मौजूद ट्रेस कैसे देखूं?
हमने Firebase कंसोल के Performance Monitoring सेक्शन को फिर से डिज़ाइन किया है, ताकि डैशबोर्ड टैब में आपकी मुख्य मेट्रिक और सभी ट्रेस एक ही जगह पर दिखें. नए डिज़ाइन के तहत, हमने डिवाइस पर और नेटवर्क पेजों को हटा दिया है.
डैशबोर्ड टैब में सबसे नीचे मौजूद ट्रेस टेबल में, डिवाइस पर और नेटवर्क टैब में दिखाई गई सभी जानकारी होती है. हालांकि, इसमें कुछ और सुविधाएं भी होती हैं. जैसे, किसी खास मेट्रिक में हुए बदलाव के प्रतिशत के हिसाब से, अपने ट्रेस को क्रम से लगाने की सुविधा. किसी खास ट्रैस की सभी मेट्रिक और डेटा देखने के लिए, ट्रैस टेबल में ट्रैस के नाम पर क्लिक करें.
ट्रेस टेबल के इन सबटैब में अपने ट्रेस देखें:
- नेटवर्क अनुरोध के ट्रेस (पहले से मौजूद और कस्टम, दोनों) — नेटवर्क अनुरोध सब-टैब
- कस्टम कोड ट्रेस — कस्टम ट्रेस सब-टैब
- ऐप्लिकेशन शुरू होने, ऐप्लिकेशन के फ़ोरग्राउंड में होने, और ऐप्लिकेशन के बैकग्राउंड में होने के ट्रैक — कस्टम ट्रैक सब-टैब
- स्क्रीन रेंडरिंग के ट्रैक — स्क्रीन रेंडरिंग सब-टैब
- पेज लोड के ट्रैक — पेज लोड सब-टैब
ट्रेस टेबल और मेट्रिक और डेटा देखने के बारे में ज़्यादा जानने के लिए, Console के होम पेज पर जाएं (iOS+ | Android | वेब).
धीमे और फ़्रीज़ हुए फ़्रेम की संख्या, मेरी उम्मीद के मुताबिक क्यों नहीं है?
धीमी रेंडरिंग वाले फ़्रेम और फ़्रीज़ हुए फ़्रेम का हिसाब, डिवाइस के रीफ़्रेश रेट को 60 हर्ट्ज़ मानकर लगाया जाता है. अगर किसी डिवाइस का रीफ़्रेश रेट 60Hz से कम है, तो हर फ़्रेम को रेंडर होने में ज़्यादा समय लगेगा. इसकी वजह यह है कि हर सेकंड में कम फ़्रेम रेंडर किए जाते हैं. रेंडर होने में ज़्यादा समय लगने पर, ज़्यादा धीमे या फ़्रीज़ हुए फ़्रेम की शिकायत की जा सकती है, क्योंकि ज़्यादा फ़्रेम धीमे रेंडर होंगे या फ़्रीज़ हो जाएंगे. हालांकि, अगर किसी डिवाइस का रिफ़्रेश रेट 60Hz से ज़्यादा है, तो हर फ़्रेम को रेंडर होने में कम समय लगेगा. इससे, धीमे या फ़्रीज़ हुए फ़्रेम की कम रिपोर्ट मिल सकती है. फ़िलहाल, Performance Monitoring SDK टूल में यह सुविधा उपलब्ध नहीं है.
मैं अपने वेब ऐप्लिकेशन में, छोटे और नेमस्पेस वाले Performance Monitoring JS SDK टूल ("स्टैंडअलोन" SDK टूल) को कैसे जोड़ूं?
अगर आपके ऐप्लिकेशन में Performance Monitoring ही Firebase का एकमात्र प्रॉडक्ट है, तो आपके पास स्टैंडअलोन Performance Monitoring SDK टूल (और नीचे दी गई सुझाई गई हेडर स्क्रिप्ट) का इस्तेमाल करने का विकल्प है. ऐसा तब करें, जब आपको:
- नेमस्पेस वाली लाइब्रेरी का इस्तेमाल करना
- SDK टूल के पैकेज का साइज़ कम करना
- पेज लोड होने तक SDK टूल को शुरू करने में देरी करना
अपने ऐप्लिकेशन में स्टैंडअलोन Performance Monitoring SDK टूल शामिल करने और पेज लोड होने के बाद ही इसे शुरू करने के लिए:
- अपनी इंडेक्स फ़ाइल के हेडर में यह स्क्रिप्ट जोड़ें.
- अपने ऐप्लिकेशन का Firebase प्रोजेक्ट कॉन्फ़िगरेशन ऑब्जेक्ट ज़रूर जोड़ें.
(function(sa,fbc){function load(f,c){var a=document.createElement('script'); a.async=1;a.src=f;var s=document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(a,s);}load(sa); window.addEventListener('load',function(){firebase.initializeApp(fbc).performance()}); })(performance_standalone, firebaseConfig);
जहां,
- performance_standalone,
है'https://www.gstatic.com/firebasejs/11.0.2/firebase-performance.js'
- firebaseConfig आपके ऐप्लिकेशन का Firebase कॉन्फ़िगरेशन ऑब्जेक्ट है
ऊपर दी गई स्क्रिप्ट, स्टैंडअलोन SDK टूल को असिंक्रोनस तरीके से लोड करती है. इसके बाद, विंडो के onload
इवेंट के ट्रिगर होने के बाद Firebase को शुरू करती है. इस तरीके से, पेज लोड होने में लगने वाले समय की मेट्रिक पर एसडीके टूल के असर को कम किया जा सकता है. ऐसा इसलिए, क्योंकि एसडीके टूल को शुरू करने पर ब्राउज़र ने पहले ही लोडिंग मेट्रिक की जानकारी दे दी होती है.
स्टैंडअलोन Performance Monitoring SDK टूल और हेडर स्क्रिप्ट के बारे में जानें
इस स्टैंडअलोन SDK टूल को साइज़ के हिसाब से ऑप्टिमाइज़ किया गया है. Gzip फ़ॉर्मैट में, यह करीब 10 केबी का है. इसमें Firebase Performance Monitoring की सभी सुविधाएं होती हैं. साथ ही, Firebase के मुख्य SDK टूल की कुछ सुविधाएं भी होती हैं.
Firebase Performance Monitoring, fetch
और Promise
एपीआई का इस्तेमाल करता है. ये एपीआई, पुराने ब्राउज़र पर उपलब्ध नहीं हैं. इन एपीआई के लिए पॉलीफ़िल, स्टैंडर्ड Firebase Performance Monitoring JS SDK टूल में शामिल होते हैं. हालांकि, साइज़ को कम करने के लिए, इन्हें स्टैंडअलोन SDK टूल से हटा दिया जाता है.
Performance Monitoring SDK टूल, ब्राउज़र से पेज लोड मेट्रिक पाने के लिए, कुछ हद तक Resource Timing API पर निर्भर करता है.
यहां दिया गया स्निपेट, हेडर स्क्रिप्ट को अलग-अलग हिस्सों में बांटता है. इसमें एसडीके टूल के शुरू होने में लगने वाले समय को बढ़ाने की सुविधा शामिल है:
(function(sdkSource, firebaseConfigObject) { function load(f, c) { // Creates a script tag to load the standalone SDK var sdkScript = document.createElement('script'); // Sets it to an async script so that it doesn't interfere with page load sdkScript.async = 1; // Sets the source of the script sdkScript.src = f; // Inserts the script into the head of the page var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(sdkScript, s); } // Calls the load method load(sdkSource); // Initializes the SDK only when the onload method is called window.addEventListener('load', function() { firebase.initializeApp(firebaseConfigObject).performance(); }); })(performance_standalone, firebaseConfig);
जहां,
- performance_standalone,
है'https://www.gstatic.com/firebasejs/11.0.2/firebase-performance-standalone.js'
- firebaseConfig आपके ऐप्लिकेशन का Firebase कॉन्फ़िगरेशन ऑब्जेक्ट है
करीब-करीब रीयल-टाइम में डेटा प्रोसेस करना और दिखाना
"करीब-करीब रीयल-टाइम" परफ़ॉर्मेंस डेटा का क्या मतलब है?
Firebase Performance Monitoring, इकट्ठा किया गया परफ़ॉर्मेंस डेटा, जैसे ही मिलता है उसे प्रोसेस कर देता है. इससे Firebase कंसोल में, करीब-करीब रीयल-टाइम डेटा दिखता है. प्रोसेस किया गया डेटा, इकट्ठा होने के कुछ ही मिनटों में कंसोल में दिखने लगता है. इसलिए, इसे "करीब-करीब रीयल-टाइम" कहा जाता है.
करीब-करीब रीयल-टाइम में डेटा प्रोसेस करने की सुविधा का फ़ायदा पाने के लिए, पक्का करें कि आपका ऐप्लिकेशन रीयल-टाइम के साथ काम करने वाले SDK टूल के वर्शन का इस्तेमाल करता हो.
मुझे अपने ऐप्लिकेशन की परफ़ॉर्मेंस का डेटा, रीयल-टाइम के करीब कैसे मिलेगा?
रीयल-टाइम के करीब डेटा प्रोसेसिंग का फ़ायदा पाने के लिए, आपको सिर्फ़ यह पक्का करना होगा कि आपका ऐप्लिकेशन, Performance Monitoring SDK टूल के ऐसे वर्शन का इस्तेमाल करता हो जो रीयल-टाइम डेटा प्रोसेसिंग के साथ काम करता हो.
रीयल-टाइम में काम करने वाले SDK टूल के ये वर्शन हैं:
- iOS — v7.3.0 या इसके बाद का वर्शन
- tvOS — 8.9.0 या इसके बाद का वर्शन
- Android — v19.0.10 या इसके बाद का वर्शन (या Firebase Android BoM v26.1.0 या इसके बाद का वर्शन)
- वेब — v7.14.0 या इसके बाद का वर्शन
ध्यान दें कि हमारा सुझाव है कि आप SDK टूल के सबसे नए वर्शन का इस्तेमाल करें. हालांकि, ऊपर दिए गए किसी भी वर्शन का इस्तेमाल करने पर, Performance Monitoring आपके डेटा को रीयल टाइम में प्रोसेस कर पाएगा.
Performance Monitoring SDK टूल के किन वर्शन को रीयल-टाइम में काम करने वाला माना जाता है?
रीयल-टाइम डेटा प्रोसेसिंग के साथ काम करने वाले SDK टूल के वर्शन:
- iOS — v7.3.0 या इसके बाद का वर्शन
- tvOS — 8.9.0 या इसके बाद का वर्शन
- Android — v19.0.10 या इसके बाद का वर्शन (या Firebase Android BoM v26.1.0 या इसके बाद का वर्शन)
- वेब — v7.14.0 या इसके बाद का वर्शन
ध्यान दें कि हमारा सुझाव है कि आप SDK टूल के सबसे नए वर्शन का इस्तेमाल करें. हालांकि, ऊपर दिए गए किसी भी वर्शन का इस्तेमाल करने पर, Performance Monitoring आपके डेटा को रीयल टाइम में प्रोसेस कर पाएगा.
अगर मैंने अपने ऐप्लिकेशन को रीयल-टाइम में काम करने वाले SDK टूल के वर्शन का इस्तेमाल करने के लिए अपडेट नहीं किया, तो क्या होगा?
अगर आपका ऐप्लिकेशन, रीयल-टाइम के साथ काम करने वाले SDK टूल के वर्शन का इस्तेमाल नहीं करता है, तब भी आपको Firebase कंसोल में अपने ऐप्लिकेशन की परफ़ॉर्मेंस का पूरा डेटा दिखेगा. हालांकि, परफ़ॉर्मेंस डेटा इकट्ठा होने के करीब 36 घंटे बाद ही दिखेगा.
मैंने SDK टूल के ऐसे वर्शन पर अपडेट किया है जो रीयल-टाइम में काम करता है. हालांकि, मेरे कुछ उपयोगकर्ता अब भी मेरे ऐप्लिकेशन के पुराने वर्शन इस्तेमाल कर रहे हैं. क्या मुझे Firebase कंसोल में, उनके ऐप्लिकेशन की परफ़ॉर्मेंस का डेटा दिखता रहेगा?
हां! भले ही, ऐप्लिकेशन इंस्टेंस में SDK टूल का कोई भी वर्शन इस्तेमाल किया जा रहा हो, आपको अपने सभी उपयोगकर्ताओं का परफ़ॉर्मेंस डेटा दिखेगा.
हालांकि, अगर आपको हाल ही का डेटा (लगभग 36 घंटे से कम पुराना) देखना है, तो दिखाया गया डेटा, रीयल-टाइम के साथ काम करने वाले एसडीके टूल के वर्शन का इस्तेमाल करने वाले ऐप्लिकेशन इंस्टेंस के उपयोगकर्ताओं का होता है. हालांकि, नए डेटा में आपके ऐप्लिकेशन के सभी वर्शन का परफ़ॉर्मेंस डेटा शामिल होता है.
Firebase की सहायता टीम से संपर्क करना
Firebase सहायता टीम से संपर्क करने पर, हमेशा अपना Firebase ऐप्लिकेशन आईडी शामिल करें. settings प्रोजेक्ट की सेटिंग के आपके ऐप्लिकेशन कार्ड में, अपना Firebase ऐप्लिकेशन आईडी ढूंढें.