इस प्रोजेक्ट के बारे में

OpenTelemetry JavaScript, OpenTelemetry का JavaScript कार्यान्वयन है, जो अनुप्रयोगों से ट्रेस, मेट्रिक्स और लॉग एकत्र करने के लिए एक विक्रेता-तटस्थ फ्रेमवर्क है। यह Node.js और वेब ब्राउज़रों को लक्षित करता है और @opentelemetry स्कोप के तहत npm पैकेजों के एक सेट के रूप में प्रकाशित होता है। परियोजना चिंताओं को API परत और SDK कार्यान्वयन में विभाजित करती है। API पैकेज कोर ट्रेस और मेट्रिक्स मॉडल के लिए TypeScript इंटरफेस, एनम और नो-ऑप कार्यान्वयन प्रदान करता है, ताकि लाइब्रेरी लेखक किसी विशिष्ट SDK को शामिल किए बिना केवल सार्वजनिक API पर निर्भर रह सकें। कोर पैकेज डिफ़ॉल्ट और नो-ऑप कार्यान्वयन प्रदान करता है। SDK पक्ष पर, sdk-trace डिफ़ॉल्ट रूप से async_hooks या इंस्ट्रूमेंटेशन लोड किए बिना इंस्ट्रूमेंटेशन और स्पैन निर्माण पर नियंत्रण प्रदान करता है, जबकि sdk-metrics समय-श्रृंखला डेटा रिपोर्ट करने के लिए इंस्ट्रूमेंट और मीटर प्रदान करता है। आरंभ करने में आमतौर पर @opentelemetry/api, @opentelemetry/sdk-node और ऑटो-इंस्ट्रूमेंटेशन-नोड मेटा पैकेज स्थापित करना शामिल होता है, फिर एक ट्रेसिंग सेटअप फ़ाइल बनाना जो संसाधन, ConsoleSpanExporter जैसे एक्सपोर्टर और ऑटो-इंस्ट्रूमेंटेशन के साथ NodeSDK कॉन्फ़िगर करता है। फिर एप्लिकेशन को ट्रेसिंग फ़ाइल पहले से लोड करके शुरू किया जाता है। टेलीमेट्री कलेक्टर तक नहीं पहुंचने वाले मामलों को डीबग करने के लिए 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 बैठक के साथ।