React Academy · पाठ

ब्राउज़र से OpenTelemetry ट्रेस

React में OTel JavaScript SDK सेट करें, उपयोगकर्ता इंटरैक्शन के लिए स्पैन बनाएँ और उन्हें बैकएंड कलेक्टर को निर्यात करें।

पाठ 2, कुल 4 में से13 चरण

ब्राउज़र से OpenTelemetry ट्रेस, CoddyKit पर React Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह React Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। React Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

OpenTelemetry JavaScript SDK

ब्राउज़र के लिए OpenTelemetry JavaScript SDK कई पैकेजों से बना है: @opentelemetry/sdk-trace-web मुख्य ट्रेस कार्यान्वयन देता है, @opentelemetry/instrumentation-fetch सभी fetch API कॉल के लिए अपने-आप स्पैन बनाता है और @opentelemetry/exporter-trace-otlp-http स्पैन को कलेक्टर तक भेजता है।

TracerProvider: OTel ट्रेसिंग का मूल

TracerProvider, OpenTelemetry में केंद्रीय कॉन्फ़िगरेशन ऑब्जेक्ट है। इसमें SpanProcessors की सूची होती है (जो तय करते हैं कि पूरे हो चुके स्पैन के साथ क्या किया जाए), आपके ऐप्लिकेशन का वर्णन करने वाला संसाधन (सेवा का नाम और संस्करण) तथा सैंपलिंग की कोई भी कॉन्फ़िगरेशन होती है।

BatchSpanProcessor: कुशल निर्यात

BatchSpanProcessor पूरे हो चुके स्पैन को मेमोरी में एकत्र करता है और प्रत्येक स्पैन को अलग-अलग भेजने के बजाय उन्हें समूहों में निर्यात करता है। इससे आपके कलेक्टर को भेजे जाने वाले HTTP अनुरोधों की संख्या बहुत कम हो जाती है, ब्राउज़र का प्रदर्शन बेहतर होता है और OTel कलेक्टर एंडपॉइंट पर भार घटता है।

OTLPTraceExporter: कलेक्टर को भेजना

OTLPTraceExporter समूहित स्पैन को JSON या protobuf प्रारूप में HTTP के माध्यम से OpenTelemetry-संगत कलेक्टर तक भेजता है। आप कलेक्टर का URL कॉन्फ़िगर करते हैं (जैसे आपका OTel कलेक्टर प्रॉक्सी एंडपॉइंट), और निर्यातक क्रमबद्ध रूपांतरण तथा पुनःप्रयास की प्रक्रिया अपने-आप संभालता है।

स्पैन क्या है

एक स्पैन किसी ट्रेस के भीतर किए गए काम की एक इकाई को दर्शाता है: किसी घटक का माउंट होना, API कॉल या उपयोगकर्ता की अंतःक्रिया। स्पैन में नाम, प्रारंभ समय, समाप्ति समय, स्थिति (OK या ERROR) और कुंजी-मूल्य विशेषताओं का एक समूह होता है। संबंधित स्पैन साझा trace ID तथा पैरेंट-चाइल्ड संबंधों के माध्यम से जुड़े होते हैं।

स्पैन को मैन्युअल रूप से शुरू और समाप्त करना

provider.getTracer('react-app') से ट्रेसर बनाएँ और tracer.startSpan('component-mount') से स्पैन शुरू करें। काम पूरा होने के बाद समाप्ति समय दर्ज करने के लिए span.end() कॉल करें। स्पैन को हमेशा समाप्त करें — लीक हुए स्पैन मेमोरी व्यर्थ करते हैं और आपकी अवलोकनीयता के बैकएंड में अधूरा डेटा बनाते हैं।

स्पैन में विशेषताएँ जोड़ना

विशेषताएँ स्पैन में संदर्भ से जुड़ा डेटा जोड़ती हैं: span.setAttribute('user.id', userId) या span.setAttribute('route', location.pathname)। आपकी अवलोकनीयता के बैकएंड में इन विशेषताओं को खोजा जा सकता है, जिससे ऐसी क्वेरी चलाना संभव होता है जैसे "उपयोगकर्ता 42 के सभी धीमे स्पैन दिखाएँ" या "/checkout रूट की सभी त्रुटियाँ दिखाएँ।"

स्वचालित fetch उपकरणीकरण

