Belirli ağ istekleri için özel izleme ekleme (Apple ve Android uygulamaları)
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Performance Monitoring, uygulamanızın performansını izlemenize yardımcı olmak için izler toplar. İz, uygulamanızda belirli iki zaman noktası arasında yakalanan performans verilerinin raporudur.
Performance Monitoring tarafından otomatik olarak toplanan ağ isteği izleri, uygulamanızla ilgili çoğu ağ isteğini içerir. Ancak bazı istekler raporlanmayabilir veya ağ istekleri yapmak için farklı bir kitaplık kullanabilirsiniz. Bu gibi durumlarda, Performance Monitoring API'yi kullanarak özel ağ isteği izlemelerini manuel olarak oluşturabilirsiniz. Özel ağ isteği izleri yalnızca Apple ve Android uygulamalarında desteklenir.
Özel bir ağ isteği izlemesi için varsayılan metrikler, Performance Monitoring tarafından otomatik olarak toplanan ağ isteği izlemeleriyle aynıdır. Özellikle tepki süresi, yanıt ve istek yükü boyutu ile başarı oranı. Özel ağ isteği izleri, özel metrik eklemeyi desteklemez.
Kodunuzda, Performance Monitoring SDK'sının sağladığı API'leri kullanarak özel bir ağ isteği izinin başlangıcını ve bitişini tanımlarsınız.
Özel ağ isteği izleri, Firebase konsolunda Performance Monitoring tarafından otomatik olarak yakalanan ağ istekleriyle birlikte (izler tablosunun Ağ istekleri alt sekmesinde) gösterilir.
Özel ağ isteği izleri ekleme
Belirli ağ isteklerini izlemek için özel ağ isteği izlemeleri eklemek üzere Performance MonitoringHttpMetric API'yi
kullanın.
Performance Monitoring içinde özel ağ isteklerini manuel olarak izlemek için aşağıdakine benzer bir kod ekleyin:
Kotlin
valurl=URL("https://www.google.com")valmetric=Firebase.performance.newHttpMetric("https://www.google.com",FirebasePerformance.HttpMethod.GET,)metric.trace{valconn=url.openConnection()asHttpURLConnectionconn.doOutput=trueconn.setRequestProperty("Content-Type","application/json")try{valoutputStream=DataOutputStream(conn.outputStream)outputStream.write(data)}catch(ignored:IOException){}// Set HttpMetric attributessetRequestPayloadSize(data.size.toLong())setHttpResponseCode(conn.responseCode)printStreamContent(conn.inputStream)conn.disconnect()}
Özel ağ isteği izlemeleri, özel metrikleri değil, özel özelliklerin eklenmesini de destekler.
Sonraki adımlar
Uygulamanızın performansını düşüren ağ istekleri için uyarılar ayarlayın. Örneğin, belirli bir URL kalıbının yanıt süresi, belirlediğiniz eşiği aşarsa ekibiniz için bir e-posta uyarısı yapılandırabilirsiniz.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-09-05 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."]]