आइए "क्यों" से शुरू करें, स्थानीय मशीन पर डेटाडॉग स्थापित करने से भी परेशान होना चाहिए। मैं इसे स्थापित करने के लिए अपनी प्रेरणा साझा कर सकता हूं
मेरा मजबूत 'क्यों': परतदार परीक्षणों की समझ बनाने की कोशिश:
हमारे पास उच्च कवरेज के साथ व्यापक एंड-टू-एंड टेस्ट सूट था। लेकिन दुख की बात है कि परीक्षण समय के साथ परतदार और परतदार होते गए। मेरी निराशा के लिए, जब परीक्षण अलगाव में चलाए गए, तो वे पास हो गए। जब हम पूरा टेस्ट सूट चलाते थे, तो कई टेस्ट फेल होने लगते थे। परीक्षण से संबंधित एप्लिकेशन लॉग को हमें डीबग करने में मदद करनी चाहिए। लेकिन मैं यह भी नहीं समझ सका कि किसी विशेष परीक्षण के लिए लॉग कहाँ से शुरू और समाप्त हुए, उन्हें समझने की तो बात ही छोड़ दें।
बचाव के लिए डेटाडॉग 🦸!
हम प्रयोग करते रहे हैं
हमारा आवेदन जावा में लिखा गया है और मेरी स्थानीय मशीन मैकोज़ पर चलती है। आप अपनी जरूरत के अनुरूप नीचे दिए गए चरणों में बदलाव कर सकते हैं।
आपको क्या सेट अप करने की आवश्यकता है:
- डेटाडॉग के लिए साइन अप करें
यहाँ . यहाँ हमारा दायरा केवल स्थानीय डिबगिंग है, इसलिए aमुफ्त परीक्षण पर्याप्त होना चाहिए। - डेटाडॉग एजेंट वह सॉफ्टवेयर है जो उस होस्ट की निगरानी करता है जिस पर वह चलता है। एजेंट में सेवा का नाम, पर्यावरण आदि जैसी सेटिंग की जा सकती हैं।
डीडी-ट्रेस-java , डेटाडॉग का एपीएम (ऐप परफॉर्मेंस मॉनिटरिंग) क्लाइंट जावा लाइब्रेरी।dd-trace-java
एक जार है जिसमें स्वचालित रूप से या मैन्युअल रूप से एपीआई शामिल हैंपता लगाना औरप्रोफ़ाइल जावा अनुप्रयोग।
चरण 1 - साइन अप प्रक्रिया:
अपनी ईमेल आईडी और अन्य विवरण देने के बाद, आपको अगले पेज पर अपना टेक स्टैक चुनने के लिए कहा जाएगा।
आपके द्वारा 'अगला' पर क्लिक करने के बाद, सबसे महत्वपूर्ण भाग आता है। आपको 'एजेंट सेटअप' निर्देश दिए जाएंगे। मेरी स्थानीय मशीन MacOSX है, इसलिए मैंने इसे उचित रूप से चुना। कृपया DD_API_KEY और DD_SITE मान नोट कर लें, क्योंकि इनका उपयोग बाद के चरणों में किया जाएगा।
चरण 2— डेटाडॉग एजेंट इंस्टालेशन:
MacOS के लिए, आप के माध्यम से स्थापित कर सकते हैं
जैसा कि नीचे दिखाया गया है
datadog-agent
अनुकूलित करें
उपरोक्त चरण पूरा होने के बाद, आपको डेटाडॉग-वेब-यूआई में 'समाप्त' करने के लिए कहा जाएगा।
- आपको कोई भी
integrations
जोड़ने के लिए कहा जाएगा। आपJava
,Docker
आदि जोड़ सकते हैं (आपकी परियोजना की जरूरतों के अनुसार)।
चरण 3 - डेटाडॉग ट्रैसर स्थापित करें:
dd-java-agent
जार से डाउनलोड करेंयहाँ ²
अपने जावा एप्लिकेशन के लिए, सुनिश्चित करें कि आप जावा के उस संस्करण का उपयोग कर रहे हैं जो एक इन-बिल्ट FlightRecorder के साथ आता है। यह ट्रेसिंग के लिए जरूरी है। OpenJdK8 इनबिल्ट FlightRecorder के साथ आता है। यदि आप Oracle Java का उपयोग कर रहे हैं, तो आपको **FlightRecorder.**³ का उपयोग करने के लिए एक व्यावसायिक लाइसेंस की आवश्यकता है
अपना आवेदन चलाना:
- हमारे जावा एप्लिकेशन के लिए वीएम विकल्प जोड़ें:
-javaagent:"/Users/home/Downloads/dd-java-agent.jar" -Ddd.profiling.enabled=true -Ddd.logs.injection=true -Ddd.agent.port=8126 -Ddd.service=ecommerce-service -Ddd.env=local -XX:FlightRecorderOptions=stackdepth=256
- यदि आप एक
gradle
कार्य का उपयोग कर रहे हैं, तो आपjvmArgs
नीचे के रूप में शामिल कर सकते हैं:
jvmArgs = ["-javaagent:/Users/home/Downloads/dd-java-agent.jar", "-XX:FlightRecorderOptions=stackdepth=256", "-Ddd.profiling.enabled=true", "-Ddd.logs.injection=true", "-Ddd.agent.port=8126", "-Ddd.service=ecommerce-service", "-Ddd.env=local"]
- अब अपना जावा एप्लिकेशन शुरू करें। यदि ट्रेसिंग सही ढंग से हो रही है, तो आपको नीचे दिए गए लॉग दिखाई देने चाहिए:
डेटाडॉग में लॉगिंग:
- लॉग को डेटाडॉग में स्ट्रीम करने के लिए सक्षम करने के लिए, डेटाडॉग वेब यूआई में दिए गए निर्देशों का पालन करें। ⁴
-
macOS
के लिए - कॉन्फ़िग निर्देशिका~/.datadog-agent/conf.d/java.d
है और फ़ाइल~/.datadog-agent/conf.d/java.d/conf.yaml
पर मौजूद है
और अब, डेटाडॉग में
logs
बहना शुरू हो जाना चाहिए।
कुछ सुझाव:
अपने अनुप्रयोग में प्रत्येक विधि के आरंभ और अंत में उपयुक्त
debug
लॉग जोड़ें। डिबगिंग करते समय यह बहुत उपयोगी है।
span id
औरtrace id
इंजेक्ट करने के लिए एक तंत्र जोड़ें। यह एक अद्भुत जीवन रक्षक है और लॉग को उचित संदर्भ में रखता है।⁵
निष्कर्ष:
एक बार मेरे पास डेटाडॉग एजेंट था और स्थानीय रूप से चल रहा था, मैं सभी अनुरोधों को प्रासंगिक रूप से देखने में सक्षम था।
और वोइला! मेरे सभी एंड-टू-एंड टेस्ट अब पास हो रहे हैं 🙂 हैप्पी लॉगिंग!
अतिरिक्त जानकारी:
¹वैकल्पिक रूप से, आप इसे डाउनलोड भी कर सकते हैं
डीएमजी पैकेज और इसे स्थापित करें। यह लिंक उपरोक्त 'एजेंट सेटअप' चरण में भी प्राप्त किया जा सकता है (स्क्रीनशॉट देखें)
²डायरेक्ट डाउनलोड करें
डीडी-ट्रेस-java जार।
³ JDK 11 से शुरू करके, हम कुछ भी सक्रिय किए बिना
FlightRecorder
उपयोग कर सकते हैं। अधिक जानकारी मिल सकती हैयहाँ .
⁴अधिक विवरण हैं
यहाँ .
⁵यदि आपका एप्लिकेशन जावा है, तो आप इस लाइब्रेरी का उपयोग कर सकते हैं
वसंत-बादल-जासूस अनुरोध मेंspan_id
औरtrace_id
जोड़ने के लिए।