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

تجمع ميزة "مراقبة الأداء" تتبُّع الأداء لمساعدتك في تتبُّع أداء تطبيقك. حاسمة trace هو تقرير لبيانات الأداء التي تم تسجيلها بين نقطتين زمنيتين في تطبيقك.

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

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

تُحدِّد بداية طلب الشبكة المخصَّصة ونهايته في الرمز البرمجي. باستخدام واجهات برمجة التطبيقات التي توفرها حزمة "SDK لمراقبة الأداء".

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

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

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

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

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

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

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

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