Performance Monitoring mengumpulkan jejak untuk membantu Anda memantau kinerja aplikasi Anda. Pelacakan adalah laporan data kinerja yang diambil antara dua titik waktu di aplikasi Anda.
Pelacakan permintaan jaringan yang secara otomatis dikumpulkan oleh Performance Monitoring menyertakan sebagian besar permintaan jaringan untuk aplikasi Anda. Namun, beberapa permintaan mungkin tidak dilaporkan atau Anda mungkin menggunakan pustaka lain untuk membuat permintaan jaringan. Dalam kasus ini, Anda dapat menggunakan Performance Monitoring API untuk menginstrumentasi pelacakan permintaan jaringan khusus secara manual. Pelacakan permintaan jaringan khusus hanya didukung untuk aplikasi Apple dan Android.
Metrik default untuk pelacakan permintaan jaringan khusus sama dengan metrik untuk pelacakan permintaan jaringan yang secara otomatis dikumpulkan oleh Pemantauan Kinerja, khususnya waktu respons, ukuran muatan respons dan permintaan, serta tingkat keberhasilan. Pelacakan permintaan jaringan khusus tidak mendukung penambahan metrik khusus.
Dalam kode Anda, Anda menentukan awal dan akhir pelacakan permintaan jaringan kustom menggunakan API yang disediakan oleh Performance Monitoring SDK.
Pelacakan permintaan jaringan khusus muncul di konsol Firebase bersama dengan permintaan jaringan yang ditangkap oleh Performance Monitoring secara otomatis (di subtab Permintaan jaringan pada tabel pelacakan).
Tambahkan jejak permintaan jaringan kustom
Gunakan Performance Monitoring HTTPMetric API ( Swift | Obj-C ) untuk menambahkan pelacakan permintaan jaringan kustom untuk memantau permintaan jaringan tertentu.
Untuk melengkapi permintaan jaringan kustom secara manual di Performance Monitoring, tambahkan kode yang serupa dengan berikut ini:
Cepat
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];
}
Pelacakan permintaan jaringan khusus juga mendukung penambahan atribut khusus ( Swift | Obj-C ) tetapi bukan metrik khusus.
Langkah selanjutnya
- Siapkan peringatan untuk permintaan jaringan yang menurunkan kinerja aplikasi Anda. Misalnya, Anda dapat mengonfigurasi peringatan email untuk tim Anda jika waktu respons untuk pola URL tertentu melebihi ambang batas yang Anda tetapkan.