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

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

ردیابی درخواست شبکه به طور خودکار توسط نظارت بر عملکرد جمع‌آوری می‌شود، بیشتر درخواست‌های شبکه برای برنامه شما را شامل می‌شود. با این حال، ممکن است برخی از درخواست‌ها گزارش نشوند یا ممکن است از کتابخانه دیگری برای درخواست‌های شبکه استفاده کنید. در این موارد، می‌توانید از 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 ) پشتیبانی می‌کند اما معیارهای سفارشی را ندارد.

مراحل بعدی