Performance Monitoring, आपके ऐप्लिकेशन में मॉनिटर की गई प्रोसेस का डेटा इकट्ठा करने के लिए, ट्रेस का इस्तेमाल करता है. ट्रेस एक ऐसी रिपोर्ट होती है जिसमें आपके ऐप्लिकेशन में, दो समय के बीच कैप्चर किया गया डेटा शामिल होता है.
सभी तरह के ऐप्लिकेशन के लिए, Performance Monitoring अपने-आप आपके ऐप्लिकेशन से किए गए हर नेटवर्क अनुरोध के लिए एक ट्रेस इकट्ठा करता है. इसे एचटीटीपी/एस नेटवर्क अनुरोध ट्रेस कहा जाता है. ये ट्रेस, उस समय के लिए मेट्रिक इकट्ठा करते हैं जब आपका ऐप्लिकेशन किसी सेवा एंडपॉइंट को अनुरोध भेजता है और जब उस एंडपॉइंट से जवाब मिलता है. आपका ऐप्लिकेशन जिस एंडपॉइंट पर अनुरोध करता है उसके लिए, Performance Monitoring कई मेट्रिक कैप्चर करता है:
जवाब देने में लगने वाला समय — अनुरोध किए जाने से लेकर, जवाब मिलने तक का समय
रिस्पॉन्स पेलोड का साइज़ — ऐप्लिकेशन से डाउनलोड किए गए नेटवर्क पेलोड का साइज़, बाइट में
अनुरोध के पेलोड का साइज़ — ऐप्लिकेशन से अपलोड किए गए नेटवर्क पेलोड का साइज़ बाइट में
सक्सेस रेट — कुल रिस्पॉन्स की तुलना में, सफल रिस्पॉन्स का प्रतिशत (100 से 399 की रेंज में रिस्पॉन्स कोड)
इन ट्रेस का डेटा, ट्रेस टेबल के नेटवर्क अनुरोध सब-टैब में देखा जा सकता है. यह टेबल, परफ़ॉर्मेंस डैशबोर्ड के सबसे नीचे मौजूद होती है. इस पेज पर, कंसोल का इस्तेमाल करने के बारे में ज़्यादा जानें.
नेटवर्क के अनुरोध के डेटा एग्रीगेशन को पसंद के मुताबिक बनाना
नेटवर्क के अनुरोधों के लिए, पहले से मौजूद टूल और डेटा एग्रीगेशन के अलावा, Performance Monitoring में ये विकल्प भी काम करते हैं:
- नेटवर्क अनुरोध के ट्रेस को मैन्युअल तरीके से इंस्ट्रुमेंट करना: आउट-ऑफ़-द-बॉक्स मॉनिटरिंग में, आपके ऐप्लिकेशन के लिए ज़्यादातर नेटवर्क अनुरोध शामिल होते हैं. हालांकि, हो सकता है कि कुछ अनुरोधों की रिपोर्ट न की जाए या नेटवर्क अनुरोध करने के लिए, किसी दूसरी लाइब्रेरी का इस्तेमाल किया जाए. इन मामलों में, Performance Monitoring एपीआई का इस्तेमाल करके, कस्टम नेटवर्क रिक्वेस्ट ट्रेस को मैन्युअल तरीके से इंस्ट्रुमेंट किया जा सकता है.
- कस्टम यूआरएल पैटर्न के तहत कुल डेटा: अगर कुछ ऐसे यूआरएल हैं जिन्हें Firebase, अपने-आप जनरेट होने वाले यूआरएल पैटर्न मैचिंग की मदद से कैप्चर नहीं कर पा रहा है, तो समय के साथ यूआरएल के किसी खास सेट को मॉनिटर करने के लिए, कस्टम यूआरएल पैटर्न बनाए जा सकते हैं.
- सक्सेस रेट का हिसाब लगाने के तरीके को पसंद के मुताबिक बनाएं: कभी-कभी कुछ एपीआई एंडपॉइंट के लिए गड़बड़ी का कोड मिलने की उम्मीद होती है या आपके ऐप्लिकेशन में उसे पहले ही मैनेज कर लिया जाता है. ऐसे मामलों में, सक्सेस रेट का हिसाब लगाने के तरीके को कॉन्फ़िगर किया जा सकता है. साथ ही, अपने ऐप्लिकेशन के नेटवर्क कॉल के सक्सेस रेट को ज़्यादा सटीक तरीके से मॉनिटर किया जा सकता है.
यूआरएल पैटर्न के तहत डेटा एग्रीगेट करना
Firebase Performance Monitoring, नेटवर्क के एक जैसे अनुरोधों के लिए डेटा को अपने-आप इकट्ठा करता है. इससे आपको नेटवर्क के अनुरोध की परफ़ॉर्मेंस के रुझानों को समझने में मदद मिलती है.
हर अनुरोध के लिए, Firebase यह जांच करता है कि नेटवर्क अनुरोध का यूआरएल, किसी यूआरएल पैटर्न से मैच करता है या नहीं. अगर अनुरोध का यूआरएल किसी यूआरएल पैटर्न से मैच करता है, तो Firebase अपने-आप अनुरोध के डेटा को यूआरएल पैटर्न के तहत एग्रीगेट कर देता है. Firebase, Firebase कंसोल के परफ़ॉर्मेंस डैशबोर्ड के नेटवर्क टैब में, यूआरएल पैटर्न और उनका कुल डेटा दिखाता है.
यूआरएल पैटर्न क्या होता है?
यूआरएल पैटर्न में एक डोमेन और एक पैटर्न होता है, जो किसी यूआरएल पाथ से मेल खा सकता है. उदाहरण के लिए: example.com/*/animals/**.
यूआरएल पैटर्न में ये पाथ सेगमेंट शामिल हो सकते हैं:
- सादा टेक्स्ट — एग्ज़ैक्ट स्ट्रिंग से मैच करता है
*— यह किसी एक पाथ सेगमेंट में मौजूद किसी भी स्ट्रिंग से मैच करता है**— पाथ के सफ़िक्स से मैच करता है
यूआरएल पैटर्न इनमें से कोई एक हो सकता है:
- Firebase से मिले पैटर्न — इन्हें यूआरएल के अपने-आप बनने वाले पैटर्न कहा जाता है
- उपयोगकर्ता के तय किए गए पैटर्न — इन्हें कस्टम यूआरएल पैटर्न कहा जाता है
उदाहरण के लिए: इनमें से कोई भी यूआरएल अनुरोध, यूआरएल पैटर्न example.com/*/animals/** से मैच कर सकता है.
example.com/singapore/animalsexample.com/australia/animals/spidersexample.com/australia/animals/marsupials/koala.png
किसी यूआरएल पैटर्न के डोमेन में, पहले सेगमेंट के तौर पर * भी शामिल हो सकता है. उदाहरण के लिए: *.example.com/*/fruits/**.
Firebase हर अनुरोध को सिर्फ़ एक यूआरएल पैटर्न से मैप करता है. अगर आपने कोई कस्टम यूआरएल पैटर्न कॉन्फ़िगर किया है, तो Firebase सबसे पहले अनुरोध के यूआरएल को उन पैटर्न से मैच करने की कोशिश करता है. अगर Firebase को कोई मिलता-जुलता कस्टम यूआरएल पैटर्न नहीं मिलता है, तो वह अनुरोध के यूआरएल को सबसे सही अपने-आप जनरेट होने वाले यूआरएल पैटर्न से मैच करता है. अपने-आप बनने वाले और कस्टम यूआरएल पैटर्न के बारे में ज़्यादा जानने के लिए, यहां दिए गए सेक्शन देखें.
अपने-आप लागू होने वाले यूआरएल पैटर्न
आपके कॉन्फ़िगरेशन के बिना, Performance Monitoring आपके ऐप्लिकेशन के अनुरोधों को अपने-आप बनने वाले यूआरएल पैटर्न से मैच करके, आपके ऐप्लिकेशन के इस्तेमाल के नए व्यवहार को दिखाने की कोशिश करता है.
यूआरएल पैटर्न अपने-आप मैच होने की सुविधा कैसे काम करती है?
Firebase, हर अनुरोध को अपने-आप जनरेट होने वाले उस यूआरएल पैटर्न से मैच करता है जो आपके ऐप्लिकेशन से भेजे गए अनुरोधों से लिया गया है. हालांकि, ध्यान दें कि Firebase सबसे पहले, अनुरोध के यूआरएल को कॉन्फ़िगर किए गए किसी भी कस्टम यूआरएल पैटर्न से मैच करने की कोशिश करता है.
यहां एक बुनियादी उदाहरण दिया गया है. इससे पता चलता है कि Firebase, आपके ऐप्लिकेशन के लिए सबसे सही यूआरएल पैटर्न से अनुरोधों को मैच करने की कोशिश कैसे करता है.
आपका ऐप्लिकेशन, इस तरह के यूआरएल पर कई अनुरोध भेजता है:
example.com/germany/animals/bearsexample.com/germany/animals/birdsexample.com/germany/cars
Firebase यह तय करता है कि
example.com/germany/**आपके ऐप्लिकेशन के लिए एक सामान्य अनुरोध पैटर्न है. साथ ही, इसे आपके प्रोजेक्ट में अपने-आप लागू होने वाले यूआरएल पैटर्न के तौर पर जोड़ता है.इस यूआरएल पैटर्न से मेल खाने वाले किसी भी नए अनुरोध के लिए, Firebase अपने-आप जनरेट होने वाले यूआरएल पैटर्न
example.com/germany/**के तहत, अनुरोधों का डेटा इकट्ठा करता है.एक हफ़्ते के बाद, आपके ऐप्लिकेशन के ज़्यादातर अनुरोध
example.com/germany/animals/bearsऔरexample.com/germany/animals/birdsके लिए हैं. इसलिए, Firebaseexample.com/germany/animals/**का ज़्यादा सटीक यूआरएल पैटर्न जनरेट करता है.इस नए यूआरएल पैटर्न से मेल खाने वाले किसी भी नए अनुरोध के लिए, Firebase अनुरोधों के डेटा को सिर्फ़ नए यूआरएल पैटर्न के तहत इकट्ठा करता है. Firebase,
example.com/germany/**के तहतexample.com/germany/carsको किए गए अनुरोधों के लिए, डेटा इकट्ठा करना जारी रखता है.हालांकि, अगले कुछ हफ़्तों में आपके ऐप्लिकेशन से
example.com/germany/animals/bearsऔरexample.com/germany/animals/birdsको भेजे जाने वाले अनुरोधों की संख्या में काफ़ी कमी आएगी. Firebase यह तय करता है किexample.com/germany/animals/**आपके ऐप्लिकेशन के इस्तेमाल के नए तरीके को नहीं दिखाता है. इसलिए, Firebase इन दोनों अनुरोधों को फिर सेexample.com/germany/**से मैच करना शुरू कर देता है.Firebase,
example.com/germany/animals/**के तहत किसी भी अन्य अनुरोध का डेटा इकट्ठा नहीं करता है. इसकी वजह यह है कि अब यह यूआरएल पैटर्न, अपने-आप जनरेट होने वाले यूआरएल पैटर्न का सबसे सही उदाहरण नहीं है.
यूआरएल पैटर्न अपने-आप मैच होने की सुविधा डाइनैमिक होती है. इसलिए, इन बातों का ध्यान रखें:
नए यूआरएल पैटर्न से, पिछले अनुरोधों के मैच और एग्रीगेट किए गए डेटा पर कोई असर नहीं पड़ता. Firebase, अनुरोध के डेटा को पिछली तारीख से फिर से एग्रीगेट नहीं करता.
नए यूआरएल पैटर्न का असर सिर्फ़ आने वाले समय में किए जाने वाले अनुरोधों पर पड़ता है. Firebase, हर नए अनुरोध को सबसे सही ऑटोमैटिक यूआरएल पैटर्न से मैप करता है. हालांकि, ध्यान दें कि Firebase सबसे पहले, अनुरोध के यूआरएल को कॉन्फ़िगर किए गए किसी भी कस्टम यूआरएल पैटर्न से मैच करने की कोशिश करता है.
अपने-आप जनरेट होने वाले यूआरएल पैटर्न और उनका डेटा देखना
Firebase, सभी यूआरएल पैटर्न और उनके एग्रीगेट किए गए डेटा को ट्रेस टेबल के नेटवर्क अनुरोध सब-टैब में दिखाता है. यह सब-टैब, Firebase कंसोल के परफ़ॉर्मेंस डैशबोर्ड में सबसे नीचे होता है.
आपको बिना कैटगरी वाले लेबल के साथ यूआरएल पैटर्न दिख सकते हैं. ये अपने-आप बनने वाले "ब्रॉड" यूआरएल पैटर्न होते हैं. इनके तहत, Firebase उन अनुरोधों का कुल डेटा इकट्ठा कर सकता है जो किसी खास यूआरएल पैटर्न से मैच नहीं करते.
जब किसी यूआरएल पैटर्न के तहत इकट्ठा किए गए डेटा के लिए, डेटा के रखरखाव की अवधि खत्म हो जाती है, तो Firebase उस डेटा को यूआरएल पैटर्न से मिटा देता है. अगर अपने-आप जनरेट हुए यूआरएल पैटर्न के तहत इकट्ठा किए गए सभी डेटा की समयसीमा खत्म हो जाती है, तो Firebase उस यूआरएल पैटर्न को Firebase कंसोल से मिटा देता है.
कस्टम यूआरएल पैटर्न
कस्टम यूआरएल पैटर्न बनाए जा सकते हैं, ताकि उन यूआरएल पैटर्न को मॉनिटर किया जा सके जिन्हें Firebase, यूआरएल पैटर्न अपने-आप मैच होने की सुविधा की मदद से कैप्चर नहीं कर पा रहा है. उदाहरण के लिए, किसी खास यूआरएल की समस्या हल करने या समय के साथ यूआरएल के किसी खास सेट को मॉनिटर करने के लिए, कस्टम यूआरएल पैटर्न का इस्तेमाल किया जा सकता है.
ज़्यादा जानने के लिए, कस्टम यूआरएल पैटर्न बनाना पर जाएं.
परफ़ॉर्मेंस डेटा को ट्रैक करना, देखना, और फ़िल्टर करना
रीयल-टाइम परफ़ॉर्मेंस डेटा देखने के लिए, पक्का करें कि आपका ऐप्लिकेशन, परफ़ॉर्मेंस मॉनिटरिंग एसडीके के ऐसे वर्शन का इस्तेमाल करता हो जो रीयल-टाइम डेटा प्रोसेसिंग के साथ काम करता हो. रीयल-टाइम परफ़ॉर्मेंस डेटा के बारे में ज़्यादा जानें.
अपने डैशबोर्ड में खास मेट्रिक ट्रैक करना
अपनी मुख्य मेट्रिक के रुझान जानने के लिए, उन्हें परफ़ॉर्मेंस डैशबोर्ड में सबसे ऊपर मौजूद मेट्रिक बोर्ड में जोड़ें. हफ़्ते-दर-हफ़्ते होने वाले बदलावों को देखकर, रिग्रेशन की तुरंत पहचान की जा सकती है. इसके अलावा, यह भी पुष्टि की जा सकती है कि आपके कोड में हाल ही में किए गए बदलावों से परफ़ॉर्मेंस बेहतर हो रही है या नहीं.
Firebase Performance Monitoring dashboard" />
अपने मेट्रिक बोर्ड में कोई मेट्रिक जोड़ने के लिए, यह तरीका अपनाएं:
- Firebase कंसोल में, परफ़ॉर्मेंस डैशबोर्ड पर जाएं.
- किसी खाली मेट्रिक कार्ड पर क्लिक करें. इसके बाद, अपने बोर्ड में जोड़ने के लिए कोई मौजूदा मेट्रिक चुनें.
- ज़्यादा विकल्प देखने के लिए, डेटा वाले मेट्रिक कार्ड पर पर क्लिक करें. उदाहरण के लिए, किसी मेट्रिक को बदलने या हटाने के लिए.
मेट्रिक्स बोर्ड, समय के साथ इकट्ठा किए गए मेट्रिक डेटा को दिखाता है. यह डेटा, ग्राफ़िकल फ़ॉर्म और संख्या के प्रतिशत में हुए बदलाव, दोनों के तौर पर दिखता है.
डैशबोर्ड का इस्तेमाल करने के बारे में ज़्यादा जानें.
ट्रेस और उनका डेटा देखना
अपने ट्रेस देखने के लिए, Firebase कंसोल में परफ़ॉर्मेंस डैशबोर्ड पर जाएं. इसके बाद, नीचे की ओर स्क्रोल करके ट्रेस टेबल पर जाएं और सही सब-टैब पर क्लिक करें. टेबल में हर ट्रेस के लिए कुछ टॉप मेट्रिक दिखती हैं. साथ ही, किसी खास मेट्रिक के लिए, प्रतिशत में हुए बदलाव के हिसाब से सूची को क्रम से लगाया जा सकता है.
Performance Monitoring, Firebase कंसोल में समस्या हल करने वाला पेज उपलब्ध कराता है. इस पेज पर, मेट्रिक में हुए बदलावों को हाइलाइट किया जाता है. इससे आपके ऐप्लिकेशन और उपयोगकर्ताओं पर परफ़ॉर्मेंस की समस्याओं के असर को कम करने और उन्हें तुरंत ठीक करने में मदद मिलती है. परफ़ॉर्मेंस से जुड़ी संभावित समस्याओं के बारे में जानने के लिए, समस्या हल करने वाले पेज का इस्तेमाल किया जा सकता है. उदाहरण के लिए, इन स्थितियों में:
- डैशबोर्ड पर काम की मेट्रिक चुनने पर, आपको एक बड़ा डेल्टा दिखता है.
- ट्रेस टेबल में, सबसे बड़े डेल्टा को सबसे ऊपर दिखाने के लिए क्रम से लगाया जाता है. साथ ही, आपको प्रतिशत में काफ़ी बदलाव दिखता है.
- आपको ईमेल से सूचना मिलती है कि परफ़ॉर्मेंस से जुड़ी कोई समस्या है.
समस्या हल करने वाले पेज को इन तरीकों से ऐक्सेस किया जा सकता है:
- मेट्रिक डैशबोर्ड पर, मेट्रिक की जानकारी देखें बटन पर क्लिक करें.
- किसी भी मेट्रिक कार्ड पर,
=> जानकारी देखें को चुनें. समस्या हल करने वाले पेज पर, आपकी चुनी गई मेट्रिक के बारे में जानकारी दिखती है. - ट्रेस टेबल में, किसी ट्रेस के नाम या उससे जुड़ी लाइन में मौजूद किसी मेट्रिक वैल्यू पर क्लिक करें.
- ईमेल से मिली सूचना में, अभी जांच करें पर क्लिक करें.
ट्रेस टेबल में किसी ट्रेस के नाम पर क्लिक करके, अपनी पसंद की मेट्रिक के बारे में ज़्यादा जानकारी पाई जा सकती है. एट्रिब्यूट के हिसाब से डेटा फ़िल्टर करने के लिए,
Firebase प्रदर्शन मॉनिटर करना के डेटा को एट्रिब्यूट के हिसाब से फ़िल्टर किया जा रहा है" />
- किसी पिछली रिलीज़ या अपनी सबसे नई रिलीज़ का डेटा देखने के लिए, ऐप्लिकेशन के वर्शन के हिसाब से फ़िल्टर करें
- डिवाइस के हिसाब से फ़िल्टर करके जानें कि पुराने डिवाइसों पर आपका ऐप्लिकेशन कैसा परफ़ॉर्म करता है
- देश के हिसाब से फ़िल्टर करें, ताकि यह पक्का किया जा सके कि आपके डेटाबेस की जगह से किसी खास इलाके पर असर न पड़ रहा हो
ट्रेस का डेटा देखने के बारे में ज़्यादा जानें.
अगले चरण
परफ़ॉर्मेंस डेटा की जांच करने के लिए, एट्रिब्यूट इस्तेमाल करने के बारे में ज़्यादा जानें.
Firebase कंसोल में, परफ़ॉर्मेंस की समस्याओं को ट्रैक करने के तरीके के बारे में ज़्यादा जानें.
आपके ऐप्लिकेशन की परफ़ॉर्मेंस को खराब करने वाले नेटवर्क अनुरोधों के लिए, सूचनाएं सेट अप करें. उदाहरण के लिए, अगर किसी यूआरएल पैटर्न के लिए रिस्पॉन्स टाइम आपकी सेट की गई थ्रेशोल्ड से ज़्यादा है, तो अपनी टीम के लिए ईमेल से सूचना पाने की सुविधा कॉन्फ़िगर की जा सकती है.
- उपयोगकर्ता सेशन की ज़्यादा जानकारी वाली रिपोर्ट देखें. इनमें, आपको किसी खास ट्रेस को उसी सेशन के दौरान इकट्ठा किए गए अन्य ट्रेस की टाइमलाइन के हिसाब से देखने का विकल्प मिलता है.