افزودن نظارت سفارشی برای درخواست‌های شبکه خاص (برنامه‌های اپل و اندروید)

نظارت بر عملکرد ردیابی هایی را جمع آوری می کند تا به شما در نظارت بر عملکرد برنامه خود کمک کند. ردیابی گزارشی از داده های عملکردی است که بین دو نقطه از زمان در برنامه شما ثبت شده است.

ردیابی درخواست شبکه به طور خودکار توسط نظارت بر عملکرد جمع‌آوری می‌شود، بیشتر درخواست‌های شبکه برای برنامه شما را شامل می‌شود. با این حال، برخی از درخواست‌ها ممکن است گزارش نشوند یا ممکن است از کتابخانه دیگری برای درخواست‌های شبکه استفاده کنید. در این موارد، می‌توانید از Performance Monitoring API برای ابزارسازی دستی ردیابی درخواست شبکه سفارشی استفاده کنید. ردیابی درخواست شبکه سفارشی فقط برای برنامه های اپل و اندروید پشتیبانی می شود.

معیارهای پیش‌فرض برای ردیابی درخواست شبکه سفارشی مانند مواردی است که برای ردیابی درخواست شبکه به‌طور خودکار توسط نظارت بر عملکرد جمع‌آوری می‌شود، به‌ویژه زمان پاسخ، اندازه بار پاسخ و درخواست، و میزان موفقیت. ردیابی درخواست شبکه سفارشی از افزودن معیارهای سفارشی پشتیبانی نمی‌کند.

در کد خود، ابتدا و انتهای یک ردیابی درخواست شبکه سفارشی را با استفاده از API های ارائه شده توسط Performance Monitoring SDK تعریف می کنید.

ردیابی‌های درخواست شبکه سفارشی در کنسول Firebase در کنار درخواست‌های شبکه ظاهر می‌شوند که Performance Monitoring به صورت خودکار ضبط می‌کند (در زیربرگه درخواست‌های شبکه جدول ردیابی).

ردیابی درخواست شبکه سفارشی را اضافه کنید

از Performance Monitoring HTTPMetric API ( Swift | Obj-C ) برای اضافه کردن ردیابی درخواست شبکه سفارشی برای نظارت بر درخواست های شبکه خاص استفاده کنید.

برای تنظیم دستی درخواست‌های شبکه سفارشی در مانیتورینگ عملکرد، کدی شبیه به زیر اضافه کنید:

سریع

توجه: این محصول Firebase در اهداف macOS، Mac Catalyst، 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()

هدف-C

توجه: این محصول Firebase در اهداف macOS، Mac Catalyst، 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];
}

ردیابی درخواست شبکه سفارشی همچنین از افزودن ویژگی‌های سفارشی ( Swift | Obj-C ) پشتیبانی می‌کند اما معیارهای سفارشی را ندارد.

مراحل بعدی