वेब के लिए, Firebase की परफ़ॉर्मेंस मॉनिटर करना

1. खास जानकारी

इस कोडलैब में, आपको चैट वेब ऐप्लिकेशन की परफ़ॉर्मेंस मेज़र करने के लिए, Firebase की परफ़ॉर्मेंस मॉनिटरिंग का इस्तेमाल करने का तरीका पता चलेगा. लाइव डेमो देखने के लिए, https://fireperf-friendlychat.web.app/ पर जाएं.

3b1284f5144b54f6.png

आपको इनके बारे में जानकारी मिलेगी

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

आपको इन चीज़ों की ज़रूरत होगी

  • आपकी पसंद का आईडीई या टेक्स्ट एडिटर, जैसे कि WebStorm, Atom, Sublime या VS Code
  • टर्मिनल/कंसोल
  • Chrome जैसा कोई ब्राउज़र
  • कोडलैब का सैंपल कोड (कोड पाने का तरीका जानने के लिए, इस कोडलैब का अगला सेक्शन देखें.)

2. सैंपल कोड पाएं

कमांड लाइन से, कोडलैब की GitHub रिपॉज़िटरी का क्लोन बनाएं:

git clone https://github.com/firebase/codelab-friendlychat-web

इसके अलावा, अगर आपने git इंस्टॉल नहीं किया है, तो रिपो को ज़िप फ़ाइल के तौर पर डाउनलोड किया जा सकता है.

स्टार्टर ऐप्लिकेशन इंपोर्ट करना

अपने आईडीई का इस्तेमाल करके, क्लोन की गई रिपॉज़िटरी से 📁 performance-monitoring-start डायरेक्ट्री खोलें या इंपोर्ट करें. इस 📁 performance-monitoring-start डायरेक्ट्री में कोडलैब का शुरुआती कोड होता है, जो एक चैट वेब ऐप्लिकेशन होता है.

3. Firebase प्रोजेक्ट बनाना और उसे सेट अप करना

Firebase प्रोजेक्ट बनाना

  1. Firebase कंसोल में, प्रोजेक्ट जोड़ें पर क्लिक करें.
  2. अपने Firebase प्रोजेक्ट को FriendlyChat नाम दें.

अपने Firebase प्रोजेक्ट का प्रोजेक्ट आईडी याद रखें.

  1. प्रोजेक्ट बनाएं पर क्लिक करें.

Firebase के प्लान की कीमत अपग्रेड करना

'Firebase के लिए Cloud Storage' का इस्तेमाल करने के लिए, आपके Firebase प्रोजेक्ट को इस्तेमाल के हिसाब से पैसे चुकाने (ब्लेज़) की कीमत वाले प्लान पर होना चाहिए. इसका मतलब है कि आपका Firebase प्रोजेक्ट, किसी क्लाउड बिलिंग खाते से जुड़ा होना चाहिए.

  • Cloud Billing खाते के लिए, क्रेडिट कार्ड जैसा पेमेंट का कोई तरीका होना ज़रूरी है.
  • अगर आपने Firebase और Google Cloud का इस्तेमाल पहले कभी नहीं किया है, तो देखें कि क्या आपको 300 डॉलर का क्रेडिट और मुफ़्त में आज़माने के लिए Cloud Billing खाता मिल सकता है.
  • अगर आपने किसी इवेंट के तहत यह कोडलैब किया है, तो इवेंट के आयोजक से पूछें कि क्या कोई Cloud क्रेडिट उपलब्ध है.

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

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

प्रोजेक्ट में Firebase वेब ऐप्लिकेशन जोड़ना

  1. नया Firebase वेब ऐप्लिकेशन बनाने के लिए, वेब आइकॉन 58d6543a156e56f9.pngपर क्लिक करें.
  2. ऐप्लिकेशन को Friendly Chat दूसरे नाम से रजिस्टर करें. इसके बाद, इस ऐप्लिकेशन के लिए Firebase होस्टिंग की सुविधा भी सेट अप करें के बगल में मौजूद बॉक्स को चुनें.
  3. ऐप्लिकेशन रजिस्टर करें पर क्लिक करें.
  4. बाकी के चरणों पर क्लिक करें. आपको अब स्क्रीन पर दिए गए निर्देशों का पालन करने की ज़रूरत नहीं है. इन निर्देशों के बारे में, इस कोडलैब के अगले चरणों में बताया जाएगा.

