Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Agregue monitoreo personalizado para solicitudes de red específicas (aplicaciones iOS y Android)

Supervisión del rendimiento recopila los rastros para ayudar a supervisar el rendimiento de su aplicación. Un seguimiento es un informe de datos de rendimiento capturados entre dos puntos en el tiempo en su aplicación.

Los seguimientos de solicitudes de red recopilados automáticamente por Performance Monitoring incluyen la mayoría de las solicitudes de red para su aplicación. Sin embargo, es posible que no se notifiquen algunas solicitudes o que utilice una biblioteca diferente para realizar solicitudes de red. En estos casos, puede utilizar la API de Performance Monitoring para instrumentar manualmente los seguimientos de solicitudes de red personalizados . Los seguimientos de solicitudes de red personalizados solo son compatibles con las aplicaciones de iOS y Android.

Las métricas predeterminadas para un seguimiento de solicitud de red personalizado son las mismas que las de los seguimientos de solicitud de red recopilados automáticamente por Performance Monitoring, específicamente el tiempo de respuesta, el tamaño de carga útil de respuesta y solicitud y la tasa de éxito. Los seguimientos de solicitudes de red personalizados no admiten la adición de métricas personalizadas.

En su código, define el principio y el final de un seguimiento de solicitud de red personalizado mediante las API proporcionadas por el SDK de Performance Monitoring.

Los seguimientos de solicitudes de red personalizados aparecen en Firebase console junto con las solicitudes de red que Performance Monitoring captura automáticamente (en la subpestaña Solicitudes de red de la tabla de seguimientos).

Agregar seguimientos de solicitudes de red personalizados

Utilice la API de HttpMetric de Performance Monitoring para agregar seguimientos de solicitudes de red personalizados para monitorear solicitudes de red específicas.

Para instrumentar manualmente solicitudes de red personalizadas en Performance Monitoring, agregue código similar al siguiente:

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();

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()
}

Los seguimientos de solicitudes de red personalizados también admiten la adición de atributos personalizados, pero no métricas personalizadas.