Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Ruby

अपने रूबी ऐप के लिए ऐपसिग्नल में कस्टम मेट्रिक्स और अलर्ट में महारत हासिल करें

<पी> अधिकांश समय, ऐपसिग्नल द्वारा प्रदान किया गया डिफ़ॉल्ट एप्लिकेशन मॉनिटरिंग मेट्रिक्स, ग्राफ़ और विज़ुअलाइज़ेशन आपके रूबी ऐप के लिए काम करेगा। हालाँकि, आप उस प्रकार के उपयोगकर्ता हो सकते हैं जो इस पर थोड़ा नियंत्रण पसंद करता है कि क्या मापा जाता है, इसे कैसे प्रदर्शित किया जाता है, और आपके ऐप के बारे में महत्वपूर्ण जानकारी कैसे प्रसारित की जानी चाहिए।

<पी> ऐपसिग्नल आपको ऐप मेट्रिक्स और डैशबोर्ड को अपनी इच्छानुसार अनुकूलित करने की अनुमति देता है। इस गाइड में, हम AppSignal के कस्टम मेट्रिक्स के बारे में सब कुछ सीखेंगे, जिसमें शामिल हैं:

  • कस्टम मेट्रिक्स क्या हैं
  • विभिन्न प्रकार के कस्टम मेट्रिक्स जिन्हें आप सेट अप कर सकते हैं
  • ग्राफ़ विज़ुअलाइज़ेशन को कैसे अनुकूलित करें
  • प्रभावी अलर्ट कैसे सेट करें
<पी> और भी बहुत कुछ!

<पी> लेकिन इससे पहले कि हम आगे बढ़ें, आपको कुछ चीजों का पालन करना होगा।

आवश्यकताएँ

  • एक AppSignal खाता: यदि आपके पास एक नहीं है, तो 30-दिन के निःशुल्क परीक्षण के लिए साइन अप करें।
  • एक रूबी एप्लिकेशन: यह ऐप किसी भी समर्थित रूबी फ्रेमवर्क पर आधारित हो सकता है, जैसे रेल्स, सिनात्रा, या सिर्फ सादा रूबी। इसके अतिरिक्त, यह एक उत्पादन या विकास ऐप हो सकता है। यदि आप अपने स्वयं के ऐप को स्पिन नहीं करना चाहते हैं, तो उदाहरण के लिए सिनात्रा ऐप के कोड को क्लोन करें जिसे हम इस ट्यूटोरियल में उपयोग करेंगे।
<पी> ध्यान दें:यदि आप इस ट्यूटोरियल का अनुसरण करने के लिए अपने स्वयं के ऐप का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आपका ऐप नवीनतम ऐपसिग्नल रूबी रत्न का उपयोग करने के लिए कॉन्फ़िगर किया गया है, क्योंकि इस ट्यूटोरियल में उपयोग किए गए उदाहरण मानते हैं कि यह मामला है।

कस्टम मेट्रिक्स क्या हैं?

<पी> अपने ऐप की त्रुटि दर, थ्रूपुट और प्रदर्शन को मापने के अलावा, आपको अपने ऐप के लिए विशेष रूप से तैयार किए गए कस्टम डेटा को मापने में रुचि हो सकती है। उदाहरण के लिए, आपकी रुचि इस बात में हो सकती है कि किसी विशेष समयावधि में कितने विज़िटरों ने आपके ऐप पर साइन अप किया, आपके ऐप की वेबसॉकेट परत कैसा प्रदर्शन कर रही है, इत्यादि।

<पी> ऐसे अनुकूलित मामलों के लिए, आपको AppSignal के भीतर एक मानक माप उपकरण ढूंढने में कठिनाई हो सकती है। इसके बजाय, आपको एक कस्टम मीट्रिक का उपयोग करना होगा। कस्टम मेट्रिक्स अतिरिक्त मेट्रिक्स हैं जिन्हें आप डिफ़ॉल्ट मेट्रिक्स के साथ-साथ इस बारे में गहन संदर्भ के लिए परिभाषित करते हैं कि आपका ऐप कैसे चल रहा है।

