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


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

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

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

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

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

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

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

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

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

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

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

किसी खास ऐप्लिकेशन कोड को मॉनिटर करने के लिए, कस्टम कोड ट्रेस जोड़ने के लिए Performance Monitoring 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);
}

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

कस्टम कोड ट्रेस में कस्टम मेट्रिक जोड़ने के लिए, Performance Monitoring 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();

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

कस्टम कोड ट्रेस में कस्टम एट्रिब्यूट जोड़ने के लिए, Performance Monitoring 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();

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

अगले चरण

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