परफ़ॉर्मेंस मॉनिटर करने की सुविधा, ट्रेस इकट्ठा करती है, ताकि आप अपने ऐप्लिकेशन की परफ़ॉर्मेंस को मॉनिटर कर सकें. ट्रेस, परफ़ॉर्मेंस डेटा की रिपोर्ट होती है. यह रिपोर्ट आपके ऐप्लिकेशन में दो पॉइंट के बीच कैप्चर की जाती है.
अपने ऐप्लिकेशन में खास कोड से जुड़े परफ़ॉर्मेंस डेटा को मॉनिटर करने के लिए, खुद के ट्रेस बनाए जा सकते हैं. कस्टम कोड ट्रेस की मदद से यह मेज़र किया जा सकता है कि किसी खास टास्क या एक सेट को पूरा करने में आपके ऐप्लिकेशन को कितना समय लगता है. उदाहरण के लिए, इमेज का सेट लोड करना या अपने डेटाबेस के बारे में क्वेरी करना.
कस्टम कोड ट्रेस की डिफ़ॉल्ट मेट्रिक उसकी "अवधि" (ट्रैस के शुरू और बंद होने के समय के बीच का समय) है. हालांकि, आपके पास कस्टम मेट्रिक जोड़ने की सुविधा भी है.
अपने कोड में, परफ़ॉर्मेंस मॉनिटर करने वाले SDK टूल से मिले एपीआई का इस्तेमाल करके, कस्टम कोड ट्रेस के शुरू और आखिरी हिस्से को तय किया जाता है. कस्टम कोड ट्रेस बनाने के बाद, उन्हें कभी भी शुरू किया जा सकता है. ये थ्रेड सुरक्षित हैं.
इन ट्रेस के लिए इकट्ठा की गई डिफ़ॉल्ट मेट्रिक "अवधि" है. इसलिए, इन्हें कभी-कभी "अवधि ट्रेस" भी कहा जाता है.
ट्रेस टेबल के कस्टम ट्रेस सबटैब में इन ट्रेस का डेटा देखा जा सकता है. यह सबटेबल परफ़ॉर्मेंस डैशबोर्ड में सबसे नीचे मौजूद होती है. कंसोल का इस्तेमाल करने के बारे में बाद में ज़्यादा जानें.
डिफ़ॉल्ट एट्रिब्यूट, कस्टम एट्रिब्यूट, और कस्टम मेट्रिक
कस्टम कोड ट्रेस के लिए, परफ़ॉर्मेंस मॉनिटर करने की सुविधा, डिफ़ॉल्ट एट्रिब्यूट (देश, ब्राउज़र, पेज यूआरएल वगैरह जैसे सामान्य मेटाडेटा) को अपने-आप लॉग करती है, ताकि आप Firebase कंसोल में ट्रेस के लिए डेटा को फ़िल्टर कर सकें. आपके पास कस्टम एट्रिब्यूट (जैसे, गेम लेवल या उपयोगकर्ता प्रॉपर्टी) जोड़ने और उनकी निगरानी करने का विकल्प भी है.ट्रेस के स्कोप में होने वाली परफ़ॉर्मेंस से जुड़े इवेंट के लिए, कस्टम मेट्रिक को रिकॉर्ड करने के लिए, कस्टम कोड ट्रेस को और कॉन्फ़िगर किया जा सकता है. उदाहरण के लिए, कैश मेमोरी हिट और मिस की संख्या या यूज़र इंटरफ़ेस (यूआई) के कुछ समय के लिए रिस्पॉन्स न होने की संख्या के लिए कस्टम मेट्रिक बनाई जा सकती है.
Firebase कंसोल में कस्टम एट्रिब्यूट और कस्टम मेट्रिक, ट्रेस की डिफ़ॉल्ट विशेषताओं और डिफ़ॉल्ट मेट्रिक के साथ दिखते हैं.
कस्टम कोड ट्रेस जोड़ना
खास ऐप्लिकेशन कोड को मॉनिटर करने के लिए कस्टम कोड ट्रेस जोड़ने के लिए, परफ़ॉर्मेंस मॉनिटर करने से जुड़े 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 का इस्तेमाल करके कस्टम कोड ट्रेस जोड़ें
परफ़ॉर्मेंस मॉनिटरिंग ट्रेस एपीआई के अलावा, ब्राउज़र के नेटिव User Timing API का इस्तेमाल करके कस्टम कोड ट्रेस जोड़े जा सकते हैं. इस एपीआई का इस्तेमाल करके मेज़र की गई ट्रेस की अवधि, परफ़ॉर्मेंस मॉनिटर करने वाला SDK टूल अपने-आप चुन लेता है. खास तौर पर, User Timing API का इस्तेमाल करना तब फ़ायदेमंद होता है, जब परफ़ॉर्मेंस मॉनिटरिंग SDK टूल को एसिंक्रोनस रूप से लोड करना हो. SDK टूल शुरू होने के बाद, लोड होने से पहले किए गए मेज़रमेंट को SDK टूल रिकॉर्ड करेगा.
इस सुविधा का इस्तेमाल करने के लिए, जिस कोड को आप उपयोगकर्ता समय चिह्न के साथ ट्रेस करना चाहते हैं उसे रैप करें:
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 का इस्तेमाल करते समय कस्टम मेट्रिक और एट्रिब्यूट को कस्टम कोड ट्रेस में नहीं जोड़ा जा सकता. अगर आपको कस्टम कोड ट्रेस में उन कस्टम एलिमेंट को जोड़ना है, तो परफ़ॉर्मेंस मॉनिटरिंग ट्रेस एपीआई का इस्तेमाल करें.
कस्टम कोड ट्रेस में कस्टम मेट्रिक जोड़ना
कस्टम कोड ट्रेस में कस्टम मेट्रिक जोड़ने के लिए, परफ़ॉर्मेंस मॉनिटर करने वाले 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; }
कस्टम कोड ट्रेस के लिए कस्टम एट्रिब्यूट बनाना
कस्टम कोड ट्रेस में कस्टम एट्रिब्यूट जोड़ने के लिए, परफ़ॉर्मेंस मॉनिटरिंग ट्रेस एपीआई का इस्तेमाल करें.
कस्टम एट्रिब्यूट का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन में ऐसा कोड जोड़ें जो एट्रिब्यूट के बारे में जानकारी देता हो और उसे एक खास कस्टम कोड ट्रेस से जोड़ता हो. ट्रेस के शुरू होने और उसके खत्म होने के बीच के समय में, कस्टम एट्रिब्यूट को किसी भी समय सेट किया जा सकता है.
निम्न पर ध्यान दें:
कस्टम एट्रिब्यूट के नाम नीचे दी गई ज़रूरी शर्तों के मुताबिक होने चाहिए:
- इसकी शुरुआत या आखिर में कोई खाली सफ़ेद जगह नहीं है. इसके आगे कोई अंडरस्कोर (
_
) वर्ण नहीं है - कोई स्पेस नहीं है
- ज़्यादा से ज़्यादा 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();
परफ़ॉर्मेंस डेटा को ट्रैक करना, देखना, और फ़िल्टर करना
रीयल-टाइम में परफ़ॉर्मेंस का डेटा देखने के लिए, पक्का करें कि आपके ऐप्लिकेशन में परफ़ॉर्मेंस मॉनिटर करने वाले एसडीके का ऐसा वर्शन इस्तेमाल किया गया हो जो रीयल-टाइम डेटा प्रोसेसिंग के साथ काम करता हो. रीयल-टाइम में परफ़ॉर्मेंस से जुड़े डेटा के बारे में ज़्यादा जानें.
अपने डैशबोर्ड में खास मेट्रिक ट्रैक करें
यह जानने के लिए कि आपकी मुख्य मेट्रिक किस तरह से रुझान में हैं, उन्हें परफ़ॉर्मेंस डैशबोर्ड के सबसे ऊपर अपने मेट्रिक बोर्ड में जोड़ें. हर हफ़्ते होने वाले बदलावों को देखकर, रिग्रेशन की तुरंत पहचान की जा सकती है. इसके अलावा, यह पुष्टि की जा सकती है कि आपके कोड में हाल ही में किए गए बदलावों की वजह से परफ़ॉर्मेंस बेहतर हो रही है.
![Firebase की परफ़ॉर्मेंस मॉनिटर करने वाले डैशबोर्ड में मौजूद मेट्रिक बोर्ड की इमेज](https://firebase.google.cn/static/docs/perf-mon/images/perf-mon-metrics-board.png?authuser=1&hl=hi)
अपने मेट्रिक बोर्ड में कोई मेट्रिक जोड़ने के लिए, यह तरीका अपनाएं:
- Firebase कंसोल में, परफ़ॉर्मेंस डैशबोर्ड पर जाएं.
- किसी खाली मेट्रिक कार्ड पर क्लिक करें. इसके बाद, अपने बोर्ड में जोड़ने के लिए कोई मौजूदा मेट्रिक चुनें.
- ज़्यादा विकल्पों के लिए, अपने-आप भरे गए मेट्रिक कार्ड पर पर क्लिक करें. उदाहरण के लिए, किसी मेट्रिक को बदलने या हटाने के लिए.
मेट्रिक बोर्ड, समय के साथ इकट्ठा किए गए मेट्रिक डेटा को ग्राफ़िक के तौर पर और संख्या में प्रतिशत में हुए बदलाव के तौर पर दिखाता है.
डैशबोर्ड का इस्तेमाल करने के बारे में ज़्यादा जानें.
ट्रेस और उनका डेटा देखें
अपने ट्रेस देखने के लिए, Firebase कंसोल में परफ़ॉर्मेंस डैशबोर्ड पर जाएं. नीचे की ओर स्क्रोल करके ट्रेस टेबल पर जाएं और सही सबटेबल पर क्लिक करें. इस टेबल में हर ट्रेस के लिए कुछ टॉप मेट्रिक दिखती हैं. साथ ही, किसी खास मेट्रिक के प्रतिशत में हुए बदलाव के हिसाब से, सूची को क्रम में भी लगाया जा सकता है.
परफ़ॉर्मेंस मॉनिटर करने की सुविधा से, 'Firebase कंसोल' में समस्या हल करने वाला पेज उपलब्ध होता है. यह पेज, मेट्रिक में हुए बदलावों को हाइलाइट करता है. इससे आपके ऐप्लिकेशन और उपयोगकर्ताओं पर, परफ़ॉर्मेंस से जुड़ी समस्याओं को तुरंत ठीक करना और उन्हें कम करना आसान हो जाता है. परफ़ॉर्मेंस से जुड़ी संभावित समस्याओं के बारे में जानने के लिए, समस्या हल करने वाले पेज का इस्तेमाल करें. उदाहरण के लिए, इन स्थितियों में:
- आप डैशबोर्ड पर काम की मेट्रिक चुनते हैं और आपको एक बड़ा डेल्टा दिखता है.
- ट्रेस टेबल में सबसे बड़े डेल्टा को क्रम से लगाने पर, आपको काफ़ी प्रतिशत बदलाव दिखता है.
- आपको परफ़ॉर्मेंस से जुड़ी समस्या के बारे में सूचना देने वाला एक ईमेल मिलेगा.
समस्या हल करने वाले पेज को इन तरीकों से ऐक्सेस किया जा सकता है:
- मेट्रिक डैशबोर्ड में, मेट्रिक की जानकारी देखें बटन पर क्लिक करें.
- किसी भी मेट्रिक कार्ड पर,
चुनें. समस्या हल करने वाले पेज पर, आपकी चुनी गई मेट्रिक के बारे में जानकारी दिखती है. => जानकारी देखें - ट्रेस टेबल में, उस ट्रेस से जुड़ी लाइन में किसी ट्रेस के नाम या उसकी किसी भी मेट्रिक वैल्यू पर क्लिक करें.
- ईमेल सूचना में, अभी जांच करें पर क्लिक करें.
ट्रेस टेबल में किसी ट्रेस के नाम पर क्लिक करके, अपनी पसंद की मेट्रिक में
ड्रिल-डाउन किया जा सकता है. एट्रिब्यूट के हिसाब से डेटा को फ़िल्टर करने के लिए,
![Firebase की परफ़ॉर्मेंस मॉनिटर करने से जुड़े डेटा की इमेज, जिसे एट्रिब्यूट के हिसाब से फ़िल्टर किया जा रहा है](https://firebase.google.cn/static/docs/perf-mon/images/perf-mon-filter-by-attribute_web_1.png?authuser=1&hl=hi)
- अपनी साइट के किसी खास पेज का डेटा देखने के लिए, पेज यूआरएल के हिसाब से फ़िल्टर करें
- 3g कनेक्शन से आपके ऐप्लिकेशन पर क्या असर पड़ता है, यह जानने के लिए, असरदार कनेक्शन के टाइप के हिसाब से फ़िल्टर करें
- देश के हिसाब से फ़िल्टर करके, यह पक्का करें कि आपके डेटाबेस की जगह किसी खास इलाके पर असर न डाल रही हो
अपने ट्रेस का डेटा देखने के बारे में ज़्यादा जानें.
अगले चरण
परफ़ॉर्मेंस डेटा की जांच करने के लिए एट्रिब्यूट इस्तेमाल करने के बारे में ज़्यादा जानें.
Firebase कंसोल में परफ़ॉर्मेंस की समस्याओं को ट्रैक करने के तरीके के बारे में ज़्यादा जानें.
कोड में ऐसे बदलावों के लिए सूचनाएं सेट अप करें जो आपके ऐप्लिकेशन की परफ़ॉर्मेंस को खराब कर रहे हैं. उदाहरण के लिए, अगर किसी खास कस्टम कोड ट्रेस की अवधि सेट की गई सीमा से ज़्यादा हो जाती है, तो अपनी टीम के लिए ईमेल सूचना कॉन्फ़िगर की जा सकती है.