कस्टम मीट्रिक के साथ गहन जानकारी
ऐपसिग्नल रत्न के साथ आप अपने एप्लिकेशन प्रदर्शन के बारे में अधिक जानकारी प्राप्त करने के लिए पहले से ही कस्टम इंस्ट्रूमेंटेशन का उपयोग कर सकते हैं। लेकिन कभी-कभी आप अन्य मीट्रिक भी ट्रैक करना चाहते हैं।
1.0
. के साथ हमारे रत्न को जारी करने के बाद, आप कस्टम मेट्रिक्स को AppSignal पर भेज सकते हैं। ये मेट्रिक्स आपको अपने एप्लिकेशन में नए खातों से लेकर डेटाबेस डिस्क उपयोग तक कुछ भी ट्रैक करने में सक्षम बनाता है। ये कोड इंस्ट्रूमेंटेशन के लिए प्रतिस्थापन नहीं हैं, बल्कि आपके कोड में कुछ डेटा को समय के साथ अधिक सुलभ और मापने योग्य बनाने का एक अतिरिक्त तरीका है।
हम तीन प्रकार के मीट्रिक प्रदान करते हैं:
गेज | एक नंबर जिसे आप ओवरराइट कर सकते हैं, उपयोगकर्ता संख्या जैसी चीजों को स्टोर करने के लिए उपयोगी है। |
---|---|
काउंटर | एक संख्या जिसे दिए गए मान से बढ़ाया जा सकता है, उदाहरण के लिए किसी प्रक्रिया के चलने के समय की गणना करने के लिए उपयोगी है। |
वितरण | संख्याओं का एक संग्रह जिसके लिए हम औसत और गणना संग्रहीत करते हैं। औसत बिक्री राशि को ट्रैक करने के लिए उपयोगी। |
AppSignal रत्न में इनमें से प्रत्येक प्रकार के मीट्रिक के लिए एक विधि है। आप हमारे सिस्टम को डेटा भेजने के लिए इन विधियों का उपयोग कर सकते हैं।
गेज
गेज मेट्रिक्स के लिए आदर्श है जो बढ़ा और घटा दोनों कर सकता है। हम सक्रिय खातों की संख्या को ग्राफ़ करने के लिए AppSignal में गेज का उपयोग करते हैं।
count = Account.active.count
Appsignal.set_gauge('account_count', count)
काउंटर
जैसा कि नाम से पता चलता है, काउंटर यह ट्रैक करने का एक शानदार तरीका है कि कितनी बार कुछ होता है। हमारे कार्यकर्ता एक पेलोड को संसाधित करते हैं जिसमें कई डेटा बिंदु होते हैं। इसका अर्थ है कि कार्य की गणना हमारे द्वारा संसाधित किए जाने वाले डेटा की मात्रा को सटीक रूप से नहीं दर्शाती है। काउंटर के साथ हम प्रत्येक डेटा बिंदु के लिए वृद्धि करते हैं जिसे हम संसाधित करते हैं।
minute.metrics.each do |metric|
Appsignal.increment_counter('metric_count', metric.length)
end
वितरण
हम कोड के एक टुकड़े को निष्पादित करने में लगने वाले औसत समय को मापने के लिए वितरण का उपयोग करते हैं। उदाहरण के लिए एक नौकरी कई मानचित्र चला सकती है / नौकरियों को कम कर सकती है और भले ही हम इंस्ट्रूमेंटेशन के साथ अवधि को ट्रैक करते हैं, फिर भी हम प्रत्येक नौकरी के लिए औसत अवधि को एक में देखना चाहते हैं। अच्छा ग्राफ।
Appsignal.add_distribution_value('mapreduce_duration', MapReduce::Minutely.new.run.time)
मेट्रिक को ग्राफ़ में बदलना
ऐपसिग्नल को मेट्रिक्स भेजना कहानी का केवल आधा हिस्सा है, डेटा भेजने के बाद हमें मेट्रिक्स दिखाने के लिए ग्राफ बनाने की जरूरत है। हम इसे "कस्टम मेट्रिक्स" पृष्ठ पर संपादक में करते हैं।
हमारी कस्टम मीट्रिक सुविधा आपको ग्राफ़ के साथ कई स्क्रीन बनाने की अनुमति देती है। आप इन स्क्रीन पर स्क्रीन और ग्राफ़ को YAML प्रारूप के माध्यम से परिभाषित कर सकते हैं।
उदाहरण के लिए, खाता जारी किए गए ग्राफ़ के साथ एक स्क्रीन बनाने के लिए, उन खातों की संख्या के साथ एक ग्राफ़ दिखाकर आप निम्नलिखित YAML का उपयोग कर सकते हैं:
- title: Account overview
graphs:
- title: "Number of accounts"
kind: gauge
format: number
fields:
- account_count
इसका परिणाम निम्न पृष्ठ पर होगा:
फ़ील्ड वाली सूची के बजाय आप एक या अधिक मीट्रिक नामों से मेल खाने वाला रेगेक्स भी प्रदान कर सकते हैं। नीचे दिया गया उदाहरण किसी तृतीय पक्ष API के लिए प्रत्येक API प्रतिक्रिया कोड के लिए पंक्तियों के साथ एक ग्राफ़ प्रस्तुत करता है।
- title: API Responses
graphs:
- title: "API response codes"
kind: count
filter: "api_response_code_[0-9]+"
format: number
ये कई उपयोगी मेट्रिक्स में से कुछ हैं जिन्हें अब आप AppSignal से ट्रैक कर सकते हैं। कस्टम मेट्रिक्स के बारे में अधिक जानकारी के लिए, हमारे दस्तावेज़ देखें या यदि आपको अपने खाते के लिए इसे सेट करने में कोई सहायता चाहिए तो हमसे संपर्क करें।