APM: ما هو، المقاييس وكيف يعمل

المؤلف: IT Sectr نُشر: 2026-05-29 وقت القراءة: 8 دق

APM (Application Performance Monitoring) هو نهج شامل لمراقبة أداء البرمجيات، يشمل جمع المقاييس وتتبع الطلبات وتشخيص الأخطاء في الوقت الفعلي. وفقًا لـ Gartner IT Glossary, 2024، يجمع APM ثلاثة مجالات رئيسية: مراقبة تجربة المستخدم، واكتشاف الأعطال في هيكل التطبيق وتحليل بيانات التنفيذ للتشخيص المتعمق للحوادث.

النقاط الرئيسية

  • APM — Application Performance Monitoring، نظام لمراقبة أداء التطبيقات على جميع المستويات: العميل، الشبكة، الخادم، البنية التحتية.
  • ثلاثة أركان APM — المقاييس والتتبع والسجلات، متحدة في منصة مراقبة موحدة للتحليل الشامل للحوادث.
  • APM قائم على الوكيل — تثبيت وكيل برمجي على خادم التطبيق لجمع بيانات وقت التنفيذ المفصلة.
  • خريطة الخدمات — رسم بياني للتبعيات بين الخدمات المصغرة، يتم بناؤه تلقائيًا من بيانات التتبع.
  • نقطة Apdex — مقياس معياري لرضا المستخدم عن وقت استجابة التطبيق.

ما هو APM في التطوير

APM (Application Performance Monitoring) هو نظام إدارة أداء التطبيقات، يشمل جمع وتصور وتحليل بيانات تشغيل البرمجيات. وخلافًا للمراقبة النقطية للمقاييس الفردية (وحدة المعالجة المركزية، الذاكرة)، يوفر APM صورة كلية: كيف يتصرف التطبيق من وجهة نظر المستخدم، وكيف تتفاعل مكوناته وأين تحدث الاختناقات.

ظهر مفهوم APM في العقد الأول من الألفية الثانية مع الانتقال من التطبيقات المتكاملة إلى هيكل الخدمات المصغرة. عندما تجاوز عدد الخدمات 10–15 وحدة، توقفت أساليب المراقبة التقليدية عن العمل — لم يكن من الممكن تحديد الخدمة المحددة التي تسببت في إبطاء الطلب بأكمله. قامت حلول APM بحل هذه المشكلة من خلال التتبع الموزع والبناء التلقائي لخريطة الخدمات.

وفقًا لـ Grand View Research (2024)، يقدر سوق APM بـ 8.2 مليار دولار أمريكي وينمو بنسبة 11.5% سنويًا. تشمل المحركات الرئيسية الهجرة إلى السحابة، والعدد المتزايد من الخدمات المصغرة، وارتفاع متطلبات جودة تجربة المستخدم في التطبيقات المحمولة وخدمات الويب.

ثلاثة أركان APM: المقاييس والتتبع والسجلات

يبنى APM الحديث على ثلاثة أنواع من البيانات التي تشكل معًا صورة كاملة لحالة التطبيق. المقاييس هي مجموعات رقمية: وقت الاستجابة، عدد الطلبات، نسبة الأخطاء. تجيب على سؤال "ماذا يحدث" وتسمح بتكوين تنبيهات بناءً على قيم العتبة.

التتبع كحلقة وصل

يجيب التتبع (distributed tracing) على سؤال "لماذا يحدث هذا." يتم تتبع كل طلب وارد عبر جميع الخدمات المصغرة وقواعد البيانات والاستدعاءات الخارجية. يجمع نظام APM بين المقاييس والتتبع: إذا ارتفع مقياس وقت الاستجابة، ينتقل المطور إلى لوحة بيانات التتبع ويرى الطلب المحدد الذي تسبب في الإبطاء، مقسمًا حسب كل خدمة.

السجلات للعمق