ea9ab0db531a104c.png

Firebase की पुष्टि करने के लिए, 'Google साइन-इन' चालू करें

उपयोगकर्ताओं को उनके Google खाते से चैट ऐप्लिकेशन में साइन इन करने की अनुमति देने के लिए, हम Google में साइन इन करने के तरीके का इस्तेमाल करेंगे.

आपको Google में साइन इन करने की सुविधा चालू करनी होगी:

  1. Firebase कंसोल में, बाएं पैनल में डेवलप करें सेक्शन पर जाएं.
  2. पुष्टि करें पर क्लिक करें. इसके बाद, साइन इन करने का तरीका टैब ( कंसोल पर जाएं) पर क्लिक करें.
  3. Google साइन इन सेवा देने वाली कंपनी चालू करें और फिर सेव करें पर क्लिक करें.

7f3040a646c2e502.png

Cloud Firestore सेट अप करना

चैट मैसेज सेव करने और नए चैट मैसेज पाने के लिए वेब ऐप्लिकेशन Cloud Firestore का इस्तेमाल करता है.

अपने Firebase प्रोजेक्ट में Cloud Firestore सेट अप करने का तरीका यहां बताया गया है:

  1. Firebase कंसोल के बाएं पैनल में, बिल्ड करें को बड़ा करें. इसके बाद, Firestore डेटाबेस चुनें.
  2. डेटाबेस बनाएं पर क्लिक करें.
  3. डेटाबेस आईडी को (default) पर सेट रहने दें.
  4. अपने डेटाबेस के लिए कोई जगह चुनें. इसके बाद, आगे बढ़ें पर क्लिक करें.
    असल ऐप्लिकेशन के लिए, आपको ऐसी जगह चुननी होगी जो आपके उपयोगकर्ताओं के आस-पास हो.
  5. टेस्ट मोड में चालू करें पर क्लिक करें. सुरक्षा के नियमों से जुड़ा डिसक्लेमर पढ़ें.
    इस कोडलैब में, बाद में अपने डेटा को सुरक्षित रखने के लिए आपको सुरक्षा के नियम जोड़ने होंगे. अपने डेटाबेस के लिए सुरक्षा नियम जोड़े बिना, ऐप्लिकेशन को सार्वजनिक तौर पर डिस्ट्रिब्यूट या एक्सपोज़ करें.
  6. बनाएं पर क्लिक करें.

Firebase के लिए Cloud Storage सेट अप करना

वेब ऐप्लिकेशन में फ़ोटो सेव, अपलोड, और शेयर करने के लिए, 'Firebase के लिए Cloud Storage' का इस्तेमाल किया जाता है.

अपने Firebase प्रोजेक्ट में, 'Firebase के लिए Cloud Storage' सेट अप करने का तरीका यहां बताया गया है:

  1. Firebase कंसोल के बाएं पैनल में, बिल्ड को बड़ा करें. इसके बाद, स्टोरेज चुनें.
  2. शुरू करें पर क्लिक करें.
  3. अपने डिफ़ॉल्ट स्टोरेज बकेट के लिए कोई जगह चुनें.
    US-WEST1, US-CENTRAL1, और US-EAST1 के बकेट Google Cloud Storage के लिए "हमेशा मुफ़्त" टियर का फ़ायदा ले सकते हैं. अन्य सभी जगहों के बकेट, Google Cloud Storage के शुल्क और उसके इस्तेमाल के हिसाब से होते हैं.
  4. टेस्ट मोड में शुरू करें पर क्लिक करें. सुरक्षा के नियमों से जुड़ा डिसक्लेमर पढ़ें.
    इस कोडलैब में, बाद में आपको अपने डेटा को सुरक्षित रखने के लिए सुरक्षा के नियम जोड़ने होंगे. अपनी स्टोरेज बकेट के लिए सुरक्षा नियम जोड़े बिना, किसी ऐप्लिकेशन को सार्वजनिक तौर पर डिस्ट्रिब्यूट या एक्सपोज़ करें.
  5. बनाएं पर क्लिक करें.

