Performance Monitoring, uygulamanızın performansını izlemenize yardımcı olmak için izleme toplar. İzleme, uygulamanızdaki iki zaman noktası arasında yakalanan performans verilerinin bir 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ğ isteği göndermek için farklı bir kitaplık kullanıyor olabilirsiniz. Bu durumlarda, Performance Monitoring API'yi kullanarak özel ağ istek izlerini manuel olarak enstrümante edebilirsiniz. Özel ağ isteği izleri yalnızca Apple ve Android uygulamaları için desteklenir.
Özel ağ isteği izlemesi için varsayılan metrikler, Performance Monitoring tarafından otomatik olarak toplanan ağ isteği izlemelerinin metrikleriyle (özellikle yanıt süresi, yanıt ve istek yükü boyutu ve başarı oranı) aynıdır. Özel ağ isteği izlemeleri, özel metrik eklemeyi desteklemez.
Kodunuzda, Performance Monitoring SDK'sı tarafından sağlanan API'leri kullanarak özel ağ isteği izinin başlangıç ve bitişini tanımlarsınız.
Özel ağ isteği izleri, Performance Monitoring'ın otomatik olarak yakaladığı ağ isteklerinin yanında Firebase konsolunda görünür (izlemeler tablosunun Ağ istekleri alt sekmesinde).
Özel ağ isteği izleri ekleme
Belirli ağ isteklerini izlemek için özel ağ isteği izlemeleri eklemek üzere Performance Monitoring HttpMetric API 'yi kullanın.
Performance Monitoring'te özel ağ isteklerini manuel olarak enstrümante etmek için aşağıdakine benzer bir kod ekleyin:
Kotlin+KTX
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 oluşturun. Örneğin, belirli bir URL kalıbının tepki süresi, belirlediğiniz bir eşiği aşarsa ekibiniz için bir e-posta uyarısı yapılandırabilirsiniz.