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


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

Performance Monitoring, आपके ऐप्लिकेशन के लिए नेटवर्क के ज़्यादातर अनुरोधों से जुड़े ट्रेस अपने-आप इकट्ठा करता है. हालांकि, हो सकता है कि कुछ अनुरोधों की रिपोर्ट न की जाए या नेटवर्क के अनुरोध करने के लिए, किसी दूसरी लाइब्रेरी का इस्तेमाल किया जाए.Performance Monitoring ऐसे मामलों में, नेटवर्क के अनुरोधों से जुड़े कस्टम ट्रेस को मैन्युअल तरीके से इंस्ट्रूमेंट करने के लिए, Performance Monitoring API का इस्तेमाल किया जा सकता है. नेटवर्क के अनुरोधों से जुड़े कस्टम ट्रेस की सुविधा, सिर्फ़ 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();

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

अगले चरण

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