إضافة مراقبة مخصصة لطلبات شبكة محددة (تطبيقات Apple و Android)

تجمع مراقبة الأداء آثارًا لمساعدتك في مراقبة أداء تطبيقك. التتبع هو تقرير عن بيانات الأداء التي تم التقاطها بين نقطتين زمنيتين في تطبيقك.

تتضمن تتبع طلبات الشبكة التي تم جمعها تلقائيًا بواسطة مراقبة الأداء معظم طلبات الشبكة لتطبيقك. ومع ذلك ، قد لا يتم الإبلاغ عن بعض الطلبات أو قد تستخدم مكتبة مختلفة لتقديم طلبات الشبكة. في هذه الحالات ، يمكنك استخدام واجهة برمجة تطبيقات مراقبة الأداء لإجراء عمليات تتبع طلبات الشبكة المخصصة يدويًا. لا يتم دعم تتبع طلبات الشبكة المخصصة إلا لتطبيقات Apple و Android.

المقاييس الافتراضية لتتبع طلب الشبكة المخصص هي نفسها المقاييس الخاصة بتتبع طلبات الشبكة التي يتم جمعها تلقائيًا بواسطة مراقبة الأداء ، وتحديداً وقت الاستجابة والاستجابة وحجم حمولة الطلب ومعدل النجاح. لا تدعم تتبع طلبات الشبكة المخصصة إضافة مقاييس مخصصة.

في التعليمات البرمجية الخاصة بك ، تقوم بتعريف بداية ونهاية تتبع طلب الشبكة المخصص باستخدام واجهات برمجة التطبيقات التي توفرها SDK لمراقبة الأداء.

تظهر تتبعات طلبات الشبكة المخصصة في وحدة تحكم Firebase جنبًا إلى جنب مع طلبات الشبكة التي تلتقطها مراقبة الأداء تلقائيًا (في علامة التبويب الفرعية طلبات الشبكة من جدول التتبع).

إضافة تتبع طلب الشبكة المخصصة

استخدم واجهة برمجة تطبيقات HttpMetric لمراقبة الأداء لإضافة تتبعات طلبات الشبكة المخصصة لمراقبة طلبات الشبكة المحددة.

لأداة طلبات الشبكة المخصصة يدويًا في مراقبة الأداء ، أضف رمزًا مشابهًا لما يلي:

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

تدعم تتبع طلبات الشبكة المخصصة أيضًا إضافة سمات مخصصة ولكن ليس مقاييس مخصصة.

الخطوات التالية

  • قم بإعداد تنبيهات لطلبات الشبكة التي تؤدي إلى تدهور أداء تطبيقك. على سبيل المثال ، يمكنك تكوين تنبيه عبر البريد الإلكتروني لفريقك إذا تجاوز وقت الاستجابة لنمط عنوان URL معين حدًا قمت بتعيينه.