Belirli ağ istekleri için özel izleme ekleyin (Apple ve Android uygulamaları)

Performans İzleme, uygulamanızın performansını izlemenize yardımcı olacak izleri 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ıza yönelik çoğu ağ isteğini içerir. Ancak bazı istekler raporlanmayabilir veya ağ istekleri yapmak için farklı bir kitaplık kullanıyor olabilirsiniz. Bu durumlarda, özel ağ isteği izlerini manuel olarak izlemek için Performans İzleme API'sini kullanabilirsiniz. Özel ağ isteği izlemeleri yalnızca Apple ve Android uygulamaları için desteklenir.

Özel bir ağ isteği izlemesine ilişkin varsayılan ölçümler, özellikle yanıt süresi, yanıt ve istek veri yükü boyutu ve başarı oranı olmak üzere Performance Monitoring tarafından otomatik olarak toplanan ağ isteği izlemeleriyle aynıdır. Özel ağ isteği izlemeleri, özel ölçümlerin eklenmesini desteklemez.

Kodunuzda, Performance Monitoring SDK tarafından sağlanan API'leri kullanarak özel bir ağ isteği izlemesinin başlangıcını ve sonunu tanımlarsınız.

Firebase konsolunda, Performans İzleme'nin otomatik olarak yakaladığı ağ isteklerinin yanında (izler tablosunun Ağ istekleri alt sekmesinde) özel ağ isteği izleri görünür.

Özel ağ isteği izlemeleri ekleme

Belirli ağ isteklerini izlemek amacıyla özel ağ isteği izlemeleri eklemek için Performans İzleme HttpMetric API'sini kullanın.

Performans İzleme'de özel ağ isteklerini manuel olarak izlemek 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 ayrıca özel niteliklerin eklenmesini de destekler ancak özel ölçümleri desteklemez.

Sonraki adımlar

  • Uygulamanızın performansını düşüren ağ istekleri için uyarılar ayarlayın . Örneğin, belirli bir URL modelinin yanıt süresi belirlediğiniz eşiği aşarsa ekibiniz için bir e-posta uyarısı yapılandırabilirsiniz.