विशिष्ट नेटवर्क अनुरोधों के लिए कस्टम मॉनिटरिंग जोड़ें (Apple और Android ऐप्स)

प्रदर्शन मॉनिटरिंग आपके ऐप के प्रदर्शन की निगरानी में मदद करने के लिए निशान एकत्र करती है। ट्रेस आपके ऐप में दो समय बिंदुओं के बीच कैप्चर किए गए प्रदर्शन डेटा की एक रिपोर्ट है।

प्रदर्शन मॉनिटरिंग द्वारा स्वचालित रूप से एकत्र किए गए नेटवर्क अनुरोध ट्रेस में आपके ऐप के लिए अधिकांश नेटवर्क अनुरोध शामिल हैं। हालाँकि, कुछ अनुरोध रिपोर्ट नहीं किए जा सकते हैं या आप नेटवर्क अनुरोध करने के लिए किसी भिन्न लाइब्रेरी का उपयोग कर सकते हैं। इन मामलों में, आप कस्टम नेटवर्क अनुरोध ट्रेस को मैन्युअल रूप से साधने के लिए प्रदर्शन मॉनिटरिंग एपीआई का उपयोग कर सकते हैं। कस्टम नेटवर्क अनुरोध ट्रेस केवल Apple और Android ऐप्स के लिए समर्थित हैं।

कस्टम नेटवर्क अनुरोध ट्रेस के लिए डिफ़ॉल्ट मेट्रिक्स प्रदर्शन मॉनिटरिंग द्वारा स्वचालित रूप से एकत्र किए गए नेटवर्क अनुरोध ट्रेस के समान होते हैं, विशेष रूप से प्रतिक्रिया समय, प्रतिक्रिया और अनुरोध पेलोड आकार और सफलता दर। कस्टम नेटवर्क अनुरोध ट्रेस कस्टम मेट्रिक्स जोड़ने का समर्थन नहीं करते हैं।

अपने कोड में, आप प्रदर्शन मॉनिटरिंग एसडीके द्वारा प्रदान की गई एपीआई का उपयोग करके एक कस्टम नेटवर्क अनुरोध ट्रेस की शुरुआत और अंत को परिभाषित करते हैं।

कस्टम नेटवर्क अनुरोध ट्रेस फायरबेस कंसोल में नेटवर्क अनुरोधों के साथ दिखाई देते हैं जिन्हें प्रदर्शन मॉनिटरिंग स्वचालित रूप से कैप्चर करता है (ट्रेस तालिका के नेटवर्क अनुरोध उपटैब में)।

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

विशिष्ट नेटवर्क अनुरोधों की निगरानी के लिए कस्टम नेटवर्क अनुरोध ट्रेस जोड़ने के लिए प्रदर्शन मॉनिटरिंग HTTPMetric API ( स्विफ्ट | ओब्जे-सी ) का उपयोग करें।

प्रदर्शन मॉनिटरिंग में कस्टम नेटवर्क अनुरोधों को मैन्युअल रूप से साधने के लिए, निम्नलिखित के समान कोड जोड़ें:

तीव्र

नोट: यह फायरबेस उत्पाद macOS, Mac कैटालिस्ट, 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()

उद्देश्य सी

नोट: यह फायरबेस उत्पाद macOS, Mac कैटालिस्ट, 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];
}

कस्टम नेटवर्क अनुरोध ट्रेस कस्टम विशेषताएँ ( स्विफ्ट | ओब्जे-सी ) जोड़ने का भी समर्थन करते हैं लेकिन कस्टम मेट्रिक्स नहीं।

अगले कदम

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