Menambahkan pemantauan kustom untuk permintaan jaringan tertentu (aplikasi Apple & Android)
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Performance Monitoring mengumpulkan trace untuk membantu Anda memantau performa aplikasi. Trace adalah laporan data performa yang dicatat antara dua titik waktu dalam aplikasi Anda.
Trace permintaan jaringan yang otomatis dikumpulkan oleh Performance Monitoring mencakup sebagian besar permintaan jaringan untuk aplikasi Anda. Namun, beberapa permintaan mungkin tidak dilaporkan atau Anda kemungkinan menggunakan library yang berbeda untuk membuat permintaan jaringan. Dalam hal ini, Anda dapat menggunakan Performance Monitoring API untuk menginstrumentasikan trace permintaan jaringan kustom secara manual. Trace permintaan jaringan kustom hanya didukung untuk aplikasi Apple dan Android.
Metrik default untuk trace permintaan jaringan kustom sama dengan metrik untuk trace permintaan jaringan yang otomatis dikumpulkan oleh Performance Monitoring, terutama waktu respons, ukuran payload respons dan payload permintaan, serta tingkat keberhasilan. Trace permintaan jaringan kustom tidak mendukung penambahan metrik kustom.
Dalam kode, penentuan awal dan akhir trace permintaan jaringan kustom dilakukan menggunakan API yang diberikan oleh Performance Monitoring SDK.
Trace permintaan jaringan kustom muncul di Firebase console bersama permintaan jaringan yang dicatat Performance Monitoring secara otomatis
(di subtab Network requests pada tabel trace).
Menambahkan trace permintaan jaringan kustom
Gunakan Performance Monitoring HTTPMetric API
(Swift
|
Obj-C)
untuk menambahkan trace permintaan jaringan kustom untuk memantau permintaan jaringan tertentu.
Untuk menginstrumentasikan permintaan jaringan kustom secara manual di Performance Monitoring, tambahkan kode yang mirip dengan berikut:
Swift
Catatan: Produk Firebase ini tidak tersedia di target macOS, Mac Catalyst, dan watchOS.
Trace permintaan jaringan kustom juga mendukung penambahan atribut khusus (Swift | Obj-C), tetapi tidak mendukung metrik kustom.
Langkah berikutnya
Siapkan pemberitahuan untuk permintaan jaringan yang menurunkan performa aplikasi Anda. Misalnya, Anda dapat mengonfigurasi peringatan email untuk tim jika waktu respons untuk pola URL tertentu melebihi batas yang Anda tetapkan.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-04 UTC."],[],[],null,["\u003cbr /\u003e\n\niOS+ Android Flutter \n\n\u003cbr /\u003e\n\nPerformance Monitoring collects *traces* to help you monitor the performance of your app. A\ntrace is a report of performance data captured between two points in time in\nyour app.\n\nThe\n[network request traces automatically collected by Performance Monitoring](/docs/perf-mon/network-traces)\ninclude most network requests for your app. However, some requests might not be\nreported or you might use a different library to make network requests. In these\ncases, you can use the Performance Monitoring API to manually instrument\n***custom network request traces***. Custom network request traces are only\nsupported for Apple and Android apps.\n\nThe default metrics for a custom network request trace are the same as those for\nthe network request traces automatically collected by Performance Monitoring, specifically\nresponse time, response and request payload size, and success rate. Custom\nnetwork request traces do not support adding custom metrics.\n\nIn your code, you define the beginning and the end of a custom network request\ntrace using the APIs provided by the Performance Monitoring SDK.\n\nCustom network request traces appear in the Firebase console alongside the\nnetwork requests that Performance Monitoring captures automatically\n(in the *Network requests* subtab of the traces table).\n\nAdd custom network request traces\n\nUse the Performance Monitoring HTTPMetric API\n([Swift](/docs/reference/swift/firebaseperformance/api/reference/Classes/HTTPMetric)\n\\|\n[Obj-C](/docs/reference/ios/firebaseperformance/api/reference/Classes/FIRHTTPMetric))\nto add custom network request traces to monitor specific network requests.\n\nTo manually instrument custom network requests in Performance Monitoring, add code similar\nto the following: \n\nSwift\n\n\n**Note:** This Firebase product is not available on macOS, Mac Catalyst, watchOS targets. \n\n guard let metric = HTTPMetric(url: \"https://www.google.com\", httpMethod: .get) else { return }\n\n metric.start()\n guard let url = URL(string: \"https://www.google.com\") else { return }\n let request: URLRequest = URLRequest(url:url)\n let session = URLSession(configuration: .default)\n let dataTask = session.dataTask(with: request) { (urlData, response, error) in\n if let httpResponse = response as? HTTPURLResponse {\n metric.responseCode = httpResponse.statusCode\n }\n metric.stop()\n }\n dataTask.resume()\n\nObjective-C\n\n\n**Note:** This Firebase product is not available on macOS, Mac Catalyst, watchOS targets. \n\n @property (nonatomic) FIRHTTPMetric *metric;\n\n - (void)beginManualNetworkInstrumentation {\n self.metric =\n [[FIRHttpMetric alloc] initWithURL:[NSURL URLWithString:@\"https://www.google.com\"]\n HTTPMethod:FIRHTTPMethodGET];\n\n [self.metric start];\n\n NSURLRequest *request =\n [NSURLRequest requestWithURL:[NSURL URLWithString:@\"https://www.google.com\"]];\n NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request\n delegate:self];\n [connection resume];\n }\n\n - (void)connection:(NSURLConnection *)connection\n didReceiveResponse:(NSURLResponse *) response {\n NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response\n self.metric.responseCode = httpResponse.statusCode;\n [self.metric stop];\n }\n\nCustom network request traces also support adding custom attributes\n([Swift](/docs/reference/swift/firebaseperformance/api/reference/Protocols/PerformanceAttributable#setvalue_:forattribute:) \\|\n[Obj-C](/docs/reference/ios/firebaseperformance/api/reference/Protocols/FIRPerformanceAttributable#-setvalue:forattribute:))\nbut not custom metrics.\n\nNext steps\n\n- [Set up alerts](/docs/perf-mon/alerts) for network requests that are degrading the performance of your app. For example, you can configure an email alert for your team if the *response time* for a specific URL pattern exceeds a threshold that you set."]]