एचटीटीपी/एस नेटवर्क अनुरोध की परफ़ॉर्मेंस से जुड़े डेटा (किसी भी ऐप्लिकेशन) के बारे में जानें


Performance Monitoring आपके ऐप्लिकेशन में निगरानी की जा रही प्रोसेस का डेटा इकट्ठा करने के लिए, ट्रेस का इस्तेमाल करता है. ट्रस एक रिपोर्ट होती है, जिसमें आपके ऐप्लिकेशन में किसी समय के दो पॉइंट के बीच कैप्चर किया गया डेटा होता है.

सभी तरह के ऐप्लिकेशन के लिए, Performance Monitoring आपके ऐप्लिकेशन से किए गए हर नेटवर्क अनुरोध के लिए, अपने-आप एक ट्रेस इकट्ठा करता है. इसे एचटीटीपी/एस नेटवर्क अनुरोध ट्रेस कहा जाता है. ये ट्रैस, उस समय के लिए मेट्रिक इकट्ठा करते हैं जब आपका ऐप्लिकेशन किसी सेवा एंडपॉइंट को अनुरोध करता है और जब उस एंडपॉइंट से जवाब मिल जाता है. आपके ऐप्लिकेशन के अनुरोध करने वाले किसी भी एंडपॉइंट के लिए, Performance Monitoring कई मेट्रिक कैप्चर करता है:

  • जवाब मिलने में लगने वाला समय — अनुरोध करने और जवाब मिलने के बीच का समय

  • रिस्पॉन्स पेलोड का साइज़ — ऐप्लिकेशन के डाउनलोड किए गए नेटवर्क पेलोड का बाइट साइज़

  • अनुरोध का पेलोड साइज़ — ऐप्लिकेशन से अपलोड किए गए नेटवर्क पेलोड का बाइट साइज़

  • सफलता की दर — कुल रिस्पॉन्स की तुलना में, सफल रिस्पॉन्स (100 से 399 के बीच के रिस्पॉन्स कोड) का प्रतिशत

इन ट्रेस का डेटा, ट्रेस टेबल के नेटवर्क अनुरोध सब-टैब में देखा जा सकता है. यह परफ़ॉर्मेंस डैशबोर्ड में सबसे नीचे होता है. इस पेज पर, कंसोल इस्तेमाल करने के बारे में ज़्यादा जानें.

नेटवर्क अनुरोध के डेटा को इकट्ठा करने की सुविधा को पसंद के मुताबिक बनाना

Performance Monitoring में, नेटवर्क अनुरोधों के लिए, पहले से मौजूद टूल और डेटा इकट्ठा करने की सुविधा के अलावा, ये विकल्प भी काम करते हैं:

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

यूआरएल पैटर्न के तहत डेटा इकट्ठा करना

Firebase Performance Monitoring, मिलते-जुलते नेटवर्क अनुरोधों के लिए डेटा को अपने-आप इकट्ठा करता है. इससे, आपको नेटवर्क अनुरोध की परफ़ॉर्मेंस के रुझानों को समझने में मदद मिलती है.

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

यूआरएल पैटर्न क्या है?