توفر السجلات سياقًا — رسالة خطأ محددة، قيمة متغير، مكدس الاستدعاء. تربط منصات APM الحديثة (Datadog، New Relic، Grafana) السجلات بالتتبعات من خلال trace_id مشترك، مما يسمح بالانتقال من رسم بياني للمقاييس إلى سجل طلب محدد. وفقًا لـ Datadog (2025)، يقلل ربط السجلات بالتتبعات متوسط وقت تشخيص الحوادث من 45 إلى 12 دقيقة.

الإشارةالسؤالالوحدة
المقاييسماذا يحدث؟مجموعات رقمية
التتبعلماذا يحدث هذا؟Spans و traces
السجلاتما الذي خطأ بالضبط؟سجلات نصية

هيكل APM: الوكلاء والمجمعات

يتكون هيكل APM الكلاسيكي من ثلاثة مستويات: الوكيل والمجمع والبكند. الوكيل هو مكتبة مدمجة في التطبيق أو تعمل بجانبه (sidecar). يعترض الوكيل الاستدعاءات الواردة والصادرة، ويجمع بيانات وقت التنفيذ ويرسلها إلى المجمع عبر قناة آمنة.

كيف يعمل وكيل APM

يمكن لوكيل APM لـ Java الاتصال عبر javaagent على مستوى JVM، مما يؤدي آلياً إلى جميع طلبات HTTP واستدعاءات قواعد البيانات وقوائم الرسائل والاستدعاءات الخارجية. بالنسبة للمنصات المحمولة، يتصل الوكيل كـ SDK ويجمع المقاييس من الجهاز. يتبع وكيل New Relic لـ Android، على سبيل المثال، جميع طلبات الشبكة عبر OkHttp وعملاء HTTP و WebView تلقائيًا.

java
import com.newrelic.agent.android.NewRelic;

public class MainApplication extends Application {
    public void onCreate() {
        super.onCreate();
        NewRelic.withApplicationToken("YOUR_TOKEN")
            .start(this);
    }
}

يقوم هذا الكود بتهيئة وكيل New Relic في تطبيق Android. بعد الإطلاق، يجمع الوكيل تلقائيًا مقاييس طلبات الشبكة والأخطاء وANR وبيانات أداء واجهة المستخدم دون حاجة إلى أداة إضافية لكل شاشة. يعمل الوكيل في خيط خلفي ولا يؤثر على أداء واجهة التطبيق الرئيسية.

المجمع والبكند

يستلم المجمع البيانات من آلاف الوكلاء، ويجمع المقاييس، ويقوم بأخذ عينات من التتبعات ويخزن البيانات في تخزين طويل الأمد مع إمكانيات التخزين الساخن والبارد. يوفر البكند APM لوحات بيانات وتنبيهات وخرائط خدمات وAPI للتكامل مع الأنظمة الخارجية (Slack، PagerDuty، Jira، ServiceNow). يعالج Datadog أكثر من 10 ملايين نقطة بيانات في الثانية من خلال مجمعاته الموزعة في أكثر من 20 منطقة حول العالم لتقليل زمن الانتقال.

نقطة Apdex ومراقبة SLA

Apdex (Application Performance Index) هو معيار مفتوح لقياس رضا المستخدم عن وقت استجابة التطبيق. تحسب قيمة Apdex بواسطة الصيغة: (عدد المستخدمين الراضين + عدد المستخدمين المتسامحين / 2) / إجمالي عدد المستخدمين. النتيجة هي رقم من 0 إلى 1، حيث 1 يعني أن جميع المستخدمين راضون.

تُعيِّن عتبات Apdex فرديًا لكل تطبيق. بالنسبة للتطبيقات المحمولة، العتبة النموذجية للرضا هي وقت استجابة يصل إلى 1.5 ثانية، والمتسامح به يصل إلى 4.5 ثانية. أي شيء يتجاوز 4.5 ثانية يعتبر غير مقبول. تعتبر نقطة Apdex بقيمة 0.94 وأعلى ممتازة لبيئة الإنتاج.

