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


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

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

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

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

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

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

खास नेटवर्क अनुरोधों को मॉनिटर करने के लिए, कस्टम नेटवर्क अनुरोध ट्रैक जोड़ने के लिए, Performance Monitoring HTTPMetric API (Swift | Obj-C) का इस्तेमाल करें.

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

Swift

ध्यान दें: Firebase का यह प्रॉडक्ट, macOS, Mac Cat कोर्स, WatchOS टारगेट पर उपलब्ध नहीं है.
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

ध्यान दें: Firebase का यह प्रॉडक्ट, macOS, Mac Cat कोर्स, WatchOS टारगेट पर उपलब्ध नहीं है.
@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];
}

कस्टम नेटवर्क अनुरोध ट्रेस भी कस्टम एट्रिब्यूट जोड़ने की सुविधा देते हैं (स्विफ़्ट | ओबीजे-सी) कस्टम मेट्रिक नहीं.

अगले चरण

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