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

Performance Monitoring, uygulamanızın performansını izlemenize yardımcı olmak için izleri toplar. CEVAP iz, zaman içinde iki nokta arasında toplanan performans verilerinin en iyi şekilde yararlanabilirsiniz.

İlgili içeriği oluşturmak için kullanılan Performance Monitoring tarafından otomatik olarak toplanan ağ istek izleri dahil etmeniz gerekir. Ancak bazı istekler olabilir veya ağ isteklerinde bulunmak için farklı bir kitaplık kullanabilirsiniz. Bu durumlarda, araçları manuel olarak izlemek için Performance Monitoring API'sini özel ağ isteği izleri. Özel ağ isteği izleri yalnızca Apple ve Android uygulamalarında desteklenir.

Özel bir ağ isteği izlemesinin varsayılan metrikleri, Performans İzleme tarafından otomatik olarak toplanan ağ isteği izleri, özellikle de yanıt süresi, yanıt ve istek yükü boyutu ve başarı oranı. Özel ağ istek izleri özel metrik eklemeyi desteklemiyor.

Kodunuzda özel bir ağ isteğinin başlangıcını ve sonunu tanımlarsınız performans izleme SDK'sı tarafından sağlanan API'leri kullanarak izler.

Firebase konsolunda, Performance Monitoring'in otomatik olarak yakaladığı ağ istekleri (izler tablosunun Ağ istekleri alt sekmesinde) seçin.

Özel ağ istek izleri ekleyin

Performance Monitoring'i kullanma HttpMetric API özel ağ isteği izleri ekleyin.

Performance Monitoring'de özel ağ isteklerini manuel olarak izlemek için aşağıdakine benzer bir kod ekleyin: şunlara:

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ğ istek izleri, özel özellikler ancak özel metrikleri değil.

Sonraki adımlar

  • Kalitesi düşen ağ istekleri için uyarı ayarlarını yapma en iyi uygulamaları paylaşacağız. Örneğin, şunun için bir e-posta uyarısı yapılandırabilirsiniz: belirli bir URL kalıbı için yanıt süresi ne kadar zaman ayırabileceğinizi göstereceğim.