खास ऐप्लिकेशन कोड के लिए, अपने हिसाब से मॉनिटरिंग की सुविधा चालू करें


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

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

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

अपने कोड में, Performance Monitoring एसडीके से मिले एपीआई का इस्तेमाल करके, कस्टम कोड ट्रेस की शुरुआत और खत्म होने की जानकारी दी जाती है. कस्टम कोड ट्रेस को बनाने के बाद, कभी भी शुरू किया जा सकता है. साथ ही, ये थ्रेड सेफ़ होते हैं.

इन ट्रेस के लिए इकट्ठा की गई डिफ़ॉल्ट मेट्रिक "अवधि" होती है. इसलिए, इन्हें कभी-कभी "अवधि ट्रेस" भी कहा जाता है.

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

डिफ़ॉल्ट एट्रिब्यूट, कस्टम एट्रिब्यूट, और कस्टम मेट्रिक

कस्टम कोड ट्रेस के लिए, Performance Monitoring अपने-आप डिफ़ॉल्ट एट्रिब्यूट (देश, ब्राउज़र, पेज का यूआरएल वगैरह जैसा सामान्य मेटाडेटा) लॉग करता है, ताकि Firebase कंसोल में ट्रेस के लिए डेटा को फ़िल्टर किया जा सके. कस्टम एट्रिब्यूट (जैसे, गेम लेवल या उपयोगकर्ता प्रॉपर्टी) को भी जोड़ा और मॉनिटर किया जा सकता है.

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

कस्टम एट्रिब्यूट और कस्टम मेट्रिक, Firebase कंसोल में ट्रेस के लिए डिफ़ॉल्ट एट्रिब्यूट और डिफ़ॉल्ट मेट्रिक के साथ दिखती हैं.

कस्टम कोड ट्रेस जोड़ना

Performance Monitoring Trace API का इस्तेमाल करके, कस्टम कोड ट्रेस जोड़ें. इससे ऐप्लिकेशन के किसी खास कोड को मॉनिटर किया जा सकता है.

निम्न पर ध्यान दें:

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

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

Web

import { trace } from "firebase/performance";

const t = trace(perf, "CUSTOM_TRACE_NAME");
t.start();

// Code that you want to trace 
// ...

t.stop();

Web

const trace = perf.trace("CUSTOM_TRACE_NAME");
trace.start();

// Code that you want to trace 
// ...

trace.stop();

User Timing API का इस्तेमाल करके, कस्टम कोड ट्रेस जोड़ना

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

इस सुविधा का इस्तेमाल करने के लिए, उस कोड को रैप करें जिसे आपको उपयोगकर्ता समय के निशान के साथ ट्रेस करना है:

Web

const performance = window.performance;

performance.mark("measurementStart");

// Code that you want to trace 
// ...

performance.mark("measurementStop");
performance.measure("customTraceName", "measurementStart", "measurementStop");

Web

const performance = window.performance;

performance.mark("measurementStart");

// Code that you want to trace 
// ...

performance.mark("measurementStop");
performance.measure("customTraceName", "measurementStart", "measurementStop");

ध्यान दें कि ऊपर दिए गए उदाहरण में, performance का मतलब ब्राउज़र के window.performance ऑब्जेक्ट से है.

User Timing API का इस्तेमाल करते समय, कस्टम कोड ट्रेस में कस्टम मेट्रिक और एट्रिब्यूट नहीं जोड़े जा सकते. अगर आपको कस्टम कोड ट्रेस में कस्टम एलिमेंट जोड़ने हैं, तो Performance Monitoring Trace API का इस्तेमाल करें.

कस्टम कोड ट्रेस में कस्टम मेट्रिक जोड़ना

कस्टम कोड ट्रेस में कस्टम मेट्रिक जोड़ने के लिए, Performance Monitoring Trace API का इस्तेमाल करें.

