دمج OpenTracing وOpenCensus: الطريق إلى التقارب

دمج OpenTracing وOpenCensus: الطريق إلى التقارب

المؤلفون: تيد يونغ، بريتام شاه ولجنة المواصفات الفنية (كارلوس ألبرتو، بوجدان دروتو، سيرجي كانجيليف، ويوري شكورو).

حصل المشروع المشترك على الاسم: http://opentelemetry.io

باختصار شديد جداً:

  • نقوم بإنشاء مجموعة موحدة جديدة من المكتبات والمواصفات لقدرات مراقبة القياس عن بعد. سيتم دمج مشروعي OpenTracing وOpenCensus وتوفير مسار مدعوم للترحيل.
  • سيكون التنفيذ المرجعي في Java متاحًا في 24 أبريل، وسيبدأ العمل على التنفيذ باللغات الأخرى بالكامل في 8 مايو 2019. عرض الجدول الزمني هنا.
  • بحلول سبتمبر 2019، من المقرر التكافؤ مع المشاريع الحالية لـ C# وGolang وJava وNodeJS وPython. هناك الكثير من العمل الذي ينتظرنا، ولكن يمكننا التعامل معه إذا عملنا بالتوازي. إذا كنت مهتمًا بالمشاركة في هذا المشروع، فيرجى التسجيل وإخبارنا كيف ترغب في المساهمة.
  • بمجرد اكتمال التنفيذ بكل لغة، سيتم إغلاق مشروعي OpenTracing وOpenCensus المطابقين. وهذا يعني أنه سيتم تجميد المشاريع القديمة، وسيستمر المشروع الجديد في دعم الأدوات الموجودة لمدة عامين باستخدام التوافق مع الإصدارات السابقة.

نظرة عامة على المشروع

دمج OpenTracing وOpenCensus: الطريق إلى التقارب

نحن نقوم بالاندماج! الهدف النهائي هو جمع مشروعي OpenTracing وOpenCensus معًا في مشروع واحد مشترك.
سيكون جوهر المشروع الجديد عبارة عن مجموعة من الواجهات النظيفة والمدروسة، بما في ذلك التجميع التقليدي للمكتبات التي تنفذ هذه الواجهات في شكل ما يسمى. SDK. وستكون الزينة على الكعكة هي المعايير الموصى بها للبيانات وبروتوكولات الأسلاك، بما في ذلك الأجزاء المشتركة من البنية التحتية.
ستكون النتيجة نظام قياس عن بعد كامل مناسب لمراقبة الخدمات الصغيرة وأنواع أخرى من الأنظمة الموزعة الحديثة، متوافق مع معظم برمجيات المصدر المفتوح وبرامج الواجهة الخلفية التجارية.

الأحداث الرئيسية

24.04/XNUMX — تم تقديم المرشح المرجعي للمراجعة.
8.05 — يتم تشكيل فريق ويبدأ العمل بجميع اللغات.
20.05 — الإطلاق الرسمي للمشروع في كوبيكون ببرشلونة.
6.09 - تصل التطبيقات في C# وGolang وJava وNodeJS وPython إلى التكافؤ مع نظيراتها.
6.11 - الإكمال الرسمي لمشروعي OpenTracing وOpenCensus.
20.11 — حفل وداع على شرف استكمال المشاريع في قمة Observability Summit، كوبيكون سان دييغو.

الجدول الزمني للتقارب

دمج OpenTracing وOpenCensus: الطريق إلى التقارب

يتضمن الترحيل لكل لغة بناء SDK جاهزًا للإنتاج، وأدوات للمكتبات الشائعة، والوثائق، وCI، وأدوات التوافق مع الإصدارات السابقة، وإغلاق مشروعي OpenCensus وOpenTracing ذي الصلة ("غروب الشمس"). لقد وضعنا هدفًا طموحًا لشهر سبتمبر 2019 - وهو تحقيق التكافؤ بين لغات C# وGolang وJava وNodeJS وPython. سنقوم بتحريك تاريخ غروب الشمس حتى تصبح جميع اللغات جاهزة. ولكن من الأفضل تجنب ذلك.
عند عرض الأهداف، يرجى مراعاة مشاركتك الشخصية، وأخبرنا بذلك عن طريق ملء النموذج إستمارة تسجيل، أو بقول مرحبًا في محادثات Gitter الخاصة بالمشاريع تتبع مفتوح и التعداد المفتوح. يمكنك عرض الرسم البياني على شكل رسم بياني هنا.

الهدف: المسودة الأولى للمواصفات المشتركة بين اللغات (الانتهاء منها بحلول 8 مايو)

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

المتطلبات الإلزامية للمسودة الأولى لمواصفات اللغة X:

  • تعريفات المصطلحات العامة.
  • نموذج لوصف المعاملات الموزعة والإحصائيات والمقاييس.
  • توضيحات حول القضايا الهامة التي نشأت أثناء التنفيذ.