يستخدم Apdex ليس فقط كمقياس جودة، ولكن أيضًا كعتبة للتنبيهات. إذا انخفض Apdex أدنى من 0.85 لمدة 10 دقائق، يرسل نظام APM إشعارًا لفريق المناوبة. هذا نهج أكثر توازنًا من الاعتماد على القيم المطلقة لوقت الاستجابة، والتي قد تتقلب حسب وقت اليوم والحمل.

APM للتطبيقات المحمولة

لدى APM المحمول خصائصه الخاصة: التطبيق يعمل على جهاز المستخدم، والذي قد يكون في ظروف شبكة مختلفة، وله كميات مختلفة من الذاكرة الحرة وإصدارات نظام التشغيل. يجب أن يأخذ APM المحمول في الاعتبار جميع هذه العوامل ويوفر تفصيل المقاييس حسب طرازات الأجهزة وإصدارات نظام التشغيل والمناطق ومشغلي الشبكة.

جمع البيانات من الجهاز

تجمع وكلاء APM المحمولة المقاييس على الجهاز وترسلها إلى الخادم في دفعات بفواصل 1–5 دقائق. يقلل هذا من التأثير على حرمة المستخدم في حالة فقدان الاتصال، تحفظ البيانات في ذاكرة مؤقتة محلية وترسل عند الاتصال التالي. يدعم Firebase Performance و Dynatrace Mobile إعادة الإرسال التلقائي عند فقدان الشبكة.

المقاييس الرئيسية للأجهزة المحمولة

تضاف مقاييس محددة إلى مقاييس APM القياسية في تطوير التطبيقات المحمولة: وقت التشغيل البارد، وعدد الإطارات في الثانية أثناء التمرير، واستهلاك الذاكرة، وتكرار ANR (Android) وعدد عمليات إنهاء watchdog (iOS). يتبع New Relic Mobile إضافيًا عرض الخرائط ونسبة استخدام الذاكرة المؤقتة ووقت عرض ViewControllers محددة.

swift
import NewRelic

class ProfileViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        NewRelic.startInteraction(withName: "ProfileView")
    }

    override func viewDidDisappear(animated: Bool) {
        super.viewDidDisappear(animated)
        NewRelic.stopCurrentInteraction()
    }
}

يقوم كود Swift بإنشاء تتبع تفاعل لشاشة ملف المستخدم. سيقوم New Relic بقياس وقت تحميل البيانات وعرض واجهة المستخدم وجميع طلبات الشبكة التي تمت أثناء عرض هذه الشاشة.

مقارنة منصات APM الشائعة

يضم سوق APM عشرات الحلول المختلفة في عمق المراقبة والتكلفة والمنصات المدعومة. يتصدر Datadog APM في دمج المقاييس والتتبعات والسجلات في واجهة واحدة. يقدم New Relic أكثر التتبع تفصيلاً للمنصات المحمولة. يستخدم Dynatrace محرك الذكاء الاصطناعي Davis للكشف التلقائي عن الأسباب الجذرية.

المنصةالوكيل المحمولالتتبع الموزعالخطة المجانية
DatadogiOS، Androidنعملا
New ReliciOS، Androidنعم100 جيجابايت/شهر
DynatraceiOS، Androidنعم15 يومًا
Grafanaعبر OpenTelemetryنعمنعم (OSS)

يعتمد اختيار منصة APM على حجم الفريق ومكونة التقنية والميزانية. بالنسبة للشركات الناشئة، Firebase Performance مع Grafana للبكند هو الخيار الأمثل. بالنسبة لمشاريع المؤسسات ذات متطلبات SLA عالية — Datadog أو Dynatrace مع مجموعة كاملة من أدوات المراقبة وتحليل الأسباب الجذرية بالذكاء الاصطناعي.