@opentelemetry/instrumentation-fetch वैश्विक fetch फ़ंक्शन में बदलाव करके हर बाहर जाने वाले HTTP अनुरोध के लिए अपने-आप स्पैन बनाता है। यह स्पैन URL, विधि, HTTP स्थिति कोड और अवधि दर्ज करता है, इसके लिए आपके मौजूदा fetch कॉल में कोई बदलाव करने की आवश्यकता नहीं होती।

W3C TraceContext के माध्यम से संदर्भ प्रसार

जब fetch इंस्ट्रूमेंटेशन किसी बाहर जाने वाले अनुरोध के लिए स्पैन बनाता है, तो यह अनुरोध में W3C TraceContext का traceparent हेडर जोड़ देता है। अनुरोध प्राप्त करने वाला बैकएंड इस हेडर को पढ़कर उसी ट्रेस को जारी रखता है और ऐसा जुड़ा हुआ ट्रेस बनाता है जो ब्राउज़र और सर्वर, दोनों तक फैला होता है।

अपने रिएक्ट ऐप में OTel को आरंभ करना

OTel का आरंभीकरण किसी भी कंपोनेंट के माउंट होने से पहले होना चाहिए—आमतौर पर ऐप की प्रवेश फ़ाइल (main.tsx) में, ReactDOM.createRoot कॉल से पहले। प्रोवाइडर बनाएँ, प्रोसेसर और एक्सपोर्टर रजिस्टर करें, और provider.register() कॉल करके उसे वैश्विक TracerProvider बनाएँ।

सैंपलिंग: ट्रेस की मात्रा नियंत्रित करना

अधिक ट्रैफ़िक वाले ऐप में हर उपयोगकर्ता इंटरैक्शन रिकॉर्ड करने से बहुत बड़ी मात्रा में ट्रेस डेटा बनता है। मात्रा कम करने के लिए TracerProvider में TraceIdRatioBased सैंपलर कॉन्फ़िगर करें, जैसे 10% ट्रेस का सैंपल लेना। यह सुनिश्चित करने के लिए कि कोई त्रुटि छूट न जाए, ParentBased सैंपलर का उपयोग करके त्रुटि वाले ट्रेस का हमेशा 100% सैंपल लें।

OTel BatchSpanProcessor का उद्देश्य

ब्राउज़र ऐप्लिकेशन में SimpleSpanProcessor के बजाय BatchSpanProcessor का उपयोग क्यों किया जाता है?

पाठ का पुनरावलोकन

OpenTelemetry JavaScript SDK, TracerProvider, BatchSpanProcessor और OTLPTraceExporter की सहायता से ब्राउज़र का इंस्ट्रूमेंटेशन करता है। स्पैन ऐसे कार्य-खंडों का प्रतिनिधित्व करते हैं जिन्हें एट्रिब्यूट से समृद्ध किया जाता है। fetch इंस्ट्रूमेंटेशन एपीआई कॉल के लिए अपने-आप स्पैन बनाता है और एंड-टू-एंड वितरित ट्रेसिंग के लिए W3C TraceContext हेडर जोड़ता है। स्वच्छ ट्रेस डेटा बनाए रखने के लिए जल्दी आरंभ करें, उचित रूप से सैंपल लें और स्पैन को हमेशा समाप्त करें।

शुरुआत निःशुल्क

एआई शिक्षक के साथ React सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
88
पाठ
324

अक्सर पूछे जाने वाले प्रश्न

क्या “ब्राउज़र से OpenTelemetry ट्रेस” पाठ निःशुल्क है?

हाँ—“ब्राउज़र से OpenTelemetry ट्रेस” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और React Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। React Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“ब्राउज़र से OpenTelemetry ट्रेस” में मैं क्या सीखूँगा?

React में OTel JavaScript SDK सेट करें, उपयोगकर्ता इंटरैक्शन के लिए स्पैन बनाएँ और उन्हें बैकएंड कलेक्टर को निर्यात करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ React Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या React Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर React Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“ब्राउज़र से OpenTelemetry ट्रेस” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस React Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर React Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. फ़्रंटएंड ऑब्ज़र्वेबिलिटी: क्या और क्यों
  2. ब्राउज़र से OpenTelemetry ट्रेस
  3. वास्तविक उपयोगकर्ता निगरानी और वेब वाइटल्स
  4. फ़्रंटएंड और बैकएंड ट्रेस का सहसंबंध
← React Academy पर वापस जाएँ