Catch up on highlights from Firebase at Google I/O 2023. Learn more

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

Performans İzleme, uygulamanızın performansını izlemenize yardımcı olmak için izler toplar. İzleme, uygulamanızda zamanın iki noktası arasında yakalanan performans verilerinin bir raporudur.

Performance Monitoring tarafından otomatik olarak toplanan ağ isteği izleri, uygulamanız için çoğu ağ isteğini içerir. Ancak, bazı istekler raporlanmayabilir veya ağ istekleri yapmak için farklı bir kitaplık kullanabilirsiniz. Bu durumlarda, özel ağ isteği izlerini manuel olarak ölçmek için Performance Monitoring API'yi kullanabilirsiniz. Özel ağ isteği izleri yalnızca Apple ve Android uygulamaları için desteklenir.

Özel bir ağ isteği izlemesi için varsayılan ölçümler, özellikle yanıt süresi, yanıt ve istek 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 izleri, ö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.

Özel ağ isteği izleri, Firebase konsolunda, Performance Monitoring'in otomatik olarak yakaladığı ağ isteklerinin yanında görünür (izler tablosunun Ağ istekleri alt sekmesinde).

Özel ağ isteği izleri ekleyin

Belirli ağ isteklerini izlemek üzere özel ağ isteği izleri eklemek için Performance Monitoring HttpMetric API'sini kullanın.

Performance Monitoring'de özel ağ isteklerini manuel olarak ölçmek 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 özniteliklerin eklenmesini de destekler, ancak özel metriklerin eklenmesini desteklemez.

Sonraki adımlar

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