इस पेज पर, परफ़ॉर्मेंस मॉनिटर करने की सुविधा का इस्तेमाल शुरू करने या परफ़ॉर्मेंस मॉनिटर करने की सुविधाओं और टूल का इस्तेमाल करने से जुड़ी समस्या हल करने के लिए सलाह दी गई है.
समस्या हल करने की पहली जांच
आगे की समस्या को हल करने से पहले, नीचे दिए गए दो जांचों के सुझाव सभी के लिए सुझाए जाते हैं.
1. परफ़ॉर्मेंस इवेंट के लिए लॉग मैसेज देखना
अपने लॉग मैसेज देखें और पक्का करें कि परफ़ॉर्मेंस मॉनिटर करने वाला SDK टूल, परफ़ॉर्मेंस इवेंट कैप्चर कर रहा है.
परफ़ॉर्मेंस इवेंट के लॉग मैसेज देखने का तरीका
अपने ब्राउज़र के डेवलपर टूल खोलें (उदाहरण के लिए, Chrome Dev टूल के लिए नेटवर्क टैब या Firefox के लिए नेटवर्क मॉनिटर में).
ब्राउज़र में अपने वेब ऐप्लिकेशन को रीफ़्रेश करें.
गड़बड़ी के किसी भी मैसेज के लिए अपने लॉग मैसेज देखें.
कुछ सेकंड के बाद, अपने ब्राउज़र के डेवलपर टूल में
firebaselogging.googleapis.com
को नेटवर्क कॉल करने का विकल्प ढूंढें. उस नेटवर्क कॉल की मौजूदगी से पता चलता है कि ब्राउज़र, Firebase को परफ़ॉर्मेंस डेटा भेज रहा है.
अगर आपका ऐप्लिकेशन परफ़ॉर्मेंस से जुड़े इवेंट लॉग नहीं कर रहा है, तो समस्या को हल करने के बारे में सलाह देखें.
2. Firebase स्टेटस डैशबोर्ड देखना
अगर Firebase या परफ़ॉर्मेंस मॉनिटर करने की सुविधा के लिए कोई सेवा उपलब्ध नहीं है, तो Firebase स्टेटस डैशबोर्ड देखें.
परफ़ॉर्मेंस मॉनिटर करने की सुविधा का इस्तेमाल शुरू करना
अगर आपने परफ़ॉर्मेंस मॉनिटर करने की सुविधा (iOS+ | Android | वेब) का इस्तेमाल शुरू किया है, तो समस्या हल करने के इन तरीकों से, उन समस्याओं को हल करने में मदद मिल सकती है जिनमें Firebase SDK टूल का पता लगाना या Firebase कंसोल में आपका पहला परफ़ॉर्मेंस डेटा दिखाना शामिल है.
SDK टूल को ऐप्लिकेशन में जोड़ दिया गया है. हालांकि, कंसोल पर अब भी SDK टूल जोड़ने की अनुमति है
आपके ऐप्लिकेशन से इवेंट की जानकारी (जैसे कि ऐप्लिकेशन इंटरैक्शन) मिलने पर, Firebase यह पता लगा सकता है कि आपने ऐप्लिकेशन में परफ़ॉर्मेंस मॉनिटर करने वाला SDK टूल जोड़ा है या नहीं. आम तौर पर, ऐप्लिकेशन शुरू करने के 10 मिनट के अंदर, Firebase कंसोल का परफ़ॉर्मेंस डैशबोर्ड "SDK टूल का पता चला" मैसेज दिखाता है. फिर, 30 मिनट के अंदर, डैशबोर्ड प्रोसेस किया गया शुरुआती डेटा दिखाता है.
अगर SDK टूल के नए वर्शन को अपने ऐप्लिकेशन में जोड़े हुए 10 मिनट से ज़्यादा हो चुके हैं और फिर भी आपको कोई बदलाव नहीं दिख रहा है, तो अपने लॉग मैसेज देखें. इससे यह पक्का किया जा सकेगा कि परफ़ॉर्मेंस मॉनिटर करने की सुविधा, इवेंट लॉग कर रही है या नहीं. SDK टूल की पहचान करने वाले मैसेज में देरी होने पर, उससे जुड़ी समस्या को हल करने के लिए, नीचे बताए गए तरीके अपनाएं.
ऐप्लिकेशन, इवेंट लॉग कर रहा है: समस्या हल करने का तरीका
अगर अब भी स्थानीय तौर पर डेवलप किया जा रहा है, तो डेटा कलेक्शन के लिए ज़्यादा इवेंट जनरेट करके देखें:
स्थानीय वातावरण में अपना वेब ऐप्लिकेशन उपलब्ध कराएं और देखें.
अपनी साइट के सबपेज लोड करके, अपने ऐप्लिकेशन से इंटरैक्ट करके, और/या नेटवर्क के अनुरोध ट्रिगर करके इवेंट जनरेट करें. पेज लोड होने के बाद, ब्राउज़र टैब कम से कम 10 सेकंड तक खुला रखें.
पक्का करें कि Firebase कॉन्फ़िगरेशन ऑब्जेक्ट को आपके ऐप्लिकेशन में सही तरीके से जोड़ा गया हो और आपने ऑब्जेक्ट में बदलाव न किया हो. खास तौर पर, इनकी जांच करें:
- कॉन्फ़िगरेशन ऑब्जेक्ट में, आपके ऐप्लिकेशन के लिए Firebase वेब ऐप्लिकेशन आईडी (
appId
) सही है. अपने settings प्रोजेक्ट सेटिंग के आपके ऐप्लिकेशन कार्ड में अपना Firebase ऐप्लिकेशन आईडी ढूंढें.
अगर आपके ऐप्लिकेशन के कॉन्फ़िगरेशन ऑब्जेक्ट में कुछ गड़बड़ी दिखती है, तो यह तरीका आज़माएं:
आपके ऐप्लिकेशन में मौजूद कॉन्फ़िगरेशन ऑब्जेक्ट मिटाएं.
नया कॉन्फ़िगरेशन ऑब्जेक्ट पाने और उसे अपने वेब ऐप्लिकेशन में जोड़ने के लिए, इन निर्देशों का पालन करें.
- कॉन्फ़िगरेशन ऑब्जेक्ट में, आपके ऐप्लिकेशन के लिए Firebase वेब ऐप्लिकेशन आईडी (
अगर SDK टूल, इवेंट लॉग कर रहा है और सब कुछ सही तरीके से सेट अप हुआ लग रहा है, लेकिन आपको अब भी SDK टूल की पहचान करने वाला मैसेज या प्रोसेस किया गया डेटा नहीं दिख रहा है (दो घंटे के बाद), तो Firebase सहायता टीम से संपर्क करें.
ऐप्लिकेशन, इवेंट लॉग नहीं कर रहा है: समस्या हल करने का तरीका
पक्का करें कि परफ़ॉर्मेंस मॉनिटर करने वाले SDK टूल को आपके ऐप्लिकेशन में सही तरीके से शुरू किया गया हो.
पक्का करें कि यहां दिए गए फ़्लैग के ज़रिए, परफ़ॉर्मेंस मॉनिटर करने वाले SDK टूल को बंद नहीं किया गया हो:
performance.instrumentationEnabled
पक्का करें कि आपके ब्राउज़र की कैश मेमोरी में डेटा सेव करने की सुविधा बंद है. ऐसा न करने पर, हो सकता है कि ब्राउज़र कोई नई इंस्ट्रुमेंटेशन सेटिंग न चुने.
वेबपेज टैब को बंद करें और फिर से खोलें. लॉग इन करने के लिए फिर से देखें.
अगर आपने अभी-अभी अपने ऐप्लिकेशन में परफ़ॉर्मेंस मॉनिटर करने वाला SDK टूल जोड़ा है, तो आपको अपना ऐप्लिकेशन पूरी तरह से रीस्टार्ट करना पड़ सकता है, ताकि SDK टूल काम करना शुरू कर सके.
अगर आपको अपने ऐप्लिकेशन में बंद किया गया कोई ऐप्लिकेशन नहीं मिलता है, तो Firebase सहायता टीम से संपर्क करें.
कंसोल के हिसाब से, SDK टूल का पता चला है, लेकिन डेटा नहीं दिख रहा है
परफ़ॉर्मेंस मॉनिटर करने की सुविधा, परफ़ॉर्मेंस इवेंट डेटा को परफ़ॉर्मेंस डैशबोर्ड पर दिखाने से पहले प्रोसेस करती है.
अगर "SDK टूल का पता चला" मैसेज दिखाए हुए 24 घंटे से ज़्यादा हो जाने के बाद भी आपको डेटा नहीं दिख रहा है, तो किसी तरह की रुकावट का पता लगाने के लिए, Firebase स्टेटस डैशबोर्ड पर जाएं. अगर कोई रुकावट नहीं है, तो Firebase सहायता से संपर्क करें.
सामान्य समस्याएं हल करना
अगर आपने SDK टूल जोड़ लिया है और अपने ऐप्लिकेशन में परफ़ॉर्मेंस मॉनिटर करने की सुविधा का इस्तेमाल किया है, तो समस्या हल करने के लिए यहां दिए गए तरीके अपनाएं. इससे आपको परफ़ॉर्मेंस मॉनिटर करने से जुड़ी सुविधाओं और टूल से जुड़ी सामान्य समस्याओं को हल करने में मदद मिल सकती है.
ऐप्लिकेशन, परफ़ॉर्मेंस से जुड़े इवेंट को लॉग नहीं कर रहा है
अगर आपको परफ़ॉर्मेंस इवेंट के लिए लॉग मैसेज नहीं दिख रहे हैं, तो समस्या हल करने के लिए यह तरीका आज़माएं:
पक्का करें कि परफ़ॉर्मेंस मॉनिटर करने वाले SDK टूल को आपके ऐप्लिकेशन में सही तरीके से शुरू किया गया हो.
पक्का करें कि यहां दिए गए फ़्लैग के ज़रिए, परफ़ॉर्मेंस मॉनिटर करने वाले SDK टूल को बंद नहीं किया गया हो:
performance.instrumentationEnabled
पक्का करें कि आपके ब्राउज़र की कैश मेमोरी में डेटा सेव करने की सुविधा बंद है. ऐसा न करने पर, हो सकता है कि ब्राउज़र कोई नई इंस्ट्रुमेंटेशन सेटिंग न चुने.
वेबपेज टैब को बंद करें और फिर से खोलें. लॉग इन करने के लिए फिर से देखें.
अगर आपने अभी-अभी अपने ऐप्लिकेशन में परफ़ॉर्मेंस मॉनिटर करने वाला SDK टूल जोड़ा है, तो आपको अपना ऐप्लिकेशन पूरी तरह से रीस्टार्ट करना पड़ सकता है, ताकि SDK टूल काम करना शुरू कर सके.
अगर आपको अपने ऐप्लिकेशन में बंद किया गया कोई ऐप्लिकेशन नहीं मिलता है, तो Firebase सहायता टीम से संपर्क करें.
परफ़ॉर्मेंस डैशबोर्ड में, फ़र्स्ट इनपुट डिले डेटा मौजूद नहीं है
अगर आपको फ़र्स्ट इनपुट डिले मेट्रिक के लिए डेटा नहीं दिख रहा है, तो समस्या हल करने के लिए यह तरीका आज़माएं:
ध्यान रखें कि परफ़ॉर्मेंस मॉनिटर करने की सुविधा, फ़र्स्ट इनपुट डिले मेट्रिक को सिर्फ़ तब रिकॉर्ड करती है, जब कोई उपयोगकर्ता पेज लोड होने के बाद पहले पांच सेकंड के अंदर वेब पेज पर क्लिक करता है.
पक्का करें कि आपने इस मेट्रिक को मेज़र करने के लिए, अपना ऐप्लिकेशन सेट अप किया हो. फ़र्स्ट इनपुट डिले मेट्रिक के लिए, मैन्युअल सेट अप करना ज़रूरी है. खास तौर पर, आपको इस मेट्रिक के लिए पॉलीफ़िल लाइब्रेरी जोड़नी होगी. इंस्टॉल करने के निर्देशों के लिए, लाइब्रेरी के दस्तावेज़ देखें.
ध्यान दें कि परफ़ॉर्मेंस मॉनिटर करने के लिए, वेब ऐप्लिकेशन से जुड़ी अन्य मेट्रिक रिपोर्ट करने के लिए, पॉलीफ़िल लाइब्रेरी को जोड़ना ज़रूरी नहीं है.
परफ़ॉर्मेंस डैशबोर्ड में कस्टम ट्रेस का डेटा मौजूद नहीं है
क्या आपको अपने-आप इकट्ठा हुए ट्रेस का परफ़ॉर्मेंस डेटा दिख रहा है, लेकिन कस्टम कोड ट्रेस के लिए नहीं? समस्या हल करने के लिए, ये तरीके आज़माएं:
Trace API की मदद से इंस्टॉल किए गए कस्टम कोड ट्रेस का सेट अप देखें. खास तौर पर, इनकी जांच करें:
- कस्टम कोड ट्रेस और कस्टम मेट्रिक के नाम यहां दी गई शर्तों को पूरा करते हों: आगे या पीछे की खाली सफ़ेद जगह नहीं, अंडरस्कोर (
_
) वर्ण की शुरुआत में कोई वर्ण नहीं होना चाहिए. साथ ही, इसमें ज़्यादा से ज़्यादा 32 वर्ण होने चाहिए. - सभी ट्रेस शुरू और बंद होनी चाहिए. शुरू नहीं हुआ, बंद नहीं किया गया या शुरू होने से पहले बंद किया गया कोई भी ट्रेस लॉग नहीं किया जाएगा.
ध्यान दें कि
record()
तरीके का इस्तेमाल करने पर, आपको साफ़ तौर पर ट्रेस को शुरू या बंद करने की ज़रूरत नहीं है.- कस्टम कोड ट्रेस और कस्टम मेट्रिक के नाम यहां दी गई शर्तों को पूरा करते हों: आगे या पीछे की खाली सफ़ेद जगह नहीं, अंडरस्कोर (
पक्का करें कि यहां दिए गए फ़्लैग का इस्तेमाल करके, परफ़ॉर्मेंस मॉनिटर करने से जुड़ा डेटा इकट्ठा करने की सुविधा बंद नहीं है:
performance.dataCollectionEnabled
यह फ़्लैग सिर्फ़ कस्टम कोड ट्रेस के लिए डेटा इकट्ठा करने को कंट्रोल करता है (पूरा डेटा नहीं).
अपने लॉग मैसेज देखें और पक्का करें कि परफ़ॉर्मेंस मॉनिटर करने की सुविधा, अनुमानित कस्टम कोड ट्रेस लॉग कर रही है.
अगर परफ़ॉर्मेंस मॉनिटर करने की सुविधा, इवेंट को लॉग कर रही है, लेकिन 24 घंटे के बाद कोई डेटा नहीं दिखता, तो Firebase सहायता टीम से संपर्क करें.
परफ़ॉर्मेंस डैशबोर्ड में नेटवर्क के अनुरोध का डेटा मौजूद नहीं है
अगर आपको नेटवर्क अनुरोध का डेटा नहीं मिल रहा है, तो इन बातों का ध्यान रखें:
परफ़ॉर्मेंस मॉनिटर करने की सुविधा, ब्राउज़र एपीआई से रिपोर्ट किए गए नेटवर्क अनुरोधों के लिए, अपने-आप मेट्रिक इकट्ठा करती है. इन रिपोर्ट में पूरे न हो पाने वाले नेटवर्क अनुरोध शामिल नहीं होते.
आपके कोड में इस्तेमाल हुई नेटवर्किंग लाइब्रेरी और आपके कोड के काम करने के तरीके के आधार पर, परफ़ॉर्मेंस मॉनिटरिंग सिर्फ़ पूरे हो चुके नेटवर्क अनुरोधों की रिपोर्ट दे सकती है. इसका मतलब यह है कि हो सकता है कि खुले छोड़ दिए गए एचटीटीपी/एस कनेक्शन की रिपोर्ट न की जाए.
नेटवर्क अनुरोध डेटा उम्मीद के मुताबिक इकट्ठा नहीं हो रहा है
इस बारे में ज़्यादा जानें कि यूआरएल पैटर्न के तहत, परफ़ॉर्मेंस मॉनिटरिंग की सुविधा नेटवर्क अनुरोध के डेटा को कैसे इकट्ठा करती है.
आप कस्टम यूआरएल पैटर्न भी आज़मा सकते हैं!
अक्सर पूछे जाने वाले सवाल
प्रोजेक्ट के होम पेज पर परफ़ॉर्मेंस कार्ड में मौजूद मुख्य समस्याओं का क्या हुआ?
हमने मुख्य समस्याओं को हाल ही की चेतावनियां से बदल दिया है. ऐसा करने का मकसद यह है कि आप हाल ही में भेजी गई सूचनाओं का फ़ॉलो-अप लें, जो सीमा पार होने पर आपको अपने-आप सूचना देती हैं. अब समस्याओं को रोक दिया गया है और उनकी जगह सूचनाएं पेश की गई हैं.
परफ़ॉर्मेंस कार्ड में सबसे ऊपर मौजूद ऐप्लिकेशन सिलेक्टर, हाल ही की चेतावनियां में दिखने वाली सूचना को फ़िल्टर करता है. चुने गए ऐप्लिकेशन के लिए, सबसे हाल की तीन सूचनाएं दिखती हैं.
सूचनाओं के बारे में ज़्यादा जानने के लिए, परफ़ॉर्मेंस से जुड़ी समस्याओं से जुड़ी सूचनाएं सेट अप करना देखें.
कंसोल में समस्याओं के लिए, थ्रेशोल्ड सेट करने की सुविधा का क्या हुआ?
परफ़ॉर्मेंस मॉनिटर करने की सुविधा, उन मेट्रिक के लिए चेतावनियों के साथ काम करती है जो तय थ्रेशोल्ड को पार कर जाती हैं. परफ़ॉर्मेंस मेट्रिक के लिए कॉन्फ़िगर किए जा सकने वाले इन थ्रेशोल्ड से जुड़ी भ्रम की स्थिति से बचने के लिए, हमने समस्याओं के लिए थ्रेशोल्ड कॉन्फ़िगर करने की सुविधा को हटा दिया है.
Firebase कंसोल में, जानकारी और मेट्रिक से जुड़ी जानकारी का क्या हुआ?
समस्याओं के हल करने के तरीके को बेहतर बनाने के लिए, हमने जानकारी और मेट्रिक पेजों को नए सिरे से डिज़ाइन किए गए, सेंट्रलाइज़्ड यूज़र इंटरफ़ेस (यूआई) से बदल दिया है. समस्या हल करने वाला नया यूज़र इंटरफ़ेस (यूआई), वही मुख्य फ़ंक्शन देता है जो ब्यौरा और मेट्रिक में मिलते हैं. समस्या हल करने के बारे में ज़्यादा जानने के लिए, किसी खास ट्रेस के लिए ज़्यादा डेटा देखना लेख देखें.
सैंपल की संख्या मेरी उम्मीद के मुताबिक क्यों नहीं है?
परफ़ॉर्मेंस मॉनिटर करने की सुविधा, आपके ऐप्लिकेशन के उपयोगकर्ताओं के डिवाइसों से परफ़ॉर्मेंस डेटा इकट्ठा करती है. अगर आपके ऐप्लिकेशन को कई लोग इस्तेमाल करते हैं या ऐप्लिकेशन बड़ी संख्या में परफ़ॉर्मेंस गतिविधि जनरेट करता है, तो परफ़ॉर्मेंस मॉनिटर करने की सुविधा, डेटा इकट्ठा करने की प्रोसेस को डिवाइस के सबसेट तक सीमित कर सकती है. इससे प्रोसेस किए गए इवेंट की संख्या कम हो सकती है. ये सीमाएं इतनी ज़्यादा हैं कि कम इवेंट के बावजूद, मेट्रिक की वैल्यू से अब भी आपके उपयोगकर्ता के ऐप्लिकेशन अनुभव की जानकारी मिलती है.
इकट्ठा किए जाने वाले डेटा के वॉल्यूम को मैनेज करने के लिए, परफ़ॉर्मेंस मॉनिटर करने की सुविधा इन सैंपल विकल्पों का इस्तेमाल करती है:
उपयोगकर्ता के डिवाइस पर अनुरोधों की संख्या सीमित कर दी जाए: किसी डिवाइस को अचानक एक से ज़्यादा ट्रेस न भेजने हों, इसके लिए हम किसी डिवाइस से भेजे जाने वाले कोड और नेटवर्क अनुरोध के ट्रेस की संख्या को हर 10 मिनट में 300 इवेंट तक सीमित कर देते हैं. यह तरीका डिवाइस को लूप किए गए इंस्ट्रुमेंटेशन से बचाता है, जो बड़ी मात्रा में परफ़ॉर्मेंस डेटा भेज सकते हैं. साथ ही, यह किसी एक डिवाइस को परफ़ॉर्मेंस के आकलन पर असर डालने से रोकता है.
डाइनैमिक सैंपलिंग: परफ़ॉर्मेंस मॉनिटर करने की सुविधा, ऐप्लिकेशन के सभी उपयोगकर्ताओं के लिए, हर दिन के हिसाब से कोड ट्रेस के लिए करीब 10 करोड़ इवेंट इकट्ठा करती है. साथ ही, हर ऐप्लिकेशन के लिए नेटवर्क अनुरोध ट्रेस के लिए 10 करोड़ इवेंट इकट्ठा करती है. Firebase रिमोट कॉन्फ़िगरेशन का इस्तेमाल करके, डिवाइसों पर डाइनैमिक सैंपलिंग रेट फ़ेच किया जाता है, ताकि यह तय किया जा सके कि किसी रैंडम डिवाइस को ट्रेस कैप्चर करके भेजना चाहिए या नहीं. जिस डिवाइस को सैंपलिंग के लिए नहीं चुना गया है वह कोई भी इवेंट नहीं भेजता. डाइनैमिक सैंपलिंग रेट, ऐप्लिकेशन के हिसाब से होता है. इसमें यह पक्का करने के लिए बदलाव किया जाता है कि इकट्ठा किए गए डेटा का कुल वॉल्यूम, तय सीमा से कम हो.
उपयोगकर्ता के सेशन, उसके डिवाइस से ज़्यादा जानकारी वाला डेटा भेजते हैं. इस वजह से, डेटा को कैप्चर करने और भेजने के लिए ज़्यादा संसाधनों की ज़रूरत होती है. उपयोगकर्ता सेशन के असर को कम करने के लिए, परफ़ॉर्मेंस मॉनिटर करने की सुविधा भी सेशन की संख्या को सीमित कर सकती है.
सर्वर साइड से अनुरोधों को सीमित करना: यह पक्का करने के लिए कि ऐप्लिकेशन में सैंपलिंग की सीमा पार न हो, परफ़ॉर्मेंस मॉनिटर करने की सुविधा, डिवाइसों से मिलने वाले कुछ इवेंट को हटाने के लिए, सर्वर साइड से सैंपलिंग का इस्तेमाल कर सकती है. हालांकि, सीमित करने के इस तरीके से हमारी मेट्रिक के असर पर कोई असर नहीं पड़ता, लेकिन इसकी वजह से पैटर्न में मामूली बदलाव हो सकते हैं. इनमें ये बदलाव शामिल हैं:
- ट्रेस की संख्या, कोड के किसी हिस्से को एक्ज़ीक्यूट किए जाने की संख्या से अलग हो सकती है.
- कोड में नज़दीक से जुड़े ट्रेस में अलग-अलग संख्या में सैंपल हो सकते हैं.
कंसोल में समस्याएं टैब का क्या हुआ?
हमने 'समस्याएं' टैब की जगह अब 'सूचनाएं' सुविधा शुरू कर दी है. यह सुविधा, तय की गई थ्रेशोल्ड पार करने पर आपको अपने-आप सूचना देती है. अब आपको थ्रेशोल्ड की स्थिति तय करने के लिए, Firebase कंसोल को मैन्युअल तरीके से देखने की ज़रूरत नहीं है. सूचनाओं के बारे में जानने के लिए, परफ़ॉर्मेंस से जुड़ी समस्याओं के लिए सूचनाएं सेट अप करना लेख पढ़ें.
कंसोल में डिवाइस पर और नेटवर्क टैब का क्या हुआ? मैं उन पेजों पर मौजूद ट्रेस कैसे देखूं?
हमने Firebase कंसोल के परफ़ॉर्मेंस मॉनिटर करने वाले सेक्शन को फिर से डिज़ाइन किया है, ताकि डैशबोर्ड टैब एक ही जगह पर आपकी मुख्य मेट्रिक और सभी ट्रेस दिखा सके. फिर से डिज़ाइन करने के तहत, हमने डिवाइस पर और नेटवर्क वाले पेजों को हटा दिया.
डैशबोर्ड टैब के सबसे नीचे मौजूद ट्रेस तालिका में वही जानकारी होती है जो डिवाइस पर और नेटवर्क टैब पर दिखाई देती है, लेकिन इसमें कुछ अतिरिक्त सुविधाएं शामिल हैं, जैसे किसी खास मेट्रिक में हुए बदलाव के प्रतिशत के अनुसार अपने ट्रेस को क्रम से लगाने की सुविधा. किसी खास ट्रेस की सभी मेट्रिक और डेटा देखने के लिए, ट्रेस टेबल में ट्रेस के नाम पर क्लिक करें.
ट्रेस टेबल के इन सबटैब में अपने ट्रेस देखें:
- नेटवर्क अनुरोध के ट्रेस (पहले से मौजूद अलग-अलग तरह के और अपनी पसंद के मुताबिक, दोनों) — नेटवर्क अनुरोध सबटैब
- कस्टम कोड ट्रेस — कस्टम ट्रेस सबटैब
- ऐप्लिकेशन को शुरू करना, ऐप्लिकेशन-इन-फ़ोरग्राउंड, और बैकग्राउंड में मौजूद ट्रेस की सुविधा — कस्टम ट्रेस सबटैब
- स्क्रीन रेंडरिंग के ट्रेस — स्क्रीन रेंडरिंग सबटैब
- पेज लोड के ट्रेस — पेज लोड सबटैब
ट्रेस टेबल और मेट्रिक और डेटा देखने के बारे में ज़्यादा जानकारी के लिए, कंसोल की खास जानकारी देने वाले पेज (iOS+ | Android | वेब) पर जाएं.
धीमे और रुके हुए फ़्रेम की संख्या मेरी उम्मीद के मुताबिक क्यों नहीं है?
धीमे रेंडर होने वाले फ़्रेम और रुके हुए फ़्रेम का हिसाब, डिवाइस की रीफ़्रेश दर 60 हर्ट्ज़ के हिसाब से किया जाता है. अगर डिवाइस की रीफ़्रेश दर 60 हर्ट्ज़ से कम है, तो हर फ़्रेम को रेंडर होने में ज़्यादा समय लगेगा. इसकी वजह यह है कि हर सेकंड में कम फ़्रेम रेंडर होते हैं. रेंडर होने में ज़्यादा समय लगने की वजह से, रेंडर होने में ज़्यादा समय लग सकता है या रेंडर होने में ज़्यादा समय लग सकता है. ऐसा इसलिए, क्योंकि ज़्यादा फ़्रेम रेंडर होने में ज़्यादा समय लेंगे या फ़्रीज़ हो जाएंगे. हालांकि, अगर डिवाइस की रीफ़्रेश दर 60 हर्ट्ज़ से ज़्यादा है, तो हर फ़्रेम को रेंडर होने में कम समय लगेगा. इस वजह से, रेंडर होने में ज़्यादा समय लेने वाले या रुके हुए फ़्रेम की शिकायत की जा सकती है. फ़िलहाल, परफ़ॉर्मेंस मॉनिटर करने वाले SDK टूल में यह सीमा लागू है.
मैं अपने वेब ऐप्लिकेशन में परफ़ॉर्मेंस को मॉनिटर करने के लिए छोटे अक्षरों का इस्तेमाल करने वाला JS SDK ("स्टैंडअलोन" SDK टूल) कैसे जोड़ूं?
अगर आपके ऐप्लिकेशन में सिर्फ़ परफ़ॉर्मेंस मॉनिटर करना ही एक Firebase प्रॉडक्ट है, तो स्टैंडअलोन परफ़ॉर्मेंस मॉनिटर करने वाले SDK टूल (और यहां सुझाई गई हेडर स्क्रिप्ट) का इस्तेमाल किया जा सकता है. ऐसा तब किया जा सकता है, जब आपकी दिलचस्पी इनमें हो:
- नेमस्पेस की गई लाइब्रेरी का इस्तेमाल करना
- SDK टूल के पैकेज का साइज़ कम करना
- आपका पेज लोड होने के बाद, SDK टूल को शुरू करने में देरी करना
अपने ऐप्लिकेशन में, परफ़ॉर्मेंस मॉनिटर करने वाला स्टैंडअलोन 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/10.12.2/firebase-performance.js'
- firebaseConfig आपके ऐप्लिकेशन का Firebase कॉन्फ़िगरेशन ऑब्जेक्ट है
ऊपर दी गई स्क्रिप्ट, स्टैंडअलोन SDK टूल को एसिंक्रोनस रूप से लोड करती है. इसके बाद, विंडो के onload
इवेंट ट्रिगर होने के बाद, Firebase शुरू करती है. इस रणनीति से, पेज लोड मेट्रिक पर SDK टूल के असर को कम किया जा सकता है. ऐसा इसलिए है, क्योंकि SDK टूल को शुरू करने पर, ब्राउज़र ने पहले ही लोड होने वाली मेट्रिक की रिपोर्ट कर दी है.
स्टैंडअलोन परफ़ॉर्मेंस मॉनिटर करने वाले SDK टूल और हेडर स्क्रिप्ट के बारे में जानें
इस स्टैंडअलोन SDK को साइज़ के लिए ऑप्टिमाइज़ किया गया है; Gzip किया गया, यह करीब 10 केबी का है. इसमें Firebase परफ़ॉर्मेंस मॉनिटर करने की सभी सुविधाएं मौजूद हैं. साथ ही, Firebase के मुख्य SDK टूल की कम से कम सुविधाएं भी मौजूद हैं.
Firebase परफ़ॉर्मेंस मॉनिटर करने की सुविधा, fetch
और Promise
एपीआई
का इस्तेमाल करती है, जो पुराने ब्राउज़र पर उपलब्ध नहीं हैं. इन एपीआई के लिए पॉलीफ़िल को स्टैंडर्ड Firebase परफ़ॉर्मेंस मॉनिटरिंग JS SDK टूल में शामिल किया गया है.
हालांकि, साइज़ कम करने के लिए, इन्हें स्टैंडअलोन SDK टूल में शामिल नहीं किया जाता.
परफ़ॉर्मेंस मॉनिटर करने वाला SDK टूल, ब्राउज़र से पेज लोड मेट्रिक का पता लगाने के लिए, Resource Timing API का इस्तेमाल करता है.
नीचे दिया गया स्निपेट, हेडर स्क्रिप्ट का विश्लेषण करता है. इसमें, SDK टूल को शुरू करने में देरी होती है:
(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/10.12.2/firebase-performance-standalone.js'
- firebaseConfig आपके ऐप्लिकेशन का Firebase कॉन्फ़िगरेशन ऑब्जेक्ट है
रीयल-टाइम डेटा प्रोसेसिंग और डिसप्ले के पास
"रीयल-टाइम के आस-पास" परफ़ॉर्मेंस डेटा का क्या मतलब है?
Firebase की परफ़ॉर्मेंस मॉनिटर करने की सुविधा, इकट्ठा किए गए परफ़ॉर्मेंस डेटा को प्रोसेस करते समय प्रोसेस करती है. इससे Firebase कंसोल में, करीब-करीब रीयल-टाइम डेटा दिखता है. प्रोसेस किया गया डेटा, इकट्ठा होने के कुछ ही मिनट में कंसोल में दिखता है. इस वजह से, इसे "रीयल-टाइम के आस-पास" कहा जाता है.
करीब-करीब रीयल-टाइम डेटा प्रोसेसिंग का फ़ायदा पाने के लिए, पक्का करें कि आपका ऐप्लिकेशन रीयल-टाइम में काम करने वाले SDK टूल का वर्शन इस्तेमाल करता हो.
मैं अपने ऐप्लिकेशन के लिए करीब-करीब रीयल-टाइम में परफ़ॉर्मेंस का डेटा कैसे पाऊं?
करीब-करीब रीयल-टाइम डेटा प्रोसेसिंग का फ़ायदा लेने के लिए, आपको सिर्फ़ यह पक्का करना होगा कि आपका ऐप्लिकेशन, परफ़ॉर्मेंस मॉनिटर करने वाले एसडीके का ऐसा वर्शन इस्तेमाल कर रहा हो जो रीयल-टाइम डेटा प्रोसेसिंग के साथ काम करता हो.
यहां रीयल-टाइम में काम करने वाले SDK टूल के वर्शन दिए गए हैं:
- iOS — v7.3.0 या इसके बाद का वर्शन
- tvOS — v8.9.0 या इसके बाद के वर्शन
- Android — v19.0.10 या इसके बाद के वर्शन (या Firebase Android BoM v26.1.0 या इसके बाद के वर्शन)
- Web — v7.14.0 या इसके बाद का वर्शन
ध्यान दें कि हम हमेशा SDK टूल के सबसे नए वर्शन का इस्तेमाल करने का सुझाव देते हैं. हालांकि, ऊपर दिया गया कोई भी वर्शन, परफ़ॉर्मेंस मॉनिटरिंग को चालू कर देगा. इससे, करीब-करीब रीयल टाइम में डेटा को प्रोसेस किया जा सकेगा.
परफ़ॉर्मेंस मॉनिटर करने वाले SDK टूल के किन वर्शन को रीयल-टाइम में काम करने वाला माना जाता है?
SDK टूल के इन वर्शन में रीयल-टाइम डेटा प्रोसेसिंग की सुविधा काम करती है:
- iOS — v7.3.0 या इसके बाद का वर्शन
- tvOS — v8.9.0 या इसके बाद के वर्शन
- Android — v19.0.10 या इसके बाद के वर्शन (या Firebase Android BoM v26.1.0 या इसके बाद के वर्शन)
- Web — v7.14.0 या इसके बाद का वर्शन
ध्यान दें कि हम हमेशा SDK टूल के सबसे नए वर्शन का इस्तेमाल करने का सुझाव देते हैं. हालांकि, ऊपर दिया गया कोई भी वर्शन, परफ़ॉर्मेंस मॉनिटरिंग को चालू कर देगा. इससे, करीब-करीब रीयल टाइम में डेटा को प्रोसेस किया जा सकेगा.
अगर मैं अपने ऐप्लिकेशन को रीयल-टाइम में काम करने वाले एसडीके वर्शन का इस्तेमाल करने के लिए अपडेट न करूं, तो क्या होगा?
अगर आपके ऐप्लिकेशन में रीयल-टाइम में काम करने वाले SDK टूल का वर्शन नहीं है, तब भी आपको ऐप्लिकेशन की परफ़ॉर्मेंस का पूरा डेटा Firebase कंसोल में दिखेगा. हालांकि, इकट्ठा किए जाने के बाद परफ़ॉर्मेंस डेटा को दिखाने में करीब 36 घंटे की देरी होगी.
मैंने रीयल-टाइम में काम करने वाले SDK टूल को अपडेट कर दिया है. हालांकि, मेरे कुछ उपयोगकर्ता अब भी मेरे ऐप्लिकेशन के पुराने वर्शन का इस्तेमाल कर रहे हैं. क्या अब भी मुझे Firebase कंसोल में उनका परफ़ॉर्मेंस डेटा दिख रहा है?
हां! ऐप्लिकेशन इंस्टेंस चाहे किसी भी SDK वर्शन का इस्तेमाल करे, आपको अपने सभी उपयोगकर्ताओं की परफ़ॉर्मेंस डेटा दिखेगा.
अगर हाल ही का डेटा देखा जा रहा है (करीब 36 घंटे से कम पुराना) तो, दिख रहा डेटा, ऐप्लिकेशन इंस्टेंस के उपयोगकर्ताओं का है. इसके लिए, वे रीयल-टाइम में काम करने वाले एसडीके वर्शन का इस्तेमाल कर रहे हैं. हालांकि, हाल ही के नहीं डेटा में आपके ऐप्लिकेशन के सभी वर्शन का परफ़ॉर्मेंस डेटा शामिल होता है.
Firebase सहायता टीम से संपर्क करना
Firebase की सहायता टीम से संपर्क करने पर, आपको हमेशा अपना Firebase ऐप्लिकेशन आईडी शामिल करना होगा. अपने settings प्रोजेक्ट सेटिंग के आपके ऐप्लिकेशन कार्ड में, अपना Firebase ऐप्लिकेशन आईडी देखें.