निम्न पर ध्यान दें:

  • कस्टम मेट्रिक के नाम के लिए, ये ज़रूरी शर्तें पूरी होनी चाहिए: नाम की शुरुआत या आखिर में कोई व्हाइटस्पेस नहीं होना चाहिए, नाम की शुरुआत में अंडरस्कोर (_) वर्ण नहीं होना चाहिए, और नाम में ज़्यादा से ज़्यादा 100 वर्ण होने चाहिए.
  • हर कस्टम कोड ट्रेस में, ज़्यादा से ज़्यादा 32 मेट्रिक रिकॉर्ड की जा सकती हैं. इनमें डिफ़ॉल्ट अवधि मेट्रिक भी शामिल है.

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

Web

import { trace } from "firebase/performance";

async function getInventory(inventoryIds) {
  const t = trace(perf, "inventoryRetrieval");

  // Tracks the number of IDs fetched (the metric could help you to optimize in the future)
  t.incrementMetric("numberOfIds", inventoryIds.length);

  // Measures the time it takes to request inventory based on the amount of inventory
  t.start();
  const inventoryData = await retrieveInventory(inventoryIds);
  t.stop();

  return inventoryData;
}

Web

async function getInventory(inventoryIds) {
  const trace = perf.trace("inventoryRetrieval");

  // Tracks the number of IDs fetched (the metric could help you to optimize in the future)
  trace.incrementMetric("numberOfIds", inventoryIds.length);

  // Measures the time it takes to request inventory based on the amount of inventory
  trace.start();
  const inventoryData = await retrieveInventory(inventoryIds);
  trace.stop();

  return inventoryData;
}

कस्टम कोड ट्रेस के लिए कस्टम एट्रिब्यूट बनाना

कस्टम कोड ट्रेस में कस्टम एट्रिब्यूट जोड़ने के लिए, Performance Monitoring Trace API का इस्तेमाल करें.

कस्टम एट्रिब्यूट इस्तेमाल करने के लिए, अपने ऐप्लिकेशन में ऐसा कोड जोड़ें जो एट्रिब्यूट को तय करता हो और उसे कस्टम कोड ट्रेस से जोड़ता हो. ट्रेस शुरू होने और ट्रेस बंद होने के बीच, किसी भी समय कस्टम एट्रिब्यूट को सेट किया जा सकता है.

निम्न पर ध्यान दें:

  • कस्टम एट्रिब्यूट के नाम इन ज़रूरी शर्तों के मुताबिक होने चाहिए:

    • शुरू या आखिर में कोई खाली सफ़ेद जगह नहीं होनी चाहिए. साथ ही, शुरुआत में अंडरस्कोर (_) वर्ण नहीं होना चाहिए
    • कोई स्पेस नहीं
    • ज़्यादा से ज़्यादा 32 वर्ण इस्तेमाल किए जा सकते हैं
    • नाम में A-Z, a-z, और _ वर्णों का इस्तेमाल किया जा सकता है.
  • हर कस्टम कोड ट्रेस में, ज़्यादा से ज़्यादा पांच कस्टम एट्रिब्यूट रिकॉर्ड किए जा सकते हैं.

  • कृपया पक्का करें कि कस्टम एट्रिब्यूट में ऐसी कोई जानकारी शामिल न हो जिससे Google को किसी व्यक्ति की व्यक्तिगत पहचान ज़ाहिर हो.

    इस दिशा-निर्देश के बारे में ज़्यादा जानें

Web

import { trace } from "firebase/performance";

const t = trace(perf, "test_trace");
t.putAttribute("experiment", "A");

// Update scenario
t.putAttribute("experiment", "B");

// Reading scenario
const experimentValue = t.getAttribute("experiment");

// Delete scenario
t.removeAttribute("experiment");

// Read attributes
const traceAttributes = t.getAttributes();

Web

const trace = perf.trace("test_trace");
trace.putAttribute("experiment", "A");

// Update scenario
trace.putAttribute("experiment", "B");

// Reading scenario
const experimentValue = trace.getAttribute("experiment");

// Delete scenario
trace.removeAttribute("experiment");

// Read attributes
const traceAttributes = trace.getAttributes();

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

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

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

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

<span class= में मेट्रिक बोर्ड की इमेजFirebase प्रदर्शन मॉनिटर करना डैशबोर्ड" />

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

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

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

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

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

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

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

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

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

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

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

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

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

अगले चरण

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

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

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