परफ़ॉर्मेंस मॉनिटर करने की सुविधा, ट्रेस इकट्ठा करती है, ताकि आप अपने ऐप्लिकेशन की परफ़ॉर्मेंस को मॉनिटर कर सकें. ऐप्लिकेशन ट्रेस समय के दौरान दो बिंदुओं के बीच कैप्चर किए गए परफ़ॉर्मेंस डेटा की एक रिपोर्ट है आपका ऐप्लिकेशन.
कॉन्टेंट बनाने परफ़ॉर्मेंस मॉनिटरिंग की मदद से, नेटवर्क अनुरोध के ट्रेस अपने-आप इकट्ठा किए जाते हैं अपने ऐप्लिकेशन के ज़्यादातर नेटवर्क अनुरोध शामिल करते हैं. हालांकि, हो सकता है कि कुछ अनुरोध रिपोर्ट नहीं की जाती या नेटवर्क के अनुरोध करने के लिए किसी दूसरी लाइब्रेरी का इस्तेमाल किया जा सकता है. इनमें मामलों में, परफ़ॉर्मेंस मॉनिटर करने वाले एपीआई का इस्तेमाल मैन्युअल तरीके से कस्टम नेटवर्क अनुरोध ट्रेस. कस्टम नेटवर्क अनुरोध के ट्रेस सिर्फ़ हैं Apple और Android ऐप्लिकेशन पर काम करती है.
कस्टम नेटवर्क अनुरोध ट्रेस के लिए डिफ़ॉल्ट मेट्रिक वही होती हैं जो परफ़ॉर्मेंस मॉनिटर करने की सुविधा की मदद से, नेटवर्क अनुरोध को अपने-आप इकट्ठा किया जाता है. खास तौर पर, रिस्पॉन्स का समय, रिस्पॉन्स और पेलोड का साइज़, और सक्सेस रेट के लिए अनुरोध करना. अपने हिसाब से चुनी गई रेंज नेटवर्क अनुरोध के ट्रेस, कस्टम मेट्रिक जोड़ने की सुविधा नहीं देते हैं.
अपने कोड में, कस्टम नेटवर्क अनुरोध की शुरुआत और आखिर में जानकारी दी जाती है परफ़ॉर्मेंस मॉनिटर करने वाले SDK टूल से मिले एपीआई का इस्तेमाल करके ट्रेस करें.
कस्टम नेटवर्क अनुरोध के ट्रेस, Firebase कंसोल में ऐसे नेटवर्क अनुरोध जिन्हें परफ़ॉर्मेंस मॉनिटर अपने-आप कैप्चर करता है (ट्रेस टेबल के नेटवर्क अनुरोध सबटैब में).
नेटवर्क अनुरोध के कस्टम ट्रेस जोड़ें
परफ़ॉर्मेंस मॉनिटर करने की सुविधा का इस्तेमाल करना HttpMetric API का इस्तेमाल किया जा सकता है.
परफ़ॉर्मेंस मॉनिटर करने की सुविधा में, कस्टम नेटवर्क के अनुरोधों को मैन्युअल तरीके से भेजने के लिए, मिलता-जुलता कोड जोड़ें इन सुझावों को लागू करता है:
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();
कस्टम नेटवर्क अनुरोध के ट्रेस भी जोड़ने की सुविधा देते हैं कस्टम एट्रिब्यूट कस्टम मेट्रिक नहीं.
अगले चरण
- खराब नेटवर्क अनुरोधों के लिए सूचनाएं सेट अप करें परफ़ॉर्मेंस को बेहतर बनाना है. उदाहरण के लिए, आप तो आपकी टीम, अगर किसी खास यूआरएल पैटर्न के लिए जवाब देने का समय जिसे आपने सेट किया है.