आइए "क्यों" से शुरू करें, स्थानीय मशीन पर डेटाडॉग स्थापित करने से भी परेशान होना चाहिए। मैं इसे स्थापित करने के लिए अपनी प्रेरणा साझा कर सकता हूं
हमारे पास उच्च कवरेज के साथ व्यापक एंड-टू-एंड टेस्ट सूट था। लेकिन दुख की बात है कि परीक्षण समय के साथ परतदार और परतदार होते गए। मेरी निराशा के लिए, जब परीक्षण अलगाव में चलाए गए, तो वे पास हो गए। जब हम पूरा टेस्ट सूट चलाते थे, तो कई टेस्ट फेल होने लगते थे। परीक्षण से संबंधित एप्लिकेशन लॉग को हमें डीबग करने में मदद करनी चाहिए। लेकिन मैं यह भी नहीं समझ सका कि किसी विशेष परीक्षण के लिए लॉग कहाँ से शुरू और समाप्त हुए, उन्हें समझने की तो बात ही छोड़ दें।
हम प्रयोग करते रहे हैं
हमारा आवेदन जावा में लिखा गया है और मेरी स्थानीय मशीन मैकोज़ पर चलती है। आप अपनी जरूरत के अनुरूप नीचे दिए गए चरणों में बदलाव कर सकते हैं।
dd-trace-java
एक जार है जिसमें स्वचालित रूप से या मैन्युअल रूप से एपीआई शामिल हैं
अपनी ईमेल आईडी और अन्य विवरण देने के बाद, आपको अगले पेज पर अपना टेक स्टैक चुनने के लिए कहा जाएगा।
आपके द्वारा 'अगला' पर क्लिक करने के बाद, सबसे महत्वपूर्ण भाग आता है। आपको 'एजेंट सेटअप' निर्देश दिए जाएंगे। मेरी स्थानीय मशीन MacOSX है, इसलिए मैंने इसे उचित रूप से चुना। कृपया DD_API_KEY और DD_SITE मान नोट कर लें, क्योंकि इनका उपयोग बाद के चरणों में किया जाएगा।
MacOS के लिए, आप के माध्यम से स्थापित कर सकते हैं
जैसा कि नीचे दिखाया गया है datadog-agent
अनुकूलित करें
उपरोक्त चरण पूरा होने के बाद, आपको डेटाडॉग-वेब-यूआई में 'समाप्त' करने के लिए कहा जाएगा।
integrations
जोड़ने के लिए कहा जाएगा। आप Java
, Docker
आदि जोड़ सकते हैं (आपकी परियोजना की जरूरतों के अनुसार)। 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
इंजेक्ट करने के लिए एक तंत्र जोड़ें। यह एक अद्भुत जीवन रक्षक है और लॉग को उचित संदर्भ में रखता है।⁵
एक बार मेरे पास डेटाडॉग एजेंट था और स्थानीय रूप से चल रहा था, मैं सभी अनुरोधों को प्रासंगिक रूप से देखने में सक्षम था।
और वोइला! मेरे सभी एंड-टू-एंड टेस्ट अब पास हो रहे हैं 🙂 हैप्पी लॉगिंग!
¹वैकल्पिक रूप से, आप इसे डाउनलोड भी कर सकते हैं
²डायरेक्ट डाउनलोड करें
³ JDK 11 से शुरू करके, हम कुछ भी सक्रिय किए बिना FlightRecorder
उपयोग कर सकते हैं। अधिक जानकारी मिल सकती है
⁴अधिक विवरण हैं
⁵यदि आपका एप्लिकेशन जावा है, तो आप इस लाइब्रेरी का उपयोग कर सकते हैंspan_id
और trace_id
जोड़ने के लिए।