وهذا الهدف يعيق بقية العمل، ويجب الانتهاء من المسودة الأولى بحلول 8 مايو.

الهدف: المسودة الأولى لمواصفات البيانات (الانتهاء بحلول 6 يوليو)

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

تعتمد المسودة الأولى على تنسيق بيانات OpenCensus الحالي وستحتوي على ما يلي:

  • مخطط بيانات ينفذ مواصفات عبر اللغات.
  • تعريفات البيانات الوصفية للعمليات المشتركة.
  • تعريفات JSON وProtobuf.
  • تنفيذ العملاء المرجعيين.

يرجى ملاحظة أن هناك أيضًا بروتوكولًا سلكيًا يوزع الآثار داخل النطاق، والذي نود توحيده أيضًا. تنسيق التوزيع تتبع السياق تم تطويره من خلال W3C.

الهدف: التكافؤ بين جميع اللغات الرئيسية المدعومة (الانتهاء بحلول السادس من سبتمبر)

يجب علينا تحقيق التكافؤ في النظام البيئي اللغوي الحالي من خلال استبدال المشاريع القديمة بأخرى جديدة.

  • تعريفات الواجهة للتتبع والمقاييس ونشر السياق بناءً على مواصفات عبر اللغات.
  • مجموعة SDK جاهزة للاستخدام تقوم بتنفيذ هذه الواجهات وتصدير بيانات التتبع. حيثما أمكن، سيتم إنشاء SDK عن طريق نقل تطبيق موجود من OpenCensus.
  • مجموعة أدوات للمكتبات الشائعة التي يتم تغطيتها حاليًا في OpenTracing وOpenCensus.

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

  • سيكون SDK الجديد متوافقًا مع واجهات OpenTracing الحالية. وسوف تسمح لأدوات OpenTracing القديمة بالعمل جنبًا إلى جنب مع الأدوات الجديدة في نفس العملية، مما يسمح للمستخدمين بترحيل عملهم بمرور الوقت.
  • عندما يصبح SDK الجديد جاهزًا، سيتم إنشاء خطة ترقية لمستخدمي OpenCensus الحاليين. كما هو الحال مع OpenTracing، ستتمكن الأدوات القديمة من مواصلة العمل جنبًا إلى جنب مع الأدوات الجديدة.
  • بحلول شهر نوفمبر، سيتم إغلاق كل من OpenTracing وOpenCensus أمام قبول التغييرات. سيتم دعم التوافق مع الإصدارات السابقة مع الأدوات القديمة لمدة عامين.

يتطلب إنشاء حزمة SDK الأفضل في فئتها لكل لغة الكثير من العمل، وهذا ما نحتاج إليه بشدة.

الهدف: التوثيق الأساسي (الانتهاء بحلول 6 سبتمبر)

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

الوثائق التالية هي الحد الأدنى المطلوب للبدء:

  • اتجاه المشروع.
  • إمكانية الملاحظة 101.
  • بداية العمل.
  • أدلة اللغة (لكل منها على حدة).

الكتاب من جميع المستويات موضع ترحيب! يعتمد موقعنا الجديد على Hugo، باستخدام العلامات العادية، لذا من السهل جدًا المساهمة.

الهدف: التسجيل v1.0 (الاكتمال بحلول 6 يوليو)

التسجيل - عنصر حاسم آخر، نسخة محسنة سجل التتبع المفتوح.

  • من السهل العثور على المكتبات والمكونات الإضافية والمثبتات والمكونات الأخرى.
  • سهولة إدارة مكونات التسجيل.
  • يمكنك معرفة ميزات SDK المتوفرة في كل لغة.

إذا كنت مهتمًا بالتصميم والواجهة وتجربة المستخدم، فلدينا مشروع ممتاز للمشاركة الشخصية.

الهدف: البنية التحتية لاختبار البرامج وإصدارها (الانتهاء بحلول 6 سبتمبر)

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

الهدف: إغلاق مشروعي OpenTracing وOpenCensus (الانتهاء بحلول 6 نوفمبر)

ونخطط للبدء في إغلاق المشاريع القديمة في 6 سبتمبر، إذا وصل المشروع الجديد إلى التكافؤ معها. وبعد شهرين، ومع تكافؤ جميع اللغات، نخطط لإغلاق مشروعي OpenTracing وOpenCensus. وينبغي أن يفهم بهذه الطريقة:

  • سيتم تجميد المستودعات ولن يتم إجراء أي تغييرات أخرى.
  • تشتمل مجموعة الأدوات الحالية على فترة دعم مدتها سنتان.
  • سيتمكن المستخدمون من الترقية إلى SDK الجديد باستخدام نفس الأدوات.
  • التحديث التدريجي سيكون ممكنا.

انضم الآن

سوف نرحب بأي مساعدة لأن هذا مشروع ضخم. إذا كنت مهتمًا بالتعرف على إمكانية الملاحظة، فهذا هو الوقت المناسب!

المصدر: www.habr.com

إضافة تعليق