Crashlytics का डेटा और (ज़रूरत पड़ने पर) Firebase सेशन का डेटा Cloud Logging में एक्सपोर्ट होने के बाद, अपने लॉग फ़िल्टर किए जा सकते हैं और लॉग पर आधारित मेट्रिक बनाई जा सकती हैं. ये दोनों ही, किसी खास डेटा को देखने, इस्तेमाल करने, और उसका विश्लेषण करने के लिए मददगार होते हैं.
अगर आपने अब तक अपने डेटा का इस्तेमाल कैसे किया जा सकता है? लेख नहीं पढ़ा है, तो इसे ज़रूर पढ़ें. इसमें Cloud Logging में सेव किए गए डेटा का इस्तेमाल करने के बारे में पूरी जानकारी और उदाहरण दिए गए हैं.
क्वेरी की मदद से लॉग फ़िल्टर करना
अपने लॉग फ़िल्टर करने से, आपको खास डेटा देखने में मदद मिलती है. साथ ही, डेटा स्टोरेज और आगे के विश्लेषण की लागत कम करने में भी मदद मिलती है. एलक्यूएल (लॉगिंग क्वेरी लैंग्वेज) का इस्तेमाल करके, लॉग फ़िल्टर किए जाते हैं.
क्वेरी की मदद से लॉग फ़िल्टर करने के तरीके के बारे में जानने के लिए, Logs Explorer का इस्तेमाल करके सैंपल क्वेरी और लॉग क्वेरी बनाना पर जाएं. यहां दी गई टेबल में, उन क्वेरी के लिए उपलब्ध फ़ील्ड के बारे में बताया गया है.
फ़िल्टर के उदाहरण
Crashlytics के लिए, यहां क्वेरी के लिए फ़िल्टर के कुछ शुरुआती उदाहरण दिए गए हैं:
किसी ऐप्लिकेशन के वर्शन के सभी फ़ैटल क्रैश ढूंढने के लिए:
logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents" jsonPayload.issue.errorType="FATAL" jsonPayload.version.displayVersion="3.2.0"
किसी खास डिवाइस मॉडल (उदाहरण के लिए, Pixel 6a) पर होने वाली क्रैश की पहचान करें:
logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents" jsonPayload.device.model="Pixel 6a"
सभी गंभीर इवेंट में किसी खास
OutOfMemoryErrorको खोजें:logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents" jsonPayload.issue.errorType="FATAL" jsonPayload.issue.subtitle="java.lang.OutOfMemoryError"
किसी खास Crashlytics समस्या आईडी के इवेंट ढूंढने के लिए:
logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents" jsonPayload.issue.id="ISSUE_ID"
लॉग स्कीमा
हर लॉग एंट्री का स्ट्रक्चर पहले से तय होता है. साथ ही, इसमें क्वेरी किए जा सकने वाले फ़ील्ड होते हैं (LogEntry देखें).
एक्सपोर्ट किए गए डेटा के लिए लॉग स्कीमा के बारे में जानें. इसमें Crashlytics डेटा, Firebase सेशन का डेटा, और डिवाइस के लॉग शामिल हैं.
लॉग पर आधारित मेट्रिक बनाना
लॉग पर आधारित मेट्रिक देखी और बनाई जा सकती हैं. इसके बाद, इन मेट्रिक का इस्तेमाल Cloud Monitoring में किया जा सकता है, ताकि चार्ट, कस्टम डैशबोर्ड, और कस्टम सूचनाएं बनाई जा सकें.
सिस्टम की पहले से तय की गई मेट्रिक का इस्तेमाल करें. ये मेट्रिक अपने-आप रिकॉर्ड होती हैं. जैसे, किसी तय समयावधि में हुए लॉगिंग इवेंट की संख्या.
अपने प्रोजेक्ट के लिए, उपयोगकर्ता के हिसाब से तय की गई मेट्रिक बनाएं. किसी दी गई क्वेरी से मेल खाने वाली लॉग एंट्री की संख्या गिनी जा सकती है. इसके अलावा, मेल खाने वाली लॉग एंट्री की मदद से, खास वैल्यू को ट्रैक किया जा सकता है. रेगुलर एक्सप्रेशन का इस्तेमाल करके फ़िल्टर किया जा सकता है. उपयोगकर्ता की तय की गई मेट्रिक के लिए कीमत की जानकारी ज़रूर देखें.
Cloud Monitoring का इस्तेमाल करके, किसी खास मैसेज वाली लॉग एंट्री की संख्या रिकॉर्ड करें या लॉग एंट्री में रिपोर्ट की गई लेटेन्सी की जानकारी निकालें. इसके बाद, इन मेट्रिक का इस्तेमाल चार्ट और कस्टम सूचनाओं में किया जा सकता है.
लॉग पर आधारित मेट्रिक का उदाहरण
यहां उपयोगकर्ता की तय की गई, लॉग पर आधारित दो मेट्रिक के उदाहरण दिए गए हैं. इन्हें एक्सपोर्ट किए गए Crashlytics और Firebase सेशन के डेटा से बनाया जा सकता है:
Crashlytics डेटा का इस्तेमाल करके:
errorTypeलेबल वालीfirebase/crashlytics_eventsनाम की मेट्रिक बनाएं और इसे इस तरह तय करें:logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"Firebase सेशन के डेटा का इस्तेमाल करके:
firebase/session_eventsनाम की मेट्रिक बनाएं और उसका लेबलeventTypeरखें. इसके बाद, उसे इस तरह से तय करें:logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fsession_events"
आगे क्या करना है?
डेटा को तुरंत विज़ुअलाइज़ करने के लिए, कुछ समय के लिए चार्ट बनाएं.
लंबे समय तक और बेहतर तरीके से निगरानी करने के लिए, कस्टम डैशबोर्ड बनाएं.
कस्टम सूचनाएं सेट अप करना और उन्हें कस्टम सूचना चैनलों पर भेजना.