الأسئلة الشائعة

ما الفرق بين APM ومراقبة الخوادم العادية؟

تتبع المراقبة العادية مقاييس البنية التحتية: وحدة المعالجة المركزية والذاكرة والقرص. ينظر APM إلى مستوى التطبيق: وقت تنفيذ المعاملات المحددة واستعلامات SQL واستدعاءات HTTP بين الخدمات المصغرة. يمكن لـ APM إظهار أن وحدة المعالجة المركزية طبيعية، ولكن التطبيق بطيء بسبب استعلام بطيء لقاعدة البيانات.

هل هناك حاجة لـ APM لخدمة مصغرة واحدة؟

بالنسبة لخدمة واحدة، يكفي المراقبة القياسية + التسجيل لتغطية أساسية. يصبح APM ضروريًا عندما يكون هناك 5 خدمات أو أكثر، ويمر الطلب عبر عدة منها في سيناريو مستخدم واحد. يزود APM بالإجابة عن الخدمة المحددة التي تبطئ تدفق الطلب بأكمله وأين يقع الاختناق.

كيف يؤثر APM على تكلفة البنية التحتية؟

تستهلك وكلاء APM 1–3% من وحدة المعالجة المركزية و 50–200 ميغابايت من الذاكرة في الخادم. تتراوح تكاليف التراخيص من 15 إلى 80 دولارًا للمضيف شهريًا. يبلغ حجم حرمة التلمترية 1–10 جيجابايت يوميًا لكل مضيف حسب شدة التتبع. OpenTelemetry + Grafana هو بديل مجاني لـ APM التجاري.

هل يمكن استخدام APM لتطبيق محمول دون خلفية؟

نعم، تعمل وكلاء APM المحمولة بشكل مستقل. تجمع المقاييس على الجهاز حتى لو لم يكن للتطبيق جانب خادم: وقت الإقلاع، وعدد الإطارات في الثانية، والأعطال، وطلبات الشبكة إلى واجهات البرمجة الخارجية. ترسل البيانات إلى منصة APM عندما يتصل الجهاز بالإنترنت.

كم مرة يجب تحديث تكوين APM؟

يتم إعداد التكوين الأساسي لـ APM (العتبات ولوحات البيانات والتنبيهات) مرة واحدة ويعدل عند تغيير الهيكل التقني أو تحديث معايير الأداء. يتم تحديث تكوين الوكيل تلقائيًا من خلال لوحة تحكم منصة APM دون الحاجة إلى إعادة إصدار التطبيق أو تعديل الكود.

الخلاصة

  • APM هو حل شامل لمراقبة أداء التطبيقات يجمع بين المقاييس والتتبع والسجلات.
  • التتبع الموزع هو الفرق الرئيسي بين APM والمراقبة التقليدية، مما يسمح بتتبع مسار الطلب عبر جميع الخدمات المصغرة.
  • تتكامل وكلاء APM في التطبيق وتجمع تلقائيًا بيانات وقت التنفيذ وطلبات HTTP واستدعاءات قواعد البيانات.
  • نقطة Apdex هي مقياس معياري لرضا المستخدم، تحسب بناءً على عتبات وقت الاستجابة.
  • APM المحمول يراعي خصائص الأجهزة: الإقلاع البارد، FPS، ANR، ظروف الشبكة وإصدارات نظام التشغيل.
  • OpenTelemetry يسمح ببناء نظام APM دون ارتباط بمورد محدد، باستخدام معيار مفتوح لجمع البيانات.
  • يتحدد اختيار منصة APM بحسب نطاق المشروع: Firebase للشركات الناشئة، Datadog أو Dynatrace للهياكل المؤسسية ذات متطلبات مراقبة عالية.

سنقوم بتطوير تطبيق جوال جاهز

تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.

مناقشة المشروع

اقرأ أيضًا