<पी> आगे, आइए जानें कि अपनी पहली कस्टम मीट्रिक कैसे सेट करें।

कस्टम मेट्रिक्स सेट करना

<पी> आप अपने एप्लिकेशन के भीतर लगभग किसी भी उपयोग के मामले के लिए एक कस्टम मीट्रिक सेट कर सकते हैं। आइए एक सरल उदाहरण से शुरुआत करें जिससे आपको यह समझने में मदद मिलेगी कि सब कुछ एक साथ कैसे फिट बैठता है।

<पी> पहला कदम एक कस्टम मीट्रिक को परिभाषित करना है जिसे AppSignal पर ट्रैक किया जाएगा। आप उपलब्ध विभिन्न मीट्रिक प्रकारों का उपयोग करके एक कस्टम मीट्रिक परिभाषित कर सकते हैं:

  • गेज
  • काउंटर
  • वितरण

गेज कस्टम मीट्रिक

<पी> AppSignal में, एक गेज कस्टम मीट्रिक समय के साथ बढ़ने और घटने वाले मीट्रिक को मापने के लिए उपयोगी है।

<पी> आइए हमारे उदाहरण सिनात्रा ऐप में पोस्ट की कुल संख्या मापने के लिए एक सरल गेज कस्टम मीट्रिक सेट करें:

 <पी> ऊपर दिखाए गए कोड में, हम Appsignal::Helpers::Metrics का उपयोग करते हैं मॉड्यूल और set_gauge पर कॉल करें विधि, जो तीन तर्क स्वीकार करती है:

  • key :कस्टम मीट्रिक का नाम. उदाहरण में, यह all_posts होगा .
  • value - मापी जाने वाली मीट्रिक या "चीज़"। ऊपर दिखाए गए उदाहरण में, यह केवल कुल पोस्ट संख्या है।
  • tags - अतिरिक्त और वैकल्पिक मेटाडेटा जिसे एक कस्टम मीट्रिक में जोड़ा जा सकता है और मापे जा रहे डेटा को आपकी इच्छानुसार लेबल करने के लिए उपयोगी है। उदाहरण के लिए, हम आसानी से posts_count टैग कर सकते हैं पर्यावरण को ध्यान में रखते हुए मीट्रिक, जैसा कि नीचे दिखाया गया है:
 <पी> बढ़िया, हमने अभी अपना पहला कस्टम गेज मीट्रिक जोड़ा है! लेकिन यदि आप AppSignal पर वापस जाते हैं, तो आपकी नई कस्टम मीट्रिक दिखाई नहीं देगी। इसके बजाय, आपको डिफ़ॉल्ट डैशबोर्ड देखने की संभावना है, जैसा कि नीचे दिखाया गया है:

<पी> अपने रूबी ऐप के लिए ऐपसिग्नल में कस्टम मेट्रिक्स और अलर्ट में महारत हासिल करें

<पी> तो कस्टम मीट्रिक प्रदर्शित करने के लिए आपको क्या करने की आवश्यकता है? आपको एक डैशबोर्ड जोड़ना होगा. एक नया डैशबोर्ड बनाकर शुरुआत करें:

<पी> अपने रूबी ऐप के लिए ऐपसिग्नल में कस्टम मेट्रिक्स और अलर्ट में महारत हासिल करें

<पी> फिर अपने नए डैशबोर्ड को वर्णनात्मक शीर्षक और विवरण के साथ नाम दें:

<पी> अपने रूबी ऐप के लिए ऐपसिग्नल में कस्टम मेट्रिक्स और अलर्ट में महारत हासिल करें

<पी> कस्टम डैशबोर्ड जोड़े जाने के साथ, अब आपको कस्टम मीट्रिक के लिए एक ग्राफ़ जोड़ना होगा:

