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 izi için varsayılan metrikler, Performance Monitoring tarafından otomatik olarak toplanan ağ isteği izleriyle aynıdır. Özellikle yanıt süresi, yanıt ve istek yükü boyutu ile başarı oranı. Özel ağ isteği izlemelerinde özel metrik ekleme desteklenmez.
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örünür.
Özel ağ isteği izleri ekleme
Belirli ağ isteklerini izlemek için Performance Monitoring HttpMetric API kullanarak özel ağ isteği izlemeleri ekleyin.
Performance Monitoring içinde özel ağ isteklerini manuel olarak izlemek için aşağıdakine benzer bir kod ekleyin:
Kotlin
val url = URL("https://www.google.com") val metric = Firebase.performance.newHttpMetric( "https://www.google.com", FirebasePerformance.HttpMethod.GET, ) metric.trace { val conn = url.openConnection() as HttpURLConnection conn.doOutput = true conn.setRequestProperty("Content-Type", "application/json") try { val outputStream = DataOutputStream(conn.outputStream) outputStream.write(data) } catch (ignored: IOException) { } // Set HttpMetric attributes setRequestPayloadSize(data.size.toLong()) setHttpResponseCode(conn.responseCode) printStreamContent(conn.inputStream) conn.disconnect() }
Java
HttpMetric metric = FirebasePerformance.getInstance().newHttpMetric("https://www.google.com", FirebasePerformance.HttpMethod.GET); final URL url = new URL("https://www.google.com"); metric.start(); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoOutput(true); conn.setRequestProperty("Content-Type", "application/json"); try { DataOutputStream outputStream = new DataOutputStream(conn.getOutputStream()); outputStream.write(data); } catch (IOException ignored) { } metric.setRequestPayloadSize(data.length); metric.setHttpResponseCode(conn.getResponseCode()); printStreamContent(conn.getInputStream()); conn.disconnect(); metric.stop();
Özel ağ isteği izlemeleri, özel özellikler eklemeyi destekler ancak özel metrikleri desteklemez.
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.