4. Firebase का कमांड-लाइन इंटरफ़ेस इंस्टॉल करना

Firebase कमांड-लाइन इंटरफ़ेस (CLI) की मदद से, Firebase होस्टिंग का इस्तेमाल करके अपने वेब ऐप्लिकेशन को स्थानीय तौर पर दिखाया जा सकता है. साथ ही, अपने वेब ऐप्लिकेशन को Firebase प्रोजेक्ट में डिप्लॉय भी किया जा सकता है.

  1. Firebase दस्तावेज़ में, इन निर्देशों का पालन करके सीएलआई इंस्टॉल करें.
  2. टर्मिनल में नीचे दिया गया कमांड चलाकर पुष्टि करें कि सीएलआई को सही तरीके से इंस्टॉल किया गया है:
firebase --version

पक्का करें कि आपके Firebase सीएलआई का वर्शन v8.0.0 या उसके बाद का वर्शन हो.

  1. नीचे दिए गए निर्देश की मदद से, Firebase सीएलआई को अनुमति दें:
firebase login

हमने वेब ऐप्लिकेशन टेंप्लेट सेट अप किया है, ताकि आपके ऐप्लिकेशन की लोकल डायरेक्ट्री (कोडलैब में पहले क्लोन की गई रिपॉज़िटरी) से, Firebase होस्टिंग के लिए आपके ऐप्लिकेशन का कॉन्फ़िगरेशन खींचा जा सके. हालांकि, कॉन्फ़िगरेशन को खींचने के लिए, हमें आपके ऐप्लिकेशन को आपके Firebase प्रोजेक्ट से जोड़ना होगा.

  1. पक्का करें कि कमांड लाइन, आपके ऐप्लिकेशन की लोकल performance-monitoring-start डायरेक्ट्री को ऐक्सेस कर रही हो.
  2. अपने ऐप्लिकेशन को Firebase प्रोजेक्ट से जोड़ने के लिए, यह कमांड चलाएं:
firebase use --add
  1. जब कहा जाए, तब अपना प्रोजेक्ट आईडी चुनें. इसके बाद, अपने Firebase प्रोजेक्ट को कोई दूसरा नाम दें.

अगर आपके पास एक से ज़्यादा एनवायरमेंट (प्रोडक्शन, स्टेजिंग वगैरह) हैं, तो उपनाम काम का होता है. हालांकि, इस कोडलैब के लिए, default के उपनाम का इस्तेमाल करें.

  1. अपनी कमांड लाइन में बाकी निर्देशों का पालन करें.

5. Firebase की परफ़ॉर्मेंस मॉनिटरिंग सुविधा के साथ इंटिग्रेट करना

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

परफ़ॉर्मेंस मॉनिटरिंग जोड़ना और Firebase को शुरू करना

  1. src/index.js फ़ाइल खोलें. इसके बाद, Firebase परफ़ॉर्मेंस मॉनिटर करने वाले SDK टूल को शामिल करने के लिए, TODO के नीचे दी गई लाइन जोड़ें.

index.js

// TODO: Import the Firebase Performance Monitoring library here.
 import {
   getPerformance,
   trace
 } from 'firebase/performance';
  1. हमें Firebase SDK टूल को एक कॉन्फ़िगरेशन ऑब्जेक्ट के साथ शुरू भी करना होगा. इसमें उस Firebase प्रोजेक्ट और वेब ऐप्लिकेशन की जानकारी होगी जिसका हमें इस्तेमाल करना है. हम Firebase होस्टिंग का इस्तेमाल कर रहे हैं. इसलिए, आपके पास एक खास स्क्रिप्ट इंपोर्ट करने का विकल्प है. यह स्क्रिप्ट आपके लिए यह कॉन्फ़िगरेशन करेगी. इस कोडलैब के लिए, हमने public/index.html फ़ाइल के सबसे नीचे आपके लिए पहले ही यह लाइन जोड़ दी है. हालांकि, दोबारा जांच लें कि यह वहां मौजूद है या नहीं.

