नेटवर्क के खास अनुरोधों के लिए, अपनी पसंद के हिसाब से मॉनिटरिंग की सुविधा चालू करें (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+KTX

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();

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

अगले चरण

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