<पी> अपने रूबी ऐप के लिए ऐपसिग्नल में कस्टम मेट्रिक्स और अलर्ट में महारत हासिल करें

<पी> फिर नया ग्राफ़ परिभाषित करें:

<पी> अपने रूबी ऐप के लिए ऐपसिग्नल में कस्टम मेट्रिक्स और अलर्ट में महारत हासिल करें

<पी> नया ग्राफ़ सेट करने के लिए फ़ील्ड का विवरण यहां दिया गया है:

  • ए. शीर्षक - नए ग्राफ़ के लिए एक वर्णनात्मक शीर्षक दर्ज करें।
  • बी. विवरण - यह वैकल्पिक है, लेकिन आप नए ग्राफ़ के लिए विवरण दर्ज कर सकते हैं।
  • सी. मेट्रिक्स - यहां आप उस मीट्रिक को परिभाषित करते हैं जिसे नए ग्राफ़ द्वारा मापा और प्रदर्शित किया जाएगा। यह कस्टम मीट्रिक का नाम है, या set_gauge में परिभाषित पहला तर्क है विधि:all_posts . इस अनुभाग में, आप टैग भी परिभाषित कर सकते हैं (उदाहरण के लिए, टैग पर्यावरण दिखाए गए अनुसार भी शामिल है).
  • घ. ग्राफ़ प्रदर्शन - यह वह जगह है जहां आप अपने नए ग्राफ़ के लिए ग्राफ़ प्रदर्शन का प्रकार चुनते हैं।
  • ई. लीजेंड लेबल - आप यहां चार्ट लेजेंड के लिए लेबल को कस्टमाइज़ कर सकते हैं।
  • एफ. डेटा प्रारूप - ग्राफ़ प्रदर्शन के लिए प्रयुक्त डेटा प्रकार को परिभाषित करें। आप संख्या, प्रतिशत, थ्रूपुट (अनुरोध/मिनट या घंटे में), अवधि (मिलीसेकंड में), या फ़ाइल आकार (बाइट्स में) सहित कई प्रारूपों में से चुन सकते हैं।
<पी> एक बार जब आप नए ग्राफ़ के गुणों को ठीक से परिभाषित कर लेते हैं, तो आपको कस्टम मीट्रिक के लिए एक ग्राफ़ मिलना चाहिए। यह वैसा ही है जैसा नीचे दिखाया गया है:

<पी> अपने रूबी ऐप के लिए ऐपसिग्नल में कस्टम मेट्रिक्स और अलर्ट में महारत हासिल करें

<पी> आगे बढ़ते हुए, आइए अगले कस्टम मीट्रिक प्रकार को देखें:काउंटर।

काउंटर कस्टम मेट्रिक

<पी> एक काउंटर कस्टम मीट्रिक यह मापने के लिए बहुत अच्छा है कि कोई घटना कितनी बार घटित होती है। उदाहरण एप्लिकेशन का उपयोग करके, हम हर बार होम (रूट) पृष्ठ पर जाने पर मापने के लिए एक काउंटर मीट्रिक लागू कर सकते हैं।

<पी> आरंभ करने के लिए, नीचे दिखाए गए कोड को शामिल करने के लिए रूट विधि को संपादित करें:

 <पी> यहां, हम AppSignal के increment_counter का उपयोग करते हैं विधि और इसे पास करें visits_count पहले तर्क के रूप में. वृद्धि चरण पूर्णांक 1 है, जिसे दूसरे तर्क के रूप में पारित किया गया है। आप एक tags भी जोड़ सकते हैं तीसरे तर्क के रूप में हैश, लेकिन हम इसे वैसे ही छोड़ देंगे (क्योंकि यह पिछले अनुभाग में कवर किया गया था)।

<पी> अब आगे बढ़ें और गेज मीट्रिक प्रकार के लिए बताए गए चरणों का पालन करें। आपको दिखाए गए ग्राफ़ के समान ग्राफ़ देने के लिए इस काउंटर मीट्रिक के लिए एक कस्टम ग्राफ़ जोड़ें:

