Performance Monitoring आपके ऐप्लिकेशन में मॉनिटर की जा रही प्रोसेस के बारे में डेटा इकट्ठा करने के लिए ट्रेस का इस्तेमाल करती है. ट्रेस एक रिपोर्ट होती है, जिसमें आपके ऐप्लिकेशन में दो समय बिंदुओं के बीच कैप्चर किया गया डेटा शामिल होता है आपके ऐप्लिकेशन में.
सभी तरह के ऐप्लिकेशन के लिए, Performance Monitoring अपने-आप आपके ऐप्लिकेशन से जारी किए गए हर नेटवर्क अनुरोध के लिए एक ट्रेस इकट्ठा करती है. इसे एचटीटीपी/एस नेटवर्क अनुरोध ट्रेस कहा जाता है. इन ट्रेस में, मेट्रिक इकट्ठा की जाती हैं. ये मेट्रिक, आपके ऐप्लिकेशन के किसी सेवा एंडपॉइंट के लिए अनुरोध जारी करने और उस एंडपॉइंट से जवाब मिलने के बीच के समय के लिए होती हैं. परफ़ॉर्मेंस मॉनिटरिंग, आपके ऐप्लिकेशन के किसी भी एंडपॉइंट के लिए अनुरोध करने पर, Performance Monitoring कई मेट्रिक कैप्चर करती है:
जवाब का समय — अनुरोध किए जाने और जवाब पूरी तरह से मिलने के बीच का समय
जवाब के पेलोड का साइज़ — ऐप्लिकेशन से डाउनलोड किए गए नेटवर्क पेलोड का बाइट साइज़
अनुरोध के पेलोड का साइज़ — ऐप्लिकेशन से अपलोड किए गए नेटवर्क पेलोड का बाइट साइज़
सफलता की दर — कुल जवाबों की तुलना में, सफल जवाबों (100 से 399 के बीच के रिस्पॉन्स कोड) का प्रतिशत
Performance Monitoring परफ़ॉर्मेंस मॉनिटरिंग, इन नेटवर्किंग लाइब्रेरी का इस्तेमाल करने वाले नेटवर्क अनुरोधों के लिए, मेट्रिक अपने-आप इकट्ठा करती है:
Swift
- URLSession
- URLConnection
Objective-C
- NSURLSession
- NSURLConnection
नेटवर्क अनुरोध के डेटा को एग्रीगेट करने के तरीके को पसंद के मुताबिक बनाना
नेटवर्क अनुरोधों के लिए, डिफ़ॉल्ट रूप से उपलब्ध टूल और डेटा एग्रीगेट करने की सुविधा के अलावा, Performance Monitoring में ये विकल्प भी उपलब्ध हैं:
- नेटवर्क अनुरोध के ट्रेस को मैन्युअल तरीके से इंस्ट्रूमेंट करना: डिफ़ॉल्ट रूप से, मॉनिटरिंग में आपके ऐप्लिकेशन के ज़्यादातर नेटवर्क अनुरोध शामिल होते हैं. हालांकि, हो सकता है कि कुछ अनुरोधों की रिपोर्ट न की जाए या नेटवर्क अनुरोध करने के लिए, किसी दूसरी लाइब्रेरी का इस्तेमाल किया जाए. ऐसे मामलों में, आप नेटवर्क अनुरोध के कस्टम ट्रेस को मैन्युअल तरीके से इंस्ट्रूमेंट करने के लिए Performance Monitoring API का इस्तेमाल कर सकते हैं.
- कस्टम यूआरएल पैटर्न के तहत डेटा एग्रीगेट करना: अगर ऐसे खास यूआरएल हैं जिन्हें Firebase, यूआरएल पैटर्न के अपने-आप मैच होने की सुविधा से कैप्चर नहीं कर रहा है, तो समय के साथ यूआरएल के किसी खास सेट को मॉनिटर करने के लिए, कस्टम यूआरएल पैटर्न बनाए जा सकते हैं.
- सफलता की दर के हिसाब से कैलकुलेशन करने के तरीके को पसंद के मुताबिक बनाना: कभी-कभी, कुछ एपीआई एंडपॉइंट के लिए गड़बड़ी कोड की उम्मीद की जाती है या आपके ऐप्लिकेशन में पहले से ही इसे मैनेज किया जाता है. ऐसे मामलों में, सफलता की दर के हिसाब से कैलकुलेशन करने के तरीके को कॉन्फ़िगर किया जा सकता है और आपके ऐप्लिकेशन के नेटवर्क कॉल की सफलता की दर को ज़्यादा सटीक तरीके से मॉनिटर किया जा सकता है.
यूआरएल पैटर्न के तहत डेटा एग्रीगेट करना
Firebase Performance Monitoring एक जैसे नेटवर्क अनुरोधों के लिए डेटा को अपने-आप एग्रीगेट करती है इससे आपको नेटवर्क अनुरोध की परफ़ॉर्मेंस में रुझानों को समझने में मदद मिलती है.
Firebase, हर अनुरोध के लिए यह जांच करता है कि नेटवर्क अनुरोध का यूआरएल, किसी यूआरएल पैटर्न से मेल खाता है या नहीं. अगर अनुरोध का यूआरएल, किसी यूआरएल पैटर्न से मेल खाता है, तो Firebase, अनुरोध के डेटा को यूआरएल पैटर्न के तहत अपने-आप एग्रीगेट कर देता है. Firebase console के 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के लिए होते हैं. इसलिए, Firebase, यूआरएल के अपने-आप जनरेट होने वाले ज़्यादा मिलते-जुलते पैटर्नexample.com/germany/animals/**को जनरेट करता है.इस नए यूआरएल पैटर्न से मैच करने वाले नए अनुरोधों के लिए, Firebase, अनुरोधों के डेटा को सिर्फ़ नए यूआरएल पैटर्न के तहत एग्रीगेट करता है. Firebase,
example.com/germany/carsके अनुरोधों के लिए डेटा कोexample.com/germany/**के तहत एग्रीगेट करता रहता है.हालांकि, अगले कुछ हफ़्तों में, आपके ऐप्लिकेशन के
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 console में सबसे नीचे मौजूद होता है.
आपको तय नहीं की गई कैटगरी लेबल वाले यूआरएल पैटर्न दिख सकते हैं. ये, यूआरएल के अपने-आप जनरेट होने वाले "ब्रॉड" पैटर्न होते हैं. इनके तहत, Firebase उन अनुरोधों के डेटा को एग्रीगेट कर सकता है जो यूआरएल के किसी ज़्यादा खास पैटर्न से मैच नहीं होते.
जब किसी यूआरएल पैटर्न के तहत एग्रीगेट किए गए डेटा के रखरखाव की अवधि खत्म हो जाती है, तो Firebase उस डेटा को यूआरएल पैटर्न से मिटा देता है. अगर यूआरएल के अपने-आप जनरेट होने वाले किसी पैटर्न के तहत एग्रीगेट किया गया सारा डेटा खत्म हो जाता है, तो Firebase उस यूआरएल पैटर्न को Firebase console से मिटा देता है.
यूआरएल के कस्टम पैटर्न
यूआरएल के कस्टम पैटर्न बनाए जा सकते हैं. इससे, यूआरएल के उन पैटर्न को मॉनिटर किया जा सकता है जिन्हें Firebase, यूआरएल पैटर्न के अपने-आप मैच होने की सुविधा से कैप्चर नहीं कर रहा है. उदाहरण के लिए, किसी खास यूआरएल की समस्या हल करने या समय के साथ यूआरएल के किसी खास सेट को मॉनिटर करने के लिए, यूआरएल के कस्टम पैटर्न का इस्तेमाल किया जा सकता है.
ज़्यादा जानने के लिए, यूआरएल के कस्टम पैटर्न बनाना लेख पढ़ें.
परफ़ॉर्मेंस डेटा को ट्रैक करना, देखना, और फ़िल्टर करना
परफ़ॉर्मेंस का रीयल-टाइम डेटा देखने के लिए, पक्का करें कि आपका ऐप्लिकेशन, परफ़ॉर्मेंस मॉनिटरिंग SDK टूल के ऐसे वर्शन का इस्तेमाल करता हो जो रीयल-टाइम डेटा प्रोसेसिंग के साथ काम करता हो. परफ़ॉर्मेंस के रीयल-टाइम डेटा के बारे में ज़्यादा जानें.
अपने डैशबोर्ड में खास मेट्रिक ट्रैक करना
अपनी अहम मेट्रिक के ट्रेंड के बारे में जानने के लिए, उन्हें परफ़ॉर्मेंस डैशबोर्ड में सबसे ऊपर मौजूद मेट्रिक बोर्ड में जोड़ें. हर हफ़्ते होने वाले बदलावों को देखकर, गड़बड़ियों की तुरंत पहचान की जा सकती है. साथ ही, यह भी पुष्टि की जा सकती है कि आपके कोड में हाल ही में किए गए बदलावों से परफ़ॉर्मेंस बेहतर हो रही है.
Firebase परफ़ॉर्मेंस मॉनिटरिंग डैशबोर्ड" />
अपने मेट्रिक बोर्ड में कोई मेट्रिक जोड़ने के लिए, यह तरीका अपनाएं:
- Firebase console में, परफ़ॉर्मेंस डैशबोर्ड पर जाएं.
- खाली मेट्रिक कार्ड पर क्लिक करें. इसके बाद, अपने बोर्ड में जोड़ने के लिए, कोई मौजूदा मेट्रिक चुनें.
- ज़्यादा विकल्पों के लिए, किसी मेट्रिक कार्ड पर पर क्लिक करें. उदाहरण के लिए, किसी मेट्रिक को बदलना या हटाना.
मेट्रिक बोर्ड में, इकट्ठा किया गया मेट्रिक डेटा समय के साथ दिखता है. यह डेटा, ग्राफ़ के तौर पर और संख्या के हिसाब से प्रतिशत में बदलाव के तौर पर, दोनों तरह से दिखता है.
डैशबोर्ड का इस्तेमाल करने के बारे में ज़्यादा जानें.
ट्रेस और उनका डेटा देखना
अपने ट्रेस देखने के लिए, परफ़ॉर्मेंस डैशबोर्ड में Firebase console पर जाएं. इसके बाद, ट्रेस की टेबल पर स्क्रोल करें और सही सबटैब पर क्लिक करें. टेबल में, हर ट्रेस के लिए कुछ अहम मेट्रिक दिखती हैं. साथ ही, किसी खास मेट्रिक के लिए, प्रतिशत में बदलाव के हिसाब से सूची को क्रम से भी लगाया जा सकता है.
Performance Monitoring समस्या हल करने वाला एक पेज उपलब्ध कराती है. इस पेज पर, मेट्रिक में होने वाले बदलावों को हाइलाइट किया जाता है. इससे, आपकेFirebase console और उपयोगकर्ताओं पर परफ़ॉर्मेंस से जुड़ी समस्याओं के असर को तुरंत कम किया जा सकता है. समस्या हल करने वाले पेज का इस्तेमाल तब किया जा सकता है, जब आपको परफ़ॉर्मेंस से जुड़ी संभावित समस्याओं के बारे में पता चलता है. उदाहरण के लिए, इन स्थितियों में:
- डैशबोर्ड पर काम की मेट्रिक चुनने पर, आपको बड़ा डेल्टा दिखता है.
- ट्रेस की टेबल में, सबसे बड़े डेल्टा को सबसे ऊपर दिखाने के लिए क्रम से लगाने पर, आपको प्रतिशत में बड़ा बदलाव दिखता है.
- आपको ईमेल से सूचना मिलती है, जिसमें परफ़ॉर्मेंस से जुड़ी समस्या के बारे में बताया जाता है.
समस्या हल करने वाले पेज को इन तरीकों से ऐक्सेस किया जा सकता है:
- मेट्रिक डैशबोर्ड पर, मेट्रिक की जानकारी देखें बटन पर क्लिक करें.
- किसी भी मेट्रिक कार्ड पर,
=> जानकारी देखें को चुनें. समस्या हल करने वाले पेज पर, चुनी गई मेट्रिक के बारे में जानकारी दिखती है. - ट्रेस की टेबल में, किसी ट्रेस के नाम या उस ट्रेस से जुड़ी लाइन में मौजूद किसी भी मेट्रिक की वैल्यू पर क्लिक करें.
- ईमेल से मिली सूचना में, अभी जांच करें पर क्लिक करें.
ट्रेस की टेबल में, किसी ट्रेस के नाम पर क्लिक करने के बाद, अपनी दिलचस्पी की मेट्रिक के बारे में ज़्यादा जानकारी पाई जा सकती है. डेटा को एट्रिब्यूट के हिसाब से फ़िल्टर करने के लिए,
एट्रिब्यूट के हिसाब से फ़िल्टर किया जा रहा Firebase परफ़ॉर्मेंस मॉनिटरिंग डेटा" />
- पिछले वर्शन या अपने नए वर्शन के बारे में डेटा देखने के लिए, ऐप्लिकेशन के वर्शन के हिसाब से फ़िल्टर करें
- यह जानने के लिए कि पुराने डिवाइसों पर आपका ऐप्लिकेशन कैसा काम करता है, डिवाइस के हिसाब से फ़िल्टर करें
- यह पक्का करने के लिए कि आपके डेटाबेस की जगह, किसी खास इलाके पर असर न डाल रही हो, देश के हिसाब से फ़िल्टर करें
अपने ट्रेस का डेटा देखने के बारे में ज़्यादा जानें .
अगले चरण
परफ़ॉर्मेंस डेटा की जांच करने के लिए, एट्रिब्यूट का इस्तेमाल करने के बारे में ज़्यादा जानें.
परफ़ॉर्मेंस से जुड़ी समस्याओं को Firebase console में ट्रैक करने के तरीके के बारे में ज़्यादा जानें.
नेटवर्क अनुरोधों के लिए सूचनाएं सेट अप करें. इससे, आपके ऐप्लिकेशन की परफ़ॉर्मेंस खराब हो सकती है. उदाहरण के लिए, अगर किसी खास यूआरएल पैटर्न के लिए जवाब का समय, आपके सेट किए गए थ्रेशोल्ड से ज़्यादा हो जाता है, तो अपनी टीम के लिए ईमेल से सूचना मिलने की सुविधा कॉन्फ़िगर की जा सकती है.
- उपयोगकर्ता के सेशन की पूरी रिपोर्ट देखें. इसमें, एक ही सेशन के दौरान इकट्ठा किए गए अन्य ट्रेस के टाइमलाइन कॉन्टेक्स्ट में, किसी खास ट्रेस को देखा जा सकता है.