परफ़ॉर्मेंस मॉनिटर करने की सुविधा, ट्रेस इकट्ठा करती है, ताकि आप अपने ऐप्लिकेशन की परफ़ॉर्मेंस को मॉनिटर कर सकें. ऐप्लिकेशन ट्रेस समय के दौरान दो बिंदुओं के बीच कैप्चर किए गए परफ़ॉर्मेंस डेटा की एक रिपोर्ट है आपका ऐप्लिकेशन.
कॉन्टेंट बनाने परफ़ॉर्मेंस मॉनिटरिंग की मदद से, नेटवर्क अनुरोध के ट्रेस अपने-आप इकट्ठा किए जाते हैं अपने ऐप्लिकेशन के ज़्यादातर नेटवर्क अनुरोध शामिल करते हैं. हालांकि, हो सकता है कि कुछ अनुरोध रिपोर्ट नहीं की जाती या नेटवर्क के अनुरोध करने के लिए किसी दूसरी लाइब्रेरी का इस्तेमाल किया जा सकता है. इनमें मामलों में, परफ़ॉर्मेंस मॉनिटर करने वाले एपीआई का इस्तेमाल मैन्युअल तरीके से कस्टम नेटवर्क अनुरोध ट्रेस. कस्टम नेटवर्क अनुरोध के ट्रेस सिर्फ़ हैं Apple और Android ऐप्लिकेशन पर काम करती है.
कस्टम नेटवर्क अनुरोध ट्रेस के लिए डिफ़ॉल्ट मेट्रिक वही होती हैं जो परफ़ॉर्मेंस मॉनिटर करने की सुविधा की मदद से, नेटवर्क अनुरोध को अपने-आप इकट्ठा किया जाता है. खास तौर पर, रिस्पॉन्स का समय, रिस्पॉन्स और पेलोड का साइज़, और सक्सेस रेट के लिए अनुरोध करना. अपने हिसाब से चुनी गई रेंज नेटवर्क अनुरोध के ट्रेस, कस्टम मेट्रिक जोड़ने की सुविधा नहीं देते हैं.
अपने कोड में, कस्टम नेटवर्क अनुरोध की शुरुआत और आखिर में जानकारी दी जाती है परफ़ॉर्मेंस मॉनिटर करने वाले SDK टूल से मिले एपीआई का इस्तेमाल करके ट्रेस करें.
कस्टम नेटवर्क अनुरोध के ट्रेस, Firebase कंसोल में ऐसे नेटवर्क अनुरोध जिन्हें परफ़ॉर्मेंस मॉनिटर अपने-आप कैप्चर करता है (ट्रेस टेबल के नेटवर्क अनुरोध सबटैब में).
नेटवर्क अनुरोध के कस्टम ट्रेस जोड़ें
परफ़ॉर्मेंस मॉनिटर करने वाले एचटीटीपीमेट्रिक एपीआई का इस्तेमाल करें (स्विफ़्ट | ओबीजे-सी) का इस्तेमाल किया जा सकता है.
परफ़ॉर्मेंस मॉनिटर करने की सुविधा में, कस्टम नेटवर्क के अनुरोधों को मैन्युअल तरीके से भेजने के लिए, मिलता-जुलता कोड जोड़ें इन सुझावों को लागू करता है:
Swift
guard let metric = HTTPMetric(url: "https://www.google.com", httpMethod: .get) else { return }
metric.start()
guard let url = URL(string: "https://www.google.com") else { return }
let request: URLRequest = URLRequest(url:url)
let session = URLSession(configuration: .default)
let dataTask = session.dataTask(with: request) { (urlData, response, error) in
if let httpResponse = response as? HTTPURLResponse {
metric.responseCode = httpResponse.statusCode
}
metric.stop()
}
dataTask.resume()
Objective-C
@property (nonatomic) FIRHTTPMetric *metric;
- (void)beginManualNetworkInstrumentation {
self.metric =
[[FIRHttpMetric alloc] initWithURL:[NSURL URLWithString:@"https://www.google.com"]
HTTPMethod:FIRHTTPMethodGET];
[self.metric start];
NSURLRequest *request =
[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.google.com"]];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request
delegate:self];
[connection resume];
}
- (void)connection:(NSURLConnection *)connection
didReceiveResponse:(NSURLResponse *) response {
NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response
self.metric.responseCode = httpResponse.statusCode;
[self.metric stop];
}
कस्टम नेटवर्क अनुरोध ट्रेस भी कस्टम एट्रिब्यूट जोड़ने की सुविधा देते हैं (स्विफ़्ट | ओबीजे-सी) कस्टम मेट्रिक नहीं.
अगले चरण
- खराब नेटवर्क अनुरोधों के लिए सूचनाएं सेट अप करें परफ़ॉर्मेंस को बेहतर बनाना है. उदाहरण के लिए, आप तो आपकी टीम, अगर किसी खास यूआरएल पैटर्न के लिए जवाब देने का समय जिसे आपने सेट किया है.