<पी> अपने रूबी ऐप के लिए ऐपसिग्नल में कस्टम मेट्रिक्स और अलर्ट में महारत हासिल करें

<पी> आइए वितरण कस्टम मीट्रिक पर स्विच करें।

वितरण कस्टम मीट्रिक

<पी> ऐपसिग्नल वितरण कस्टम मीट्रिक समय की प्रति इकाई कुछ मापने के लिए उपयोगी है:उदाहरण के लिए, एक पीडीएफ रिपोर्ट तैयार करने में कितने सेकंड लगते हैं, या पृष्ठभूमि कार्य को निष्पादित करने में कितना समय लगता है।

<पी> उदाहरण एप्लिकेशन का उपयोग करते हुए, आइए एक खुले एपीआई एंडपॉइंट पर कॉल शामिल करने के लिए मुख्य फ़ाइल को संशोधित करें। फिर, हम यह मापने के लिए एक कस्टम वितरण का उपयोग करेंगे कि एपीआई कॉल मिलीसेकंड में कितना समय लेती है।

 <पी> अब, यदि हम AppSignal पर वापस जाते हैं, तो हम कस्टम वितरण को एक ग्राफ़ के रूप में देख सकते हैं।

<पी> टिप:आप कस्टम ग्राफ़ विज़ुअलाइज़ेशन सेट करने के लिए गेज अनुभाग में उल्लिखित चरणों का पालन कर सकते हैं। <पी> अपने रूबी ऐप के लिए ऐपसिग्नल में कस्टम मेट्रिक्स और अलर्ट में महारत हासिल करें

<पी> अब जब आपने सीख लिया है कि कस्टम मेट्रिक्स और उसके साथ ग्राफ़ विज़ुअलाइज़ेशन कैसे बनाएं, तो आपने देखा होगा कि आपके ऐप के साथ क्या हो रहा है यह देखने के लिए ऐपसिग्नल डैशबोर्ड पर वापस जाना बहुत सुविधाजनक नहीं है। इसके बजाय, यह बहुत आसान होगा यदि आप अपने कस्टम मेट्रिक्स के लिए एक अधिसूचना प्राप्त कर सकें, है ना?

<पी> आइए आगे जानें कि अपने कस्टम मेट्रिक्स के लिए नोटिफिकेशन कैसे सेट करें।

अधिसूचना अलर्ट

<पी> डिफ़ॉल्ट रूप से, जब भी कोई त्रुटि या प्रदर्शन घटना होती है, तो AppSignal उस घटना के लिए एक घटना खोलेगा और उसे संबंधित अनुभाग में रखेगा। उदाहरण के लिए, यदि यह कोई त्रुटि है, तो आप इसे त्रुटियों की सूची में पाएंगे, जबकि प्रदर्शन की घटनाएं प्रदर्शन सूची में होंगी।

<पी> इसके अतिरिक्त, ऐपसिग्नल ईमेल (डिफ़ॉल्ट अधिसूचना चैनल) के माध्यम से घटना सूचनाएं भेजता है। आप अन्य सूचना चैनल भी सेट कर सकते हैं, जैसे:

  • कलह
  • Google Hangouts
  • इंटरकॉम
  • Microsoft टीमें
  • ढीला
  • वेबहुक
<पी> और भी बहुत कुछ.

<पी> लेकिन इससे पहले कि हम अपने किसी कस्टम मेट्रिक्स के लिए अधिसूचना ट्रिगर सेट करें, आपके लिए उपलब्ध विभिन्न अधिसूचना विकल्पों से अवगत होना महत्वपूर्ण है।

