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

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

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

कस्टम कोड ट्रेस की डिफ़ॉल्ट मेट्रिक उसकी "अवधि" (ट्रैस के शुरू और बंद होने के समय के बीच का समय) है. हालांकि, आपके पास कस्टम मेट्रिक जोड़ने की सुविधा भी है.

अपने कोड में, परफ़ॉर्मेंस मॉनिटर करने वाले SDK टूल से मिले एपीआई का इस्तेमाल करके, कस्टम कोड ट्रेस के शुरू और आखिरी हिस्से को तय किया जाता है. Android ऐप्लिकेशन के लिए, @AddTrace एनोटेशन का इस्तेमाल करके अलग-अलग तरीकों पर नज़र रखी जा सकती है. कस्टम कोड ट्रेस बनाने के बाद, उन्हें कभी भी शुरू किया जा सकता है. ये थ्रेड सुरक्षित हैं.

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

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

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

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

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

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

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

खास ऐप्लिकेशन कोड को मॉनिटर करने के लिए कस्टम कोड ट्रेस जोड़ने के लिए, परफ़ॉर्मेंस मॉनिटर करने से जुड़े Trace API का इस्तेमाल करें.

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

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

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

Kotlin+KTX

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

val myTrace = Firebase.performance.newTrace("test_trace")
myTrace.start()

// code that you want to trace

myTrace.stop()

Java

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace

myTrace.stop();

(ज़रूरी नहीं) @AddTrace का इस्तेमाल करके, खास तरीकों पर नज़र रखना

Android ऐप्लिकेशन में, इंस्ट्रुमेंट वाले कस्टम कोड ट्रेस के लिए @AddTrace की जानकारी भी काम करती है. इस सुविधा का इस्तेमाल करने से, ट्रेस बताए गए तरीके की शुरुआत से शुरू होता है और तरीका पूरा होने पर रुक जाता है. इसमें, तरीका से शुरू की गई सभी चीज़ें भी शामिल हैं.

उदाहरण के लिए, आपके पास onCreateTrace नाम का कस्टम कोड ट्रेस बनाने का विकल्प है. यह कोड, onCreate() तरीके को कॉल करने पर चलता है.

Kotlin+KTX

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
// the `enabled` argument is optional and defaults to true
@AddTrace(name = "onCreateTrace", enabled = true)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
}

Java

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
@Override
@AddTrace(name = "onCreateTrace", enabled = true /* optional */)
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

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

कस्टम कोड ट्रेस में कस्टम मेट्रिक जोड़ने के लिए, परफ़ॉर्मेंस मॉनिटर करने वाले Trace API का इस्तेमाल करें.

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

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

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

Kotlin+KTX

val myTrace = Firebase.performance.newTrace("test_trace")
myTrace.start()

// code that you want to trace (and log custom metrics)
val item = cache.fetch("item")
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1)
} else {
    myTrace.incrementMetric("item_cache_miss", 1)
}

myTrace.stop()

Java

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace (and log custom metrics)
Item item = cache.fetch("item");
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1);
} else {
    myTrace.incrementMetric("item_cache_miss", 1);
}

myTrace.stop();

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

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

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

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

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

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

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

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

Kotlin+KTX

Firebase.performance.newTrace("test_trace").trace {
    // Update scenario.
    putAttribute("experiment", "A")

    // Reading scenario.
    val experimentValue = getAttribute("experiment")

    // Delete scenario.
    removeAttribute("experiment")

    // Read attributes.
    val traceAttributes = this.attributes
}

Java

Trace trace = FirebasePerformance.getInstance().newTrace("test_trace");

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

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

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

// Read attributes.
Map<String, String> traceAttributes = trace.getAttributes();

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

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

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

Firebase की परफ़ॉर्मेंस मॉनिटर करने वाले डैशबोर्ड में मौजूद मेट्रिक बोर्ड की इमेज

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

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

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

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

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

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

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

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

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

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

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

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

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

अगले चरण

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