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


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

Performance Monitoring से अपने-आप इकट्ठा किए गए नेटवर्क अनुरोधों के ट्रेस में, आपके ऐप्लिकेशन के ज़्यादातर नेटवर्क अनुरोध शामिल होते हैं. हालांकि, हो सकता है कि कुछ अनुरोधों की रिपोर्ट न की गई हो या आपने नेटवर्क अनुरोध करने के लिए किसी दूसरी लाइब्रेरी का इस्तेमाल किया हो. इन मामलों में, Performance Monitoring एपीआई का इस्तेमाल करके, कस्टम नेटवर्क अनुरोध ट्रेस को मैन्युअल तरीके से इंस्ट्रुमेंट किया जा सकता है. पसंद के मुताबिक नेटवर्क का अनुरोध ट्रेस, सिर्फ़ Apple और Android ऐप्लिकेशन के लिए उपलब्ध हैं.

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

अपने कोड में, Performance Monitoring SDK टूल से मिले एपीआई का इस्तेमाल करके, कस्टम नेटवर्क अनुरोध ट्रेस की शुरुआत और खत्म होने की जानकारी दें.

कस्टम नेटवर्क अनुरोध ट्रेस, Firebase कंसोल में दिखते हैं. ये उन नेटवर्क अनुरोधों के साथ दिखते हैं जिन्हें Performance Monitoring अपने-आप कैप्चर करता है. ये नेटवर्क अनुरोध सबटैब में दिखते हैं. यह सबटैब, ट्रेस टेबल में मौजूद होता है.

नेटवर्क अनुरोध के कस्टम ट्रेस जोड़ना

Performance Monitoring HttpMetric API का इस्तेमाल करके, नेटवर्क के खास अनुरोधों को मॉनिटर करने के लिए, नेटवर्क के अनुरोधों के कस्टम ट्रेस जोड़ें.

Performance Monitoring में कस्टम नेटवर्क अनुरोधों को मैन्युअल तरीके से इंस्ट्रुमेंट करने के लिए, यहां दिया गया कोड जोड़ें:

Kotlin

val url = URL("https://www.google.com")
val metric = Firebase.performance.newHttpMetric(
    "https://www.google.com",
    FirebasePerformance.HttpMethod.GET,
)
metric.trace {
    val conn = url.openConnection() as HttpURLConnection
    conn.doOutput = true
    conn.setRequestProperty("Content-Type", "application/json")
    try {
        val outputStream = DataOutputStream(conn.outputStream)
        outputStream.write(data)
    } catch (ignored: IOException) {
    }

    // Set HttpMetric attributes
    setRequestPayloadSize(data.size.toLong())
    setHttpResponseCode(conn.responseCode)

    printStreamContent(conn.inputStream)

    conn.disconnect()
}

Java

HttpMetric metric =
        FirebasePerformance.getInstance().newHttpMetric("https://www.google.com",
                FirebasePerformance.HttpMethod.GET);
final URL url = new URL("https://www.google.com");
metric.start();
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "application/json");
try {
    DataOutputStream outputStream = new DataOutputStream(conn.getOutputStream());
    outputStream.write(data);
} catch (IOException ignored) {
}
metric.setRequestPayloadSize(data.length);
metric.setHttpResponseCode(conn.getResponseCode());
printStreamContent(conn.getInputStream());

conn.disconnect();
metric.stop();

कस्टम नेटवर्क अनुरोध ट्रेस में कस्टम एट्रिब्यूट जोड़ने की सुविधा भी उपलब्ध है. हालांकि, इसमें कस्टम मेट्रिक जोड़ने की सुविधा उपलब्ध नहीं है.

अगले चरण

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