Google is committed to advancing racial equity for Black communities. See how.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Добавить индивидуальный мониторинг для определенных сетевых запросов (приложения для iOS и Android)

Мониторинг производительности собирает трассировки, чтобы помочь вам отслеживать производительность вашего приложения. Трассировка - это отчет о данных о производительности, собранных в вашем приложении между двумя моментами времени.

Трассы сетевых запросов, автоматически собираемые Performance Monitoring, включают большинство сетевых запросов для вашего приложения. Однако о некоторых запросах может не сообщаться, или вы можете использовать другую библиотеку для выполнения сетевых запросов. В этих случаях вы можете использовать API мониторинга производительности для ручного инструментирования пользовательских трассировок сетевых запросов . Настраиваемые трассировки сетевых запросов поддерживаются только для приложений iOS и Android.

Метрики по умолчанию для настраиваемой трассировки сетевого запроса такие же, как и метрики для трассировки сетевых запросов, автоматически собираемых с помощью Performance Monitoring, в частности, время отклика, размер ответа и полезной нагрузки запроса, а также коэффициент успешности. Настраиваемые трассировки сетевых запросов не поддерживают добавление настраиваемых показателей.

В коде вы определяете начало и конец пользовательской трассировки сетевого запроса с помощью API, предоставляемых SDK для мониторинга производительности.

Сетевые запросы HTTP / S, которые вы специально фиксируете таким образом, появляются в консоли Firebase вместе с сетевыми запросами, которые Performance Monitoring фиксирует автоматически (на вкладке « Сеть »).

Добавить пользовательские трассировки сетевых запросов

Используйте HttpMetric API для мониторинга производительности, чтобы добавить настраиваемые трассировки сетевых запросов для отслеживания определенных сетевых запросов.

Чтобы вручную инструментировать пользовательские сетевые запросы в мониторинге производительности, добавьте код, подобный следующему:

Джава

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

Котлин + KTX

val metric = FirebasePerformance.getInstance().newHttpMetric("https://www.google.com",
        FirebasePerformance.HttpMethod.GET)
val url = URL("https://www.google.com")
metric.start()
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) {
}

metric.setRequestPayloadSize(data.size.toLong())
metric.setHttpResponseCode(conn.responseCode)
printStreamContent(conn.inputStream)

conn.disconnect()
metric.stop()

Настраиваемые трассировки сетевых запросов также поддерживают добавление настраиваемых атрибутов, но не настраиваемых показателей.