यूआरएल पैटर्न में एक डोमेन और एक पैटर्न होता है, जो यूआरएल पाथ से मैच कर सकता है. उदाहरण के लिए: example.com/*/animals/**.

  • यूआरएल पैटर्न में ये पाथ सेगमेंट शामिल हो सकते हैं:

    • सादा टेक्स्ट — किसी एग्ज़ैक्ट स्ट्रिंग से मैच करता है
    • * — किसी एक पाथ सेगमेंट में मौजूद किसी भी स्ट्रिंग से मैच करता है
    • ** — किसी भी पाथ के सफ़िक्स से मेल खाता है
  • यूआरएल पैटर्न इनमें से कोई एक हो सकता है:

उदाहरण के लिए: यहां दिए गए यूआरएल अनुरोधों में से कोई भी, यूआरएल पैटर्न example.com/*/animals/** से मैच कर सकता है.

  • example.com/singapore/animals
  • example.com/australia/animals/spiders
  • example.com/australia/animals/marsupials/koala.png

यूआरएल पैटर्न के डोमेन में, पहले सेगमेंट के तौर पर * भी शामिल हो सकता है. उदाहरण के लिए: *.example.com/*/fruits/**.

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

अपने-आप जनरेट होने वाले यूआरएल पैटर्न

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

यूआरएल पैटर्न की ऑटोमैटिक मैचिंग की सुविधा कैसे काम करती है?

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

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

  1. आपका ऐप्लिकेशन, इन जैसे यूआरएल पर कई अनुरोध भेजता है:

    • example.com/germany/animals/bears
    • example.com/germany/animals/birds
    • example.com/germany/cars

    Firebase यह तय करता है कि example.com/germany/** आपके ऐप्लिकेशन के लिए एक सामान्य अनुरोध पैटर्न है. साथ ही, इसे आपके प्रोजेक्ट में अपने-आप यूआरएल पैटर्न के तौर पर जोड़ता है.

    इस यूआरएल पैटर्न से मैच करने वाले किसी भी नए अनुरोध के लिए, Firebase अपने-आप यूआरएल पैटर्न example.com/germany/** के तहत अनुरोधों का डेटा इकट्ठा करता है.

  2. एक हफ़्ते के बाद, आपके ऐप्लिकेशन के ज़्यादातर अनुरोध, example.com/germany/animals/bears और example.com/germany/animals/birds के लिए हैं. इसलिए, Firebase example.com/germany/animals/** का ज़्यादा प्रतिनिधि यूआरएल पैटर्न बनाता है.

    इस नए यूआरएल पैटर्न से मैच करने वाले किसी भी नए अनुरोध के लिए, Firebase सिर्फ़ नए यूआरएल पैटर्न के तहत अनुरोधों का डेटा इकट्ठा करता है. Firebase, example.com/germany/** के तहत example.com/germany/cars के अनुरोधों के लिए डेटा इकट्ठा करना जारी रखता है.

  3. हालांकि, अगले कुछ हफ़्तों में, आपके ऐप्लिकेशन के 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, अपने-आप यूआरएल पैटर्न मैच करने की सुविधा की मदद से कैप्चर नहीं कर रहा है. उदाहरण के लिए, किसी खास यूआरएल की समस्या हल करने या समय के साथ यूआरएल के किसी खास सेट को मॉनिटर करने के लिए, कस्टम यूआरएल पैटर्न का इस्तेमाल किया जा सकता है.

ज़्यादा जानने के लिए, कस्टम यूआरएल पैटर्न बनाना लेख पढ़ें.

परफ़ॉर्मेंस डेटा को ट्रैक करना, देखना, और फ़िल्टर करना

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

अपने डैशबोर्ड में खास मेट्रिक ट्रैक करना

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

<span class=Firebase परफ़ॉर्मेंस मॉनिटरिंग डैशबोर्ड" />

अपने मेट्रिक बोर्ड में कोई मेट्रिक जोड़ने के लिए, यह तरीका अपनाएं:

  1. Firebase कंसोल में, परफ़ॉर्मेंस डैशबोर्ड पर जाएं.
  2. किसी खाली मेट्रिक कार्ड पर क्लिक करें. इसके बाद, अपने बोर्ड में जोड़ने के लिए कोई मौजूदा मेट्रिक चुनें.
  3. ज़्यादा विकल्पों के लिए, जानकारी वाले मेट्रिक कार्ड पर पर क्लिक करें. उदाहरण के लिए, किसी मेट्रिक को बदलने या हटाने के लिए.

मेट्रिक बोर्ड, समय के साथ इकट्ठा की गई मेट्रिक का डेटा दिखाता है. यह डेटा, ग्राफ़िक के तौर पर और संख्या के प्रतिशत में, दोनों तरह से दिखता है.

डैशबोर्ड का इस्तेमाल करने के बारे में ज़्यादा जानें.

ट्रेस और उनका डेटा देखना

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

Performance Monitoring, Firebase कंसोल में समस्या हल करने वाला पेज उपलब्ध कराता है. इस पेज पर, मेट्रिक में हुए बदलावों को हाइलाइट किया जाता है. इससे, ऐप्लिकेशन और उपयोगकर्ताओं पर परफ़ॉर्मेंस से जुड़ी समस्याओं के असर को कम करने और उन्हें तुरंत ठीक करने में मदद मिलती है. परफ़ॉर्मेंस से जुड़ी संभावित समस्याओं के बारे में जानने पर, समस्या हल करने वाले पेज का इस्तेमाल किया जा सकता है. उदाहरण के लिए, इन स्थितियों में:

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

समस्या हल करने वाले पेज को इन तरीकों से ऐक्सेस किया जा सकता है:

  • मेट्रिक डैशबोर्ड पर, मेट्रिक की जानकारी देखें बटन पर क्लिक करें.
  • किसी भी मेट्रिक कार्ड पर, => जानकारी देखें को चुनें. समस्या हल करने वाले पेज पर, आपने जो मेट्रिक चुनी है उसके बारे में जानकारी दिखती है.
  • ट्रेस टेबल में, किसी ट्रेस के नाम या उससे जुड़ी लाइन में मौजूद किसी मेट्रिक वैल्यू पर क्लिक करें.
  • ईमेल सूचना में, अभी जांच करें पर क्लिक करें.

ट्रेस टेबल में किसी ट्रेस के नाम पर क्लिक करने के बाद, अपनी पसंद के हिसाब से मेट्रिक में ड्रिल-डाउन किया जा सकता है. एट्रिब्यूट के हिसाब से डेटा को फ़िल्टर करने के लिए, फ़िल्टर करें बटन पर क्लिक करें. उदाहरण के लिए:

<span class=एट्रिब्यूट के हिसाब से फ़िल्टर किया जा रहा Firebase परफ़ॉर्मेंस मॉनिटरिंग डेटा" />
  • किसी पिछली रिलीज़ या अपनी नई रिलीज़ का डेटा देखने के लिए, ऐप्लिकेशन के वर्शन के हिसाब से फ़िल्टर करें
  • डिवाइस के हिसाब से फ़िल्टर करके, यह जानें कि पुराने डिवाइस आपके ऐप्लिकेशन को कैसे हैंडल करते हैं
  • देश के हिसाब से फ़िल्टर करें, ताकि यह पक्का किया जा सके कि आपके डेटाबेस की जगह से किसी खास इलाके पर असर नहीं पड़ रहा है

अपने ट्रैस का डेटा देखने के बारे में ज़्यादा जानें.

अगले चरण

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

  • Firebase कंसोल में, परफ़ॉर्मेंस से जुड़ी समस्याओं को ट्रैक करने के तरीके के बारे में ज़्यादा जानें.

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

  • उपयोगकर्ता सेशन की ज़्यादा जानकारी वाली रिपोर्ट देखें. इनमें, एक ही सेशन के दौरान इकट्ठा किए गए अन्य ट्रेस के टाइमलाइन कॉन्टेक्स्ट में, कोई खास ट्रेस देखा जा सकता है.