عن المشروع
OpenTelemetry JavaScript هو التنفيذ بلغة JavaScript لإطار عمل OpenTelemetry، وهو إطار عمل محايد تجاه البائعين لجمع التتبعات والمقاييس والسجلات من التطبيقات. يستهدف Node.js ومتصفحات الويب ويُنشر كمجموعة من حزم npm تحت نطاق @opentelemetry.
يفصل المشروع الاهتمامات إلى طبقة API وتنفيذات SDK. توفر حزمة API واجهات TypeScript وتعدادات وتنفيذات no-op لنموذج التتبع والمقاييس الأساسي، بحيث يمكن لمؤلفي المكتبات الاعتماد فقط على API العامة دون سحب SDK محدد. توفر الحزمة الأساسية تنفيذات افتراضية وno-op. على جانب SDK، يوفر sdk-trace التحكم في الأدوات وإنشاء الامتدادات دون تحميل async_hooks أو الأدوات افتراضيًا، بينما يوفر sdk-metrics أدوات وعدادات للإبلاغ عن بيانات السلاسل الزمنية.
يتضمن البدء عادةً تثبيت @opentelemetry/api و@opentelemetry/sdk-node والحزمة الوصفية auto-instrumentations-node، ثم إنشاء ملف إعداد تتبع يهيئ NodeSDK بمورد ومصدّر مثل ConsoleSpanExporter وأدوات تتبع تلقائي. يُبدأ التطبيق بعد ذلك مع تحميل ملف التتبع مسبقًا. يمكن تمكين مسجل تشخيصي عبر API لتصحيح الحالات التي لا تصل فيها بيانات القياس إلى المجمع.
يتم توثيق حالة الميزات لكل إشارة: التتبع والمقاييس مستقران في كل من API وSDK، بينما السجلات لا تزال قيد التطوير. ينشر README أيضًا مصفوفة توافق تربط إصدارات الحزم المستقرة بإصدارات الحزم التجريبية، ويشير إلى أن الحزم المستقرة تشترك في خط إصدار واحد بينما تشترك الحزم التجريبية في خط آخر. تشمل بيئات التشغيل المدعومة إصدارات Node.js LTS الحالية، مع وصف أدوات المتصفح بأنها تجريبية وغير محددة إلى حد كبير؛ الحد الأدنى لخط الأساس لميزات اللغة هو ECMAScript 2022. يتبع دعم TypeScript نافذة دعم مدتها سنتان.
المصدّرات محايدة تجاه البائعين، ويسرد سجل المصدّرات المتاحة، بينما يمكن للمستخدمين أيضًا كتابة مصدّرات خاصة بهم. يتوفر التتبع التلقائي من خلال الأدوات، مع أدوات Node الأساسية لـ gRPC وHTTP، وأدوات الويب الأساسية لـ XMLHttpRequest وfetch، وأدوات إضافية مساهمة مستضافة في مستودع منفصل. المشروع مرخص Apache-2.0 ويرحب بالمساهمات من خلال وسوم up-for-grabs وgood-first-issue، مع اجتماع SIG أسبوعي.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.