index.html

<!-- This script is created by webpack -->
<script type="module" src="scripts/main.js"></script>
  1. परफ़ॉर्मेंस मॉनिटरिंग शुरू करने के लिए, src/index.js फ़ाइल में TODO के नीचे यह लाइन जोड़ें.

index.js

// TODO: Initialize Firebase Performance Monitoring.
getPerformance();

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

पहली बार इनपुट में देरी वाली पॉलीफ़िल लाइब्रेरी जोड़ें

फ़र्स्ट इनपुट डिले फ़ायदेमंद साबित होता है, क्योंकि उपयोगकर्ता के इंटरैक्शन का जवाब देने वाला ब्राउज़र, उपयोगकर्ताओं को आपके ऐप्लिकेशन के रिस्पॉन्सिव होने के बारे में पहला इंप्रेशन देता है.

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

परफ़ॉर्मेंस मॉनिटरिंग इंटिग्रेशन के लिए, यह पॉलीफ़िल लाइब्रेरी ज़रूरी नहीं है.

public/index.html फ़ाइल खोलें. इसके बाद, नीचे दी गई लाइन से कम्यूट हटाएं.

index.html

<!-- TODO: Enable First Input Delay polyfill library. -->
<script type="text/javascript">!function(n,e){var t,o,i,c=[],f={passive:!0,capture:!0},r=new Date,a="pointerup",u="pointercancel";function p(n,c){t||(t=c,o=n,i=new Date,w(e),s())}function s(){o>=0&&o<i-r&&(c.forEach(function(n){n(o,t)}),c=[])}function l(t){if(t.cancelable){var o=(t.timeStamp>1e12?new Date:performance.now())-t.timeStamp;"pointerdown"==t.type?function(t,o){function i(){p(t,o),r()}function c(){r()}function r(){e(a,i,f),e(u,c,f)}n(a,i,f),n(u,c,f)}(o,t):p(o,t)}}function w(n){["click","mousedown","keydown","touchstart","pointerdown"].forEach(function(e){n(e,l,f)})}w(n),self.perfMetrics=self.perfMetrics||{},self.perfMetrics.onFirstInputDelay=function(n){c.push(n),s()}}(addEventListener,removeEventListener);</script>

अब आपने अपने कोड में Firebase की परफ़ॉर्मेंस मॉनिटरिंग सुविधा को इंटिग्रेट कर लिया है!

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

6. अपने ऐप्लिकेशन में कस्टम ट्रेस जोड़ना

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

  1. src/index.js फ़ाइल में, परफ़ॉर्मेंस ऑब्जेक्ट पाएं. इसके बाद, इमेज मैसेज अपलोड करने के लिए कस्टम ट्रेस बनाएं.

index.js

// TODO: Create custom trace to monitor image upload.
const t = trace(perf, "saveImageMessage");
  1. कस्टम ट्रेस रिकॉर्ड करने के लिए, आपको ट्रेस के शुरू और खत्म होने के पॉइंट की जानकारी देनी होगी. ट्रेस को टाइमर के तौर पर देखा जा सकता है.

index.js

// TODO: Start the "timer" for the custom trace.
t.start();

 ...

    // TODO: Stop the "timer" for the custom trace.
    t.stop();

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

7. अपने ऐप्लिकेशन में कस्टम मेट्रिक जोड़ें.

कस्टम ट्रेस को और भी कॉन्फ़िगर किया जा सकता है, ताकि उसके दायरे में होने वाले परफ़ॉर्मेंस से जुड़े इवेंट के लिए कस्टम मेट्रिक रिकॉर्ड की जा सकें. उदाहरण के लिए, मेट्रिक का इस्तेमाल करके यह जांच की जा सकती है कि पिछले चरण में तय किए गए कस्टम ट्रेस के लिए, इमेज के साइज़ का अपलोड के समय पर असर पड़ता है या नहीं.

  1. पिछले चरण में बनाए गए कस्टम ट्रेस (src/index.js फ़ाइल में तय किए गए) का पता लगाएं.
  2. अपलोड की गई इमेज का साइज़ रिकॉर्ड करने के लिए, TODO के नीचे यह लाइन जोड़ें.