<पी> आरंभ करने के लिए, आप इसके लिए एक अधिसूचना सेट कर सकते हैं:

  • हर बार - यहां, हर बार कोई घटना होने पर एक अधिसूचना भेजी जाएगी।
  • पहले तैनात करें - यह इंगित करता है कि तैनाती के बाद पहली बार कोई घटना होने पर एक अधिसूचना भेजी जाएगी।
  • बंद करने के बाद पहले - यहां, जब भी पिछली घटना बंद होने के बाद कोई घटना दोबारा होती है तो एक अधिसूचना भेजी जाती है।
  • कभी सूचित न करें - जैसा कि नाम से पता चलता है, इस मामले में, कोई अधिसूचना कभी नहीं भेजी जाएगी, लेकिन त्रुटि या प्रदर्शन घटना को अभी भी AppSignal पर ट्रैक किया जाएगा।
  • हर नौवें घंटे या दिन - इस विकल्प से आप निर्दिष्ट कर सकते हैं कि एक घंटे या एक दिन के भीतर आपको कितने अलर्ट भेजे जाएंगे। यह विकल्प महत्वपूर्ण घटनाओं की सूचना पाने और बहुत अधिक सूचनाएं (जो आसानी से आप या आपकी टीम पर भारी पड़ सकती हैं) के बीच संतुलन बनाए रखने के लिए एकदम सही है।
<पी> मेरा सुझाव है कि आप इन विकल्पों के बारे में अधिक जानकारी प्राप्त करने के लिए AppSignal के अधिसूचना सेटिंग्स दस्तावेज़ में गहराई से जाएँ।

<पी> आइए देखें कि हमारे द्वारा पहले बनाए गए कस्टम मेट्रिक्स में से किसी एक के लिए अधिसूचना कैसे सेट करें। यह एक मामूली उदाहरण होगा, लेकिन यह उन चरणों का वर्णन करेगा जिनसे आपको अपने स्वयं के उपयोग के मामले में गुजरना होगा।

अपने कस्टम मेट्रिक्स के लिए अधिसूचना अलर्ट सेट करना

<पी> इस उदाहरण के लिए, हम उस वितरण मीट्रिक का उपयोग करेंगे जिसने इस पोस्ट में पहले एपीआई कॉल की अवधि को मापा था। मान लीजिए कि जब भी औसत अवधि एक निश्चित संख्या (मिलीसेकंड में) से अधिक हो जाती है तो हम एक ईमेल अलर्ट प्राप्त करना चाहते हैं।

<पी> इसे स्थापित करने के चरण नीचे दिखाए गए हैं:

<पी> अपने रूबी ऐप के लिए ऐपसिग्नल में कस्टम मेट्रिक्स और अलर्ट में महारत हासिल करें

<पी> सबसे पहले, ट्रिगर्स दबाकर शुरुआत करें बाएँ हाथ के मेनू में लिंक।

<पी> अपने रूबी ऐप के लिए ऐपसिग्नल में कस्टम मेट्रिक्स और अलर्ट में महारत हासिल करें

<पी> अपने ट्रिगर को एक प्रासंगिक नाम दें, फिर वह माप चुनें जिसके लिए यह अधिसूचना अभिप्रेत है। इस उदाहरण में, हम fetch_books_duration का उपयोग कर रहे हैं वितरण कस्टम मीट्रिक. आप चाहें तो टैग भी जोड़ सकते हैं।

<पी> इसके बाद, तुलना ऑपरेटर और जांचने योग्य मान को परिभाषित करें। उदाहरण के लिए, मान लें कि जब भी अवधि 1600 मिलीसेकंड से अधिक हो तो हम एक अलर्ट प्राप्त करना चाहते हैं। इसके लिए हम तुलना ऑपरेटर से अधिक का चयन करेंगे , तो, 1600 का मान।

<पी> अपने रूबी ऐप के लिए ऐपसिग्नल में कस्टम मेट्रिक्स और अलर्ट में महारत हासिल करें

<पी> अंत में, आपको अलर्ट वार्म-अप और कूलडाउन सेटिंग्स को परिभाषित करने की आवश्यकता होगी। अलर्ट के लिए एक विवरण, अलर्ट संदेश में शामिल करने के लिए डैशबोर्ड का एक लिंक (यदि आवश्यक हो), और अंत में, अधिसूचना विधि (ईमेल डिफ़ॉल्ट होने के साथ) प्रदान करें।

