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

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

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

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

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

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

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

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

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

तीव्र

नोट: यह फायरबेस उत्पाद 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 पैटर्न के लिए प्रतिक्रिया समय आपके द्वारा निर्धारित सीमा से अधिक हो जाता है।