Performance Monitoring ردگیریها را جمعآوری میکند تا به شما کمک کند عملکرد برنامهتان را پایش کنید. ردگیری گزارشی از دادههای عملکرد است که بین دو نقطه زمانی در برنامهتان ضبط شده است.
ردپاهای درخواست شبکه که بهطور خودکار توسط Performance Monitoring جمعآوری شدهاند شامل اکثر درخواستهای شبکه برای برنامه شما هستند. بااینحال، ممکن است برخی درخواستها گزارش نشوند یا ممکن است از کتابخانه دیگری برای ایجاد درخواستهای شبکه استفاده کنید. در این موارد، میتوانید از میانای برنامهسازی کاربردی Performance Monitoring برای ابزارسازی دستی ردپاهای درخواست شبکه سفارشی استفاده کنید. ردپای درخواست شبکه سفارشی فقط برای برنامههای Apple و Android پشتیبانی میشود.
سنجههای پیشفرض برای ردپای درخواست شبکه سفارشی همان سنجههای ردپای درخواست شبکه است که بهطور خودکار توسط Performance Monitoring جمعآوری میشود، بهویژه زمان پاسخ، اندازه بار خالص پاسخ و درخواست، و نرخ موفقیت. ردگیریهای درخواست شبکه سفارشی از افزودن سنجههای سفارشی پشتیبانی نمیکنند.
در کدتان، بااستفاده از میاناهای برنامهسازی کاربردی ارائهشده توسط کیت توسعه نرمافزار Performance Monitoring، ابتدا و انتهای ردگیری درخواست شبکه سفارشی را تعریف میکنید.
ردپاهای درخواست شبکه سفارشی در کنسول Firebase در کنار درخواستهای شبکهای که Performance Monitoring بهطور خودکار ضبط میکند (در زبانه فرعی درخواستهای شبکه جدول ردپاها) نشان داده میشود.
افزودن ردپاهای درخواست شبکه سفارشی
از Performance Monitoring HTTPMetric API (Swift | Obj-C) استفاده کنید تا ردپای درخواست شبکه سفارشی را برای نظارت بر درخواستهای شبکه خاص اضافه کنید.
برای ابزارگذاری دستی درخواستهای شبکه سفارشی در Performance Monitoring، کدی مشابه کد زیر اضافه کنید:
Swift
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
@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) اما از سنجههای سفارشی پشتیبانی نمیکند.
مراحل بعدی
- برای درخواستهای شبکهای که عملکرد برنامهتان را کاهش میدهند، هشدار تنظیم کنید. برای مثال، میتوانید هشدار ایمیلی برای تیمتان پیکربندی کنید تا اگر زمان پاسخ برای الگوی نشانی وب خاصی از آستانهای که تنظیم کردهاید فراتر رفت، هشدار دریافت کنند.