WEBioDD Logo
WEBioDD
📁 تطوير البرمجيات ومصادر مفتوحة••⏱️ 4 دقيقة قراءة

لينكدإن تستخدم OpenTelemetry لتتبع رحلة الأعضاء

W

شبكة WEBioDD

تغطية وتحرير تقني مؤتمت بالذكاء الاصطناعي من المصادر المرجعية

لينكدإن تستخدم OpenTelemetry لتتبع رحلة الأعضاء
صورة تعبيرية
إعلان ممول
إعلانات

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

أبرز النقاط

  • أنشأت لينكدإن منصة قياس عن بعد تعتمد على OpenTelemetry لربط تفاعلات الأعضاء بالخدمات الخلفية.
  • تهدف المنصة إلى سد فجوة المراقبة بين تحليلات العميل وتتبع الخدمات الخلفية.
  • أدخلت لينكدإن معرف `pageForestId` لتوفير سياق أعلى من التتبعات الموزعة الفردية.
  • تستخدم لينكدإن أخذ عينات الرأس المنسق (coordinated head sampling) للحفاظ على اتساق قرارات أخذ العينات.
  • تطبق المنصة ضوابط على البيانات التي يمكن أن تدخل التتبعات، بما في ذلك قوائم السماح والرفض للسمات وإخفاء البيانات.

لينكدإن تبني منصة قياس عن بعد (telemetry) قائمة على OpenTelemetry لربط ما يفعله الأعضاء في تطبيقاتها على iOS وأندرويد والويب بالخدمات الخلفية التي تعالج تلك التفاعلات. تاريخياً، كان ربط هذه الرؤى يتطلب من المهندسين ربط أنظمة منفصلة. يتيح نهج لينكدإن تتبع تفاعل العضو من العميل عبر الخدمات الأمامية والخلفية وصولاً إلى مخازن البيانات الأساسية.

يمكن لصفحة واحدة أن تولد العديد من الطلبات، وقد يمر كل منها عبر خدمات متعددة. أدخلت لينكدإن معرف pageForestId لتوفير سياق أعلى من التتبعات الموزعة الفردية. يحتفظ كل طلب بمعرف تتبع OpenTelemetry الخاص به (traceId)، بينما يمكن ربط الطلبات ذات الصلة من نفس سياق الصفحة من خلال pageForestId. وبالتالي، يمكن للمهندسين التحقيق في طلب فردي والنشاط الأوسع الذي ساهم في تجربة العضو. هذا مهم لأن التتبع الموزع التقليدي يتبع طلباً واحداً بشكل عام، في حين أن رحلة العضو يمكن أن تتضمن العديد من الطلبات ذات الصلة.

تعمل لينكدإن على مجموعة تقنيات متنوعة تشمل عملاء الأجهزة المحمولة والويب إلى جانب خدمات خلفية مكتوبة بلغات Java و Python و Go و Rust. يوفر OpenTelemetry نموذجاً مشتركاً للأدوات وسياق التتبع والاتفاقيات الدلالية عبر تلك البيئات.

كيف يتم جمع ونقل بيانات القياس عن بعد؟

قامت لينكدإن ببناء أغلفة وامتدادات خاصة بها حول حزم تطوير برمجيات OpenTelemetry القياسية (SDKs)، مما يسمح لفرق المنتجات باستخدام أدوات متسقة بينما تتعامل المنصة مع أمور مثل دورة حياة الأجهزة المحمولة، والتصدير، والبيانات الوصفية الخاصة بلينكدإن. تولد تطبيقات العميل والخدمات الخلفية نطاقات OpenTelemetry (spans)، مع نشر سياق التتبع مع انتقال الطلبات عبر النظام. تقوم أطر عمل HTTP و gRPC المشتركة تلقائياً بتجهيز مسارات الطلبات الشائعة، بينما يمكن للفرق إضافة نطاقات صريحة حول عمليات الأعمال المهمة.

يتم نقل بيانات القياس عن بعد عبر Apache Kafka وتخزينها في ClickHouse، مع توفير pageForestId و traceId والطوابع الزمنية كمفاتيح للربط. يتيح ذلك للمهندسين البدء بتفاعل يواجهه العضو والتعمق في التنفيذ الخلفي المسؤول عنه.

ما هي التحديات وكيف تتعامل لينكدإن معها؟

إن التقاط كل نطاق (span) سيولد كمية هائلة من بيانات القياس عن بعد، مما يجعل أخذ العينات (sampling) أساسياً للهندسة المعمارية. تستخدم لينكدإن أخذ عينات الرأس المنسق (coordinated head sampling) بحيث يتلقى نشاط العميل والخادم ذو الصلة قرار أخذ عينات متسقاً. يساعد معرف عضو مستعار (pseudonymised member identifier) في الحفاظ على هذا الاتساق عبر الرحلة، مما يمنع أخذ عينات من العميل بينما يتم تجاهل تتبع الخدمة الخلفية المقابل، أو العكس.

تميز الشركة أيضاً بين بيانات القياس عن بعد القيمة المتعلقة بجودة التجربة (quality-of-experience) ومعلومات التصحيح الأقل قيمة. تقدر لينكدإن أن ما يصل إلى 90% من حجم بعض تتبعات الخدمات الخلفية يمكن اعتباره بيانات على مستوى التصحيح.

تفرض مراقبة جانب العميل قيوداً إضافية. يمكن تعليق تطبيقات الأجهزة المحمولة أو إنهاؤها قبل إرسال بيانات القياس عن بعد، لذلك تقوم لينكدإن بتجميع النطاقات (spans) ولكن يمكنها تفريغ بيانات القياس عن بعد عندما ينتقل التطبيق إلى الخلفية. تطبق المنصة أيضاً ضوابط حول البيانات التي يمكن أن تدخل التتبعات، بما في ذلك قوائم السماح والرفض للسمات (attribute allowlists, denylists) وإخفاء البيانات (redaction). هذا مهم لأن التتبعات الموزعة يمكن أن تصبح بخلاف ذلك قناة غير مقصودة للمعلومات الحساسة للتطبيق أو العضو.

تركز أدوات التتبع الموزع التقليدية مثل Jaeger و Grafana Tempo بشكل أساسي على تتبع الطلبات عبر الخدمات الخلفية. تجمع المنصات التجارية مثل Datadog و New Relic أيضاً التتبع الموزع مع مراقبة المستخدم الحقيقي والتطبيق. لا يتعلق نهج لينكدإن بتقديم قدرة لا تستطيع هذه المنصات توفيرها، بل يتعلق بجعل OpenTelemetry الأساس المشترك الذي يربط بيانات القياس عن بعد للعميل والخدمات الخلفية. يمنح هذا أيضاً لينكدإن سيطرة أكبر على مكدس المراقبة الخاص بها ويتجنب جعل أدوات التطبيق تعتمد على خدمة خلفية تجارية معينة.

لا يختبر العضو معرف تتبع (traceId)؛ بل يختبر صفحة تُحمّل ببطء، أو إجراء يفشل، أو ميزة تتصرف بشكل غير متوقع. ربط هذه التجارب بالأنظمة الموزعة وراءها يمنح المهندسين مساراً مباشراً أكثر بكثير من تأثير المستخدم إلى السبب التقني.

🤖

إفصاح الشفافية ومصدر الخبر

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

زيارة المصدر الأصلي المرجعي
إعلان ممول
إعلانات

📰 مقالات وتقارير ذات صلة