منصوبے کے بارے میں

OpenTelemetry JavaScript، OpenTelemetry کا JavaScript نفاذ ہے، جو ایپلیکیشنز سے ٹریس، میٹرکس اور لاگز جمع کرنے کے لیے ایک وینڈر-غیر جانبدار فریم ورک ہے۔ یہ Node.js اور ویب براؤزرز کو نشانہ بناتا ہے اور @opentelemetry اسکوپ کے تحت npm پیکیجز کے سیٹ کے طور پر شائع ہوتا ہے۔ یہ پروجیکٹ تشویشات کو API پرت اور SDK نفاذات میں تقسیم کرتا ہے۔ API پیکیج بنیادی ٹریس اور میٹرکس ماڈل کے لیے TypeScript انٹرفیس، enums اور no-op نفاذات فراہم کرتا ہے، تاکہ لائبریری مصنفین مخصوص SDK کو شامل کیے بغیر صرف عوامی API پر انحصار کر سکیں۔ کور پیکیج ڈیفالٹ اور 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 سپورٹ دو سالہ سپورٹ ونڈو پر عمل کرتی ہے۔ ایکسپورٹرز وینڈر-غیر جانبدار ہیں، اور ایک رجسٹری دستیاب ایکسپورٹر نفاذات کی فہرست دیتی ہے، جبکہ صارفین اپنے بھی لکھ سکتے ہیں۔ خودکار ٹریسنگ انسٹرومینٹیشنز کے ذریعے دستیاب ہے، جس میں gRPC اور HTTP کے لیے کور Node انسٹرومینٹیشنز، XMLHttpRequest اور fetch کے لیے کور ویب انسٹرومینٹیشنز، اور اضافی contrib انسٹرومینٹیشنز ایک علیحدہ ریپوزٹری میں میزبانی کی گئی ہیں۔ یہ پروجیکٹ Apache-2.0 لائسنس یافتہ ہے اور up-for-grabs اور good-first-issue ٹیگز کے ذریعے شراکت کا خیر مقدم کرتا ہے، جس میں ہفتہ وار SIG میٹنگ ہوتی ہے۔