index.js

 ...

// TODO: Record image size.
t.putMetric('imageSize', file.size);

 ...

इस मेट्रिक की मदद से, परफ़ॉर्मेंस मॉनिटरिंग की सुविधा चालू की जा सकती है. इससे कस्टम ट्रेस की अवधि के साथ-साथ, अपलोड की गई इमेज का साइज़ भी रिकॉर्ड किया जा सकता है.

8. अपने ऐप्लिकेशन में कस्टम एट्रिब्यूट जोड़ना

पिछले चरणों का इस्तेमाल करके, अपने कस्टम ट्रेस पर कस्टम एट्रिब्यूट भी इकट्ठा किए जा सकते हैं. कस्टम एट्रिब्यूट की मदद से, आपके ऐप्लिकेशन के हिसाब से कैटगरी के आधार पर डेटा को सेगमेंट में बांटा जा सकता है. उदाहरण के लिए, MIME टाइप की जांच करने के लिए, इमेज फ़ाइल का MIME टाइप इकट्ठा किया जा सकता है. इससे यह पता चलता है कि MIME टाइप से परफ़ॉर्मेंस पर क्या असर पड़ सकता है.

  1. अपनी src/index.js फ़ाइल में तय किए गए कस्टम ट्रेस का इस्तेमाल करें.
  2. अपलोड की गई इमेज का MIME टाइप रिकॉर्ड करने के लिए, TODO के नीचे दी गई लाइन जोड़ें.

index.js

 ...

// TODO: Record image MIME type.
t.putAttribute('imageType', file.type);

 ...

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

9. [बढ़ाएं] User Timing API की मदद से कस्टम ट्रेस जोड़ना

Firebase परफ़ॉर्मेंस मॉनिटरिंग SDK टूल को इस तरह से डिज़ाइन किया गया है कि इसे अलग-अलग समय पर लोड किया जा सके. इससे, पेज लोड होने के दौरान वेब ऐप्लिकेशन की परफ़ॉर्मेंस पर बुरा असर नहीं पड़ता. SDK टूल लोड होने से पहले, Firebase Performance Monitoring API उपलब्ध नहीं होता. इस स्थिति में, User Timing API का इस्तेमाल करके, अब भी कस्टम ट्रेस जोड़े जा सकते हैं. Firebase परफ़ॉर्मेंस SDK टूल, measure() से अवधियों को चुनेगा और उन्हें कस्टम ट्रेस के तौर पर लॉग करेगा.

हम User Timing API का इस्तेमाल करके, ऐप्लिकेशन की स्टाइलिंग स्क्रिप्ट लोड होने में लगने वाले समय को मेज़र करने जा रहे हैं.

  1. public/index.html फ़ाइल में, ऐप्लिकेशन स्टाइल स्क्रिप्ट लोड होने की शुरुआत के लिए निशान लगाने के लिए यह लाइन जोड़ें.

index.html

<!-- TODO: Mark the starting of `timer` for loading App Styling script. -->
<script type="text/javascript">performance && performance.mark('loadStylingStart');</script>
  1. ऐप्लिकेशन स्टाइल स्क्रिप्ट के लोड होने की आखिरी तारीख को मार्क करने और शुरू और खत्म होने के बीच के समय को मेज़र करने के लिए, ये लाइनें जोड़ें.

index.html

<!-- TODO: Mark the ending of `timer` for loading App Styling script. Measure the duration from start to end. -->
<script type="text/javascript">
  performance && performance.mark('loadStylingEnd');
  performance && performance.measure('loadStyling', 'loadStylingStart', 'loadStylingEnd');
</script>

यहां बनाई गई आपकी एंट्री, Firebase परफ़ॉर्मेंस मॉनिटर करने की सुविधा से अपने-आप इकट्ठा हो जाएगी. आपको बाद में Firebase परफ़ॉर्मेंस कंसोल में, loadStyling नाम का कस्टम ट्रेस दिखेगा.