<पी> अपने रूबी ऐप के लिए ऐपसिग्नल में कस्टम मेट्रिक्स और अलर्ट में महारत हासिल करें

<पी> ऐसा हो जाने पर, जब भी कोई घटना घटित होगी तो आपको यहां आपके द्वारा दर्ज की गई सेटिंग्स से मेल खाते हुए एक सूचना प्राप्त होगी।

<पी> और बस इतना ही!

समापन

<पी> इस लेख में, हमने सीखा कि ऐपसिग्नल पर मिलान वाले डैशबोर्ड और ग्राफ़ विज़ुअलाइज़ेशन के साथ रूबी एप्लिकेशन के लिए कस्टम मेट्रिक्स कैसे सेट करें।

<पी> AppSignal द्वारा प्रदान की जाने वाली कस्टम मेट्रिक्स कार्यक्षमता को बहुत शक्तिशाली अनुप्रयोगों के लिए ठीक किया जा सकता है। अधिक संभावनाओं को खोजने के लिए AppSignal के कस्टम मेट्रिक्स दस्तावेज़ में गहराई से गोता लगाएँ।

<पी> अगली बार तक, कोडिंग का आनंद लें!

<पी> पी.एस. यदि आप प्रेस से हटते ही रूबी मैजिक पोस्ट पढ़ना चाहते हैं, तो हमारे रूबी मैजिक न्यूज़लेटर की सदस्यता लें और एक भी पोस्ट न चूकें!
  1. एंड्रॉइड CopyOnWriteArrayList में सबलिस्ट () का उपयोग कैसे करें? एंड्रॉइड CopyOnWriteArrayList में सबलिस्ट () का उपयोग कैसे करें?

    उदाहरण में आने से पहले, हमें पता होना चाहिए कि CopyOnWriteArrayList क्या है। यह ArrayList का एक थ्रेड-सुरक्षित संस्करण है और अंतर्निहित सरणी की एक नई प्रतिलिपि बनाकर संचालन जोड़, सेट, आदि करता है। यह उदाहरण दर्शाता है कि एंड्रॉइड में सबलिस्ट () का उपयोग कैसे करें CopyOnWriteArrayList चरण 1 - एंड्र

  1. जावास्क्रिप्ट में एक सरणी में सभी चोटियों और उनकी स्थिति ढूँढना जावास्क्रिप्ट में एक सरणी में सभी चोटियों और उनकी स्थिति ढूँढना

    बिल्ड अप मान लीजिए कि हमारे पास जावास्क्रिप्ट में निम्नलिखित सरणी है - const arr = [4, 3, 4, 7, 5, 2, 3, 4, 3, 2, 3, 4]; यदि हम इस सरणी के बिंदुओं को y-अक्ष पर प्लॉट करते हैं, जिसमें प्रत्येक आसन्न बिंदु ऑनएक्स-अक्ष से इकाई दूरी पर होता है, तो ग्राफ़ इस तरह दिखेगा - यह ग्राफ़ स्पष्ट रूप से दिखा

  1. सी++ में इनऑर्डर ट्रैवर्सल का एन-वें नोड खोजें सी++ में इनऑर्डर ट्रैवर्सल का एन-वें नोड खोजें

    इस समस्या में, हमें एक बाइनरी ट्री और एक पूर्णांक N दिया जाता है। कार्य एक बाइनरी ट्री के इन-ऑर्डर ट्रैवर्सल में n-वें नोड को खोजना है। बाइनरी ट्री की एक विशेष शर्त होती है कि प्रत्येक नोड में अधिकतम दो बच्चे हो सकते हैं। ट्रैवर्सल एक पेड़ के सभी नोड्स पर जाने की एक प्रक्रिया है और उनके मूल्यों को