10. डिप्लॉय करना और इमेज भेजना शुरू करना

Firebase होस्टिंग में डिप्लॉय करें

अपने कोड में Firebase की परफ़ॉर्मेंस मॉनिटरिंग सुविधा जोड़ने के बाद, Firebase होस्टिंग पर अपना कोड डिप्लॉय करने के लिए यह तरीका अपनाएं:

  1. पक्का करें कि कमांड लाइन, आपके ऐप्लिकेशन की लोकल performance-monitoring-start डायरेक्ट्री को ऐक्सेस कर रही हो.
  2. यह कमांड चलाकर, अपनी फ़ाइलों को Firebase प्रोजेक्ट में डिप्लॉय करें:
firebase deploy
  1. कंसोल में ये चीज़ें दिखनी चाहिए:
=== Deploying to 'friendlychat-1234'...

i  deploying firestore, storage, hosting
i  storage: checking storage.rules for compilation errors...
  storage: rules file storage.rules compiled successfully
i  firestore: checking firestore.rules for compilation errors...
  firestore: rules file firestore.rules compiled successfully
i  storage: uploading rules storage.rules...
i  firestore: uploading rules firestore.rules...
i  hosting[friendlychat-1234]: beginning deploy...
i  hosting[friendlychat-1234]: found 8 files in ./public
  hosting[friendlychat-1234]: file upload complete
  storage: released rules storage.rules to firebase.storage/friendlychat-1234.firebasestorage.app
  firestore: released rules firestore.rules to cloud.firestore
i  hosting[friendlychat-1234]: finalizing version...
  hosting[friendlychat-1234]: version finalized
i  hosting[friendlychat-1234]: releasing new version...
  hosting[friendlychat-1234]: release complete

  Deploy complete!

Project Console: https://console.firebase.google.com/project/friendlychat-1234/overview
Hosting URL: https://friendlychat-1234.firebaseapp.com
  1. अपने उस वेब ऐप्लिकेशन पर जाएं जो अब Firebase होस्टिंग का इस्तेमाल करके पूरी तरह से होस्ट किया गया है. इसके लिए, अपने दो Firebase सबडोमेन पर जाएं: https://<projectId>.firebaseapp.com और https://<projectId>.web.app.

पुष्टि करना कि परफ़ॉर्मेंस मॉनिटरिंग की सुविधा चालू है

Firebase कंसोल खोलें और परफ़ॉर्मेंस टैब पर जाएं. अगर आपको "SDK टूल का पता चला" वाला वेलकम मैसेज दिखता है, तो इसका मतलब है कि आपने Firebase परफ़ॉर्मेंस मॉनिटरिंग के साथ इंटिग्रेशन कर लिया है!

30df67e5a07d03b0.png

इमेज मैसेज भेजें

अपने चैट ऐप्लिकेशन में इमेज भेजकर परफ़ॉर्मेंस का कुछ डेटा जनरेट करें.

  1. अपने चैट ऐप्लिकेशन में साइन इन करने के बाद, इमेज अपलोड करने के लिए बटन 13734cb66773e5a3.png पर क्लिक करें.
  2. फ़ाइल पिकर का इस्तेमाल करके, कोई इमेज फ़ाइल चुनें.
  3. एक से ज़्यादा इमेज भेजकर देखें (public/images/ में कुछ सैंपल सेव किए गए हैं), ताकि कस्टम मेट्रिक और कस्टम एट्रिब्यूट के डिस्ट्रिब्यूशन की जांच की जा सके.

ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) में, आपकी चुनी गई इमेज के साथ नए मैसेज दिखने चाहिए.

11. डैशबोर्ड को मॉनिटर करें

वेब ऐप्लिकेशन को डिप्लॉय करने और उपयोगकर्ता के तौर पर इमेज मैसेज भेजने के बाद, परफ़ॉर्मेंस मॉनिटरिंग डैशबोर्ड (Firebase कंसोल में) में परफ़ॉर्मेंस डेटा की समीक्षा की जा सकती है.

अपना डैशबोर्ड ऐक्सेस करना

  1. Firebase कंसोल में वह प्रोजेक्ट चुनें जिसमें आपका Friendly Chat ऐप्लिकेशन है.
  2. बाईं ओर मौजूद पैनल में, क्वालिटी सेक्शन ढूंढें और परफ़ॉर्मेंस पर क्लिक करें.

डिवाइस पर मौजूद डेटा की समीक्षा करना

परफ़ॉर्मेंस मॉनिटरिंग के बाद, आपको डैशबोर्ड में सबसे ऊपर टैब दिखेंगे. अगर आपको अभी तक कोई डेटा या टैब नहीं दिखता है, तो बाद में देखें.

  1. उपयोगकर्ता के डिवाइस पर टैब पर क्लिक करें.
  • पेज लोड टेबल में, अलग-अलग परफ़ॉर्मेंस मेट्रिक दिखती हैं. ये मेट्रिक, पेज के लोड होने के दौरान परफ़ॉर्मेंस मॉनिटरिंग के लिए अपने-आप इकट्ठा होती हैं.
  • अवधि टेबल में, आपके ऐप्लिकेशन के कोड में तय किए गए कस्टम ट्रेस दिखते हैं.
  1. ट्रेस के लिए खास मेट्रिक की समीक्षा करने के लिए, अवधि टेबल में saveImageMessage पर क्लिक करें.

e28758fd02d9ffac.png

  1. इमेज के साइज़ के बंटवारे की समीक्षा करने के लिए, एग्रीगेट करें पर क्लिक करें. इस कस्टम ट्रेस के इमेज साइज़ को मापने के लिए, जोड़ी गई मेट्रिक देखी जा सकती है.

c3cbcfc0c739a0a8.png

  1. पिछले चरण में एग्रीगेट के बगल में मौजूद, समय के साथ पर क्लिक करें. कस्टम ट्रेस की अवधि भी देखी जा सकती है. इकट्ठा किए गए डेटा की ज़्यादा जानकारी देखने के लिए, ज़्यादा देखें पर क्लिक करें.

16983baa31e05732.png

  1. इसके बाद, खुलने वाले पेज में imageType पर क्लिक करके, अवधि के डेटा को इमेज MIME टाइप के हिसाब से सेगमेंट में बांटा जा सकता है. यह खास डेटा, आपके कस्टम ट्रेस में जोड़े गए imageType एट्रिब्यूट की वजह से लॉग किया गया था.

8e5c9f32f42a1ca1.png

नेटवर्क डेटा की समीक्षा करें

एचटीटीपी/एस नेटवर्क अनुरोध ऐसी रिपोर्ट होती है जो नेटवर्क कॉल के जवाब देने में लगने वाले समय और पेलोड साइज़ की जानकारी इकट्ठा करती है.

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

26a2be152a77ffb9.png

12. बधाई हो!

आपने परफ़ॉर्मेंस पर नज़र रखने के लिए Firebase SDK टूल चालू किया है. साथ ही, अपने चैट ऐप्लिकेशन की असल परफ़ॉर्मेंस को मापने के लिए, अपने-आप इकट्ठा होने वाले ट्रेस और कस्टम ट्रेस इकट्ठा किए हैं!

हमने इनके बारे में बताया है:

  • अपने वेब ऐप्लिकेशन में, Firebase परफ़ॉर्मेंस मॉनिटर करने वाला SDK टूल जोड़ना.
  • अपने कोड में कस्टम ट्रेस जोड़ना.
  • कस्टम ट्रेस से जुड़ी कस्टम मेट्रिक रिकॉर्ड करना.
  • कस्टम एट्रिब्यूट का इस्तेमाल करके, परफ़ॉर्मेंस डेटा को सेगमेंट में बांटना.
  • अपने ऐप्लिकेशन की परफ़ॉर्मेंस के बारे में अहम जानकारी पाने के लिए, परफ़ॉर्मेंस मॉनिटर करने वाले डैशबोर्ड का इस्तेमाल करने का तरीका समझना.

ज़्यादा जानें: