आप आगे के विश्लेषण के लिए अपने Crashlytics डेटा को BigQuery में निर्यात कर सकते हैं। BigQuery आपको BigQuery SQL का उपयोग करके डेटा का विश्लेषण करने, उसे किसी अन्य क्लाउड प्रदाता को निर्यात करने और Google डेटा स्टूडियो के साथ विज़ुअलाइज़ेशन और कस्टम डैशबोर्ड के लिए उपयोग करने की अनुमति देता है।
BigQuery निर्यात सक्षम करें
- फायरबेस कंसोल में इंटीग्रेशन पेज पर जाएं।
- BigQuery कार्ड में, लिंक पर क्लिक करें.
- BigQuery को सक्षम करने के लिए ऑन-स्क्रीन निर्देशों का पालन करें।
जब आप अपने प्रोजेक्ट को BigQuery से लिंक करते हैं:
- Firebase आपके डेटा के दैनिक समन्वयन को आपके Firebase प्रोजेक्ट से BigQuery में सेट करता है।
- डिफ़ॉल्ट रूप से, आपके प्रोजेक्ट के सभी ऐप BigQuery से लिंक होते हैं और आप बाद में प्रोजेक्ट में जो भी ऐप जोड़ते हैं, वे अपने आप BigQuery से लिंक हो जाते हैं। आप यह प्रबंधित कर सकते हैं कि कौन से ऐप्स डेटा भेजते हैं ।
- Firebase आपके मौजूदा डेटा की एक कॉपी BigQuery को निर्यात करता है। लिंक किए गए प्रत्येक ऐप के लिए, इसमें एक बैच तालिका शामिल होती है जिसमें दैनिक सिंक से डेटा होता है।
- अगर आप Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम करते हैं, तो सभी लिंक किए गए ऐप्स में एक रीयलटाइम टेबल भी होगी जिसमें लगातार अपडेट होने वाला डेटा होगा।
BigQuery निर्यात को निष्क्रिय करने के लिए, अपने प्रोजेक्ट को Firebase कंसोल में अनलिंक करें ।
BigQuery को कौन सा डेटा निर्यात किया जाता है?
Firebase firebase_crashlytics
डेटा को Firebase_crashlytics नामक BigQuery डेटासेट में निर्यात किया जाता है। डिफ़ॉल्ट रूप से, आपके प्रोजेक्ट में प्रत्येक ऐप के लिए Crashlytics डेटा सेट के अंदर अलग-अलग टेबल बनाए जाएंगे। फायरबेस ऐप के बंडल आइडेंटिफ़ायर के आधार पर तालिकाओं को नाम देता है, जिसमें अवधि अंडरस्कोर में परिवर्तित हो जाती है, और अंत में एक प्लेटफ़ॉर्म नाम जोड़ा जाता है।
उदाहरण के लिए, com.google.test
आईडी वाले ऐप का डेटा com_google_test_ANDROID
नाम की तालिका में होगा। यह बैच तालिका प्रतिदिन एक बार अपडेट की जाती है। अगर आप Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम करते हैं, तो Firebase Crashlytics डेटा भी रीयलटाइम में com_google_test_ANDROID_REALTIME
पर स्ट्रीम किया जाएगा।
तालिका की प्रत्येक पंक्ति ऐप में हुई एक घटना का प्रतिनिधित्व करती है, जिसमें क्रैश, गैर-घातक त्रुटियां और ANR शामिल हैं।
Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम करें
आप BigQueryStreaming के साथ रीयल टाइम में अपने Crashlytics डेटा को स्ट्रीम कर सकते हैं। आप इसका उपयोग किसी भी उद्देश्य के लिए कर सकते हैं जिसके लिए लाइव डेटा की आवश्यकता होती है, जैसे लाइव डैशबोर्ड में जानकारी प्रस्तुत करना, रोलआउट को लाइव देखना, या अलर्ट और कस्टम वर्कफ़्लो को ट्रिगर करने वाली एप्लिकेशन समस्याओं की निगरानी करना।
Crashlytics BigQuery का स्ट्रीमिंग निर्यात BigQuery सैंडबॉक्स के लिए उपलब्ध नहीं है.
जब आप Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम करते हैं, तो बैच तालिका के अतिरिक्त आपके पास एक रीयलटाइम तालिका होगी। यहाँ वे अंतर हैं जिनसे आपको तालिकाओं के बीच अवगत होना चाहिए:
बैच तालिका | रीयलटाइम टेबल |
---|---|
|
|
बैच तालिका दीर्घकालिक विश्लेषण और समय के साथ रुझानों की पहचान करने के लिए आदर्श है क्योंकि हम घटनाओं को लिखने से पहले उन्हें स्थायी रूप से संग्रहीत करते हैं, और उन्हें तालिका में 90 दिनों तक बैकफ़िल किया जा सकता है। जब हम आपकी रीयल टाइम टेबल में डेटा लिखते हैं, तो हम उसे तुरंत BigQuery को लिख देते हैं, और इसलिए यह लाइव डैशबोर्ड और कस्टम अलर्ट के लिए आदर्श है। इन दो तालिकाओं को दोनों के लाभ प्राप्त करने के लिए एक सिलाई क्वेरी के साथ जोड़ा जा सकता है। नीचे प्रश्न उदाहरण 9 देखें।
डिफ़ॉल्ट रूप से, रीयलटाइम तालिका में 30 दिनों का विभाजन समाप्ति समय होता है। इसे संशोधित करने का तरीका जानने के लिए, विभाजन समाप्ति का अद्यतन करना देखें।
Crashlytics BigQuery स्ट्रीमिंग सक्षम करें
स्ट्रीमिंग सक्षम करने के लिए, BigQuery एकीकरण पृष्ठ के क्रैशलिटिक्स अनुभाग पर नेविगेट करें और स्ट्रीमिंग शामिल करें चेकबॉक्स चुनें।
डेटा स्टूडियो टेम्प्लेट
अपने डेटा स्टूडियो टेम्प्लेट में रीयलटाइम डेटा सक्षम करने के लिए, डेटा स्टूडियो के साथ निर्यात किए गए क्रैशलिटिक्स डेटा को विज़ुअलाइज़ करने के निर्देशों का पालन करें।
विचारों
आप नीचे दी गई उदाहरण क्वेरी को BigQuery UI का उपयोग करके दृश्यों में बदल सकते हैं। विस्तृत निर्देशों के लिए दृश्य बनाना देखें।
आप निर्यात किए गए डेटा के साथ क्या कर सकते हैं?
BigQuery निर्यात में डिवाइस प्रकार, ऑपरेटिंग सिस्टम, अपवाद (Android ऐप्स) या त्रुटियां (Apple ऐप्स), और Crashlytics लॉग के साथ-साथ अन्य डेटा सहित अपरिष्कृत क्रैश डेटा होता है।
BigQuery में Firebase Crashlytics डेटा के साथ काम करना
निम्नलिखित उदाहरण उन प्रश्नों को प्रदर्शित करते हैं जिन्हें आप अपने Crashlytics डेटा पर चला सकते हैं। ये क्वेरीज़ ऐसी रिपोर्ट तैयार करती हैं जो Crashlytics डैशबोर्ड में उपलब्ध नहीं हैं।
क्रैशलाईटिक्स प्रश्नों के उदाहरण
निम्नलिखित उदाहरण प्रदर्शित करते हैं कि रिपोर्ट कैसे उत्पन्न करें जो क्रैश ईवेंट डेटा को अधिक आसानी से समझे जाने वाले सारांशों में एकत्रित करती हैं।
उदाहरण 1: दिन के हिसाब से क्रैश
अधिक से अधिक बग्स को ठीक करने के लिए काम करने के बाद, एक लीड डेवलपर को लगता है कि उसकी टीम आखिरकार अपना नया फोटो-शेयरिंग ऐप लॉन्च करने के लिए तैयार है। ऐसा करने से पहले, वे पिछले महीने के लिए प्रति दिन क्रैश की संख्या की जांच करना चाहते हैं, यह सुनिश्चित करने के लिए कि उनके बग-बैश ने ऐप को समय के साथ और अधिक स्थिर बना दिया है:
SELECT COUNT(DISTINCT event_id) AS number_of_crashes, FORMAT_TIMESTAMP("%F", event_timestamp) AS date_of_crashes FROM `projectId.firebase_crashlytics.package_name_ANDROID` GROUP BY date_of_crashes ORDER BY date_of_crashes DESC LIMIT 30;
उदाहरण 2: सबसे व्यापक क्रैश खोजें
उत्पादन योजनाओं को ठीक से प्राथमिकता देने के लिए, एक परियोजना प्रबंधक अपने उत्पाद में शीर्ष 10 सबसे व्यापक दुर्घटनाओं को इंगित करने के बारे में सोचता है। वे एक प्रश्न उत्पन्न करते हैं जो डेटा के प्रासंगिक बिंदु प्रदान करता है:
SELECT DISTINCT issue_id, COUNT(DISTINCT event_id) AS number_of_crashes, COUNT(DISTINCT installation_uuid) AS number_of_impacted_user, blame_frame.file, blame_frame.line FROM `projectId.firebase_crashlytics.package_name_ANDROID` WHERE event_timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(),INTERVAL 168 HOUR) AND event_timestamp < CURRENT_TIMESTAMP() GROUP BY issue_id, blame_frame.file, blame_frame.line ORDER BY number_of_crashes DESC LIMIT 10;
उदाहरण 3: शीर्ष 10 क्रैश होने वाले उपकरण
पतन नया फोन सीजन है! एक डेवलपर जानता है कि इसका मतलब यह भी है कि यह नया उपकरण है- विशिष्ट मुद्दों का मौसम। अनुकूलता की बढ़ती चिंताओं से आगे निकलने के लिए, उन्होंने एक साथ एक प्रश्न रखा जो उन 10 उपकरणों की पहचान करता है जिन्होंने पिछले सप्ताह में सबसे अधिक क्रैश का अनुभव किया:
SELECT device.model, COUNT(DISTINCT event_id) AS number_of_crashes FROM `projectId.firebase_crashlytics.package_name_ANDROID` WHERE event_timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 168 HOUR) AND event_timestamp < CURRENT_TIMESTAMP() GROUP BY device.model ORDER BY number_of_crashes DESC LIMIT 10;
उदाहरण 4: कस्टम कुंजी द्वारा फ़िल्टर करें
एक गेम डेवलपर जानना चाहता है कि उनके गेम का कौन सा स्तर सबसे अधिक क्रैश का अनुभव करता है। उस आंकड़े को ट्रैक करने में उनकी मदद करने के लिए, वे एक कस्टम क्रैशलाईटिक्स कुंजी current_level
सेट करते हैं, और हर बार जब उपयोगकर्ता एक नए स्तर पर पहुंचता है तो इसे अपडेट करता है।
उद्देश्य सी
CrashlyticsKit setIntValue:3 forKey:@"current_level";
तीव्र
Crashlytics.sharedInstance().setIntValue(3, forKey: "current_level");
जावा
Crashlytics.setInt("current_level", 3);
अपने BigQuery निर्यात में उस कुंजी के साथ, वे फिर प्रत्येक क्रैश ईवेंट से संबद्ध current_level
मानों के वितरण की रिपोर्ट करने के लिए एक क्वेरी लिखते हैं:
SELECT COUNT(DISTINCT event_id) AS num_of_crashes, value FROM `projectId.firebase_crashlytics.package_name_ANDROID` UNNEST(custom_keys) WHERE key = "current_level" GROUP BY key, value ORDER BY num_of_crashes DESC
उदाहरण 5: उपयोगकर्ता आईडी निष्कर्षण
एक डेवलपर के पास अर्ली ऐक्सेस में एक ऐप होता है। उनके अधिकांश उपयोगकर्ता इसे पसंद करते हैं, लेकिन तीन ने असामान्य संख्या में क्रैश का अनुभव किया है। समस्या की तह तक जाने के लिए, वे एक क्वेरी लिखते हैं जो उन उपयोगकर्ताओं के लिए सभी क्रैश घटनाओं को खींचती है, उनकी उपयोगकर्ता आईडी का उपयोग करती है:
SELECT * FROM `projectId.firebase_crashlytics.package_name_ANDROID` WHERE user.id IN ("userid1", "userid2", "userid3") ORDER BY user.id
उदाहरण 6: किसी विशेष क्रैश समस्या का सामना करने वाले सभी उपयोगकर्ताओं का पता लगाएं
एक डेवलपर ने बीटा टेस्टर्स के एक समूह के लिए एक महत्वपूर्ण बग जारी किया है। विशिष्ट क्रैश समस्या आईडी की पहचान करने के लिए टीम ऊपर उदाहरण 2 से क्वेरी का उपयोग करने में सक्षम थी। अब वे इस क्रैश से प्रभावित ऐप उपयोगकर्ताओं की सूची निकालने के लिए एक क्वेरी चलाना चाहेंगे:
SELECT user.id as user_id FROM `projectId.firebase_crashlytics.package_name_ANDROID` WHERE issue_id = "YOUR_ISSUE_ID" AND application.display_version = "" AND user.id != "" ORDER BY user.id;
उदाहरण 7: क्रैश समस्या से प्रभावित उपयोगकर्ताओं की संख्या, देश के आधार पर विभाजित
अब टीम को एक नई रिलीज़ के रोलआउट के दौरान एक गंभीर बग का पता चला है। वे विशिष्ट क्रैश समस्या आईडी की पहचान करने के लिए ऊपर उदाहरण 2 से क्वेरी का उपयोग करने में सक्षम थे। टीम अब यह देखना चाहेगी कि क्या यह दुर्घटना दुनिया भर के विभिन्न देशों के उपयोगकर्ताओं तक फैली है।
इस प्रश्न को लिखने के लिए, टीम को यह करना होगा:
Google Analytics के लिए BigQuery निर्यात सक्षम करें। प्रोजेक्ट डेटा को BigQuery में एक्सपोर्ट करें देखें.
एक उपयोगकर्ता आईडी को Google Analytics SDK और Crashlytics SDK दोनों में पास करने के लिए उनके ऐप को अपडेट करें।
उद्देश्य सी
CrashlyticsKit setUserIdentifier:@"123456789"; FIRAnalytics setUserID:@"12345678 9";
तीव्र
Crashlytics.sharedInstance().setUserIdentifier("123456789"); Analytics.setUserID("123456789");
जावा
Crashlytics.setUserIdentifier("123456789"); mFirebaseAnalytics.setUserId("123456789");
Crashlytics BigQuery डेटा सेट में क्रैश के साथ Google Analytics BigQuery डेटा सेट में ईवेंट में शामिल होने के लिए उपयोगकर्ता आईडी फ़ील्ड का उपयोग करने वाली क्वेरी लिखें:
SELECT DISTINCT c.issue_id, a.geo.country, COUNT(DISTINCT c.user.id) as num_users_impacted FROM `projectId.firebase_crashlytics.package_name_ANDROID` c INNER JOIN `projectId.analytics_YOUR_TABLE.events_*` a on c.user.id = a.user_id WHERE c.issue_id = "YOUR_ISSUE_ID" AND a._TABLE_SUFFIX BETWEEN '20190101' AND '20200101' GROUP BY c.issue_id, a.geo.country, c.user.id
उदाहरण 8: आज तक के शीर्ष 5 मुद्दे
Crashlytics BigQuery स्ट्रीमिंग निर्यात को सक्षम करने की आवश्यकता है
SELECT issue_id, COUNT(DISTINCT event_id) AS events FROM `your_project.firebase_crashlytics.package_name_ANDROID_REALTIME` WHERE DATE(event_timestamp) = CURRENT_DATE() GROUP BY issue_id ORDER BY events DESC LIMIT 5;
उदाहरण 9: DATE से अब तक के शीर्ष 5 अंक, जिसमें आज भी शामिल है
Crashlytics BigQuery स्ट्रीमिंग निर्यात को सक्षम करने की आवश्यकता है।
इस उदाहरण में, हम विश्वसनीय बैच डेटा में रीयलटाइम जानकारी जोड़ने के लिए बैच और रीयलटाइम टेबल को मिलाते हैं। चूंकि event_id
एक प्राथमिक कुंजी है, हम दो तालिकाओं से किसी भी सामान्य ईवेंट को निकालने के लिए DISTINCT event_id
का उपयोग कर सकते हैं।
SELECT issue_id, COUNT(DISTINCT event_id) AS events FROM ( SELECT issue_id, event_id, event_timestamp FROM `your_project.firebase_crashlytics.package_name_ANDROID_REALTIME` UNION ALL SELECT issue_id, event_id, event_timestamp FROM `your_project.firebase_crashlytics.package_name_ANDROID`) WHERE event_timestamp >= "2020-01-13" GROUP BY issue_id ORDER BY events DESC LIMIT 5;
BigQuery में Firebase Crashlytics स्कीमा को समझना
जब आप Crashlytics को BigQuery से लिंक करते हैं, तो Firebase नब्बे दिनों तक बैकफ़िल करने के विकल्प के साथ हाल के ईवेंट (क्रैश, गैर-घातक त्रुटियां और ANR) निर्यात करता है, जिसमें लिंक से दो दिन पहले तक के ईवेंट शामिल हैं।
उस बिंदु से जब तक आप लिंक को अक्षम नहीं करते, तब तक Firebase Crashlytics ईवेंट को दैनिक आधार पर निर्यात करता है। प्रत्येक निर्यात के बाद BigQuery में डेटा उपलब्ध होने में कुछ मिनट लग सकते हैं.
डेटासेट
Firebase Crashlytics, Crashlytics डेटा के लिए BigQuery में एक नया डेटासेट बनाता है। डेटासेट आपके पूरे प्रोजेक्ट को कवर करता है, भले ही उसमें कई ऐप हों।
टेबल
Firebase Crashlytics आपके प्रोजेक्ट में प्रत्येक ऐप के लिए डेटासेट में एक तालिका बनाता है, जब तक कि आपने उस ऐप के लिए डेटा निर्यात करने से ऑप्ट आउट नहीं किया हो। फायरबेस ऐप के बंडल आइडेंटिफ़ायर के आधार पर तालिकाओं को नाम देता है, जिसमें अवधि अंडरस्कोर में परिवर्तित हो जाती है, और अंत में एक प्लेटफ़ॉर्म नाम जोड़ा जाता है।
उदाहरण के लिए, com.google.test
आईडी वाले किसी Android ऐप का डेटा com_google_test_ANDROID
नामक तालिका में होगा, और रीयलटाइम डेटा (यदि सक्षम हो) com_google_test_ANDROID_REALTIME
नामक तालिका में होगा
डेवलपर्स द्वारा परिभाषित किसी भी कस्टम Crashlytics कुंजियों के अतिरिक्त तालिकाओं में Crashlytics डेटा का एक मानक सेट होता है।
पंक्तियों
तालिका में प्रत्येक पंक्ति एक त्रुटि का प्रतिनिधित्व करती है जिसका सामना ऐप ने किया था।
कॉलम
किसी तालिका के कॉलम क्रैश, गैर-घातक त्रुटियों और ANR के लिए समान होते हैं। यदि Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम है, तो रीयलटाइम तालिका में बैच तालिका के समान कॉलम होंगे। निर्यात के भीतर कॉलम नीचे सूचीबद्ध हैं।
स्टैक ट्रेस के बिना
पंक्तियों में मौजूद स्तंभ जो स्टैक ट्रेस के बिना ईवेंट का प्रतिनिधित्व करते हैं।
कार्यक्षेत्र नाम | डेटा प्रकार | विवरण |
---|---|---|
प्लैटफ़ॉर्म | डोरी | ऐप्पल या एंड्रॉइड ऐप्स |
बंडल_पहचानकर्ता | डोरी | बंडल आईडी, जैसे com.google.gmail |
घटना_आईडी | डोरी | घटना के लिए एक अद्वितीय आईडी |
is_fatal | बूलियन | क्या ऐप क्रैश हो गया |
error_type | डोरी | घटना का त्रुटि प्रकार (FATAL, NON_FATAL, ANR) |
मुद्दा_आईडी | डोरी | घटना से जुड़ा एक मुद्दा |
event_timestamp | TIMESTAMP | जब घटना हुई |
उपकरण | अभिलेख | जिस डिवाइस पर घटना हुई |
डिवाइस.निर्माता | डोरी | डिवाइस निर्माता |
डिवाइस का मॉडल | डोरी | डिवाइस मॉडल |
युक्ति.वास्तुकला | डोरी | X86_32, X86_64, ARMV7, ARM64, ARMV7S, या ARMV7K |
स्मृति | अभिलेख | डिवाइस की मेमोरी स्थिति |
स्मृति.प्रयुक्त | INT64 | उपयोग की गई मेमोरी के बाइट्स |
स्मृति मुक्त | INT65 | स्मृति के बाइट शेष |
भंडारण | अभिलेख | डिवाइस का लगातार भंडारण |
भंडारण.प्रयुक्त | INT64 | उपयोग किए गए भंडारण के बाइट्स |
भंडारण मुक्त | INT64 | भंडारण के बाइट शेष |
ऑपरेटिंग सिस्टम | अभिलेख | डिवाइस का OS विवरण |
ऑपरेटिंग_सिस्टम.डिस्प्ले_संस्करण | डोरी | ओएस संस्करण |
ऑपरेटिंग_सिस्टम.नाम | डोरी | ओएस नाम |
ऑपरेटिंग_सिस्टम.संशोधन_राज्य | डोरी | संशोधित या असंशोधित, अर्थात क्या डिवाइस को जेलब्रेक/रूट किया गया है |
ऑपरेटिंग_सिस्टम। प्रकार | डोरी | डिवाइस पर ऑपरेटिंग सिस्टम का प्रकार। जैसे आईओएस, मैकोज़ |
ऑपरेटिंग_सिस्टम.डिवाइस_टाइप | डोरी | डिवाइस का प्रकार। जैसे मोबाइल, टैबलेट, टीवी |
आवेदन पत्र | अभिलेख | इवेंट जनरेट करने वाला ऐप |
application.build_version | डोरी | ऐप का बिल्ड वर्जन |
application.display_version | डोरी | |
उपयोगकर्ता | अभिलेख | वैकल्पिक: ऐप के उपयोगकर्ता पर एकत्रित जानकारी |
उपयोगकर्ता नाम | डोरी | वैकल्पिक: उपयोगकर्ता का नाम |
उपयोगकर्ता.ईमेल | डोरी | वैकल्पिक: उपयोगकर्ता का ईमेल पता |
यूज़र आईडी | डोरी | वैकल्पिक: उपयोगकर्ता से संबद्ध एक ऐप-विशिष्ट आईडी |
Custom_keys | दोहराया गया रिकॉर्ड | डेवलपर-परिभाषित कुंजी-मूल्य जोड़े |
custom_keys.key | डोरी | एक डेवलपर-परिभाषित कुंजी |
custom_keys.value | डोरी | एक डेवलपर-परिभाषित मान |
स्थापना_यूयूआईडी | डोरी | एक आईडी जो एक अद्वितीय ऐप और डिवाइस इंस्टॉलेशन की पहचान करती है |
क्रैशलीटिक्स_एसडीके_संस्करण | डोरी | Crashlytics SDK संस्करण जिसने ईवेंट जेनरेट किया |
ऐप_ओरिएंटेशन | डोरी | पोर्ट्रेट, लैंडस्केप, FACE_UP, या FACE_DOWN |
युक्ति_अभिविन्यास | डोरी | पोर्ट्रेट, लैंडस्केप, FACE_UP, या FACE_DOWN |
प्रक्रिया_राज्य | डोरी | पृष्ठभूमि या अग्रभूमि |
लॉग | दोहराया गया रिकॉर्ड | सक्षम होने पर Crashlytics लकड़हारे द्वारा उत्पन्न टाइमस्टैम्प्ड लॉग संदेश |
लॉग्स.टाइमस्टैम्प | TIMESTAMP | जब लॉग बनाया गया था |
लॉग्स.संदेश | डोरी | लॉग किया गया संदेश |
ब्रेडक्रम्ब्स | दोहराया गया रिकॉर्ड | सक्षम होने पर टाइमस्टैम्प्ड Google Analytics ब्रेडक्रंब |
ब्रेडक्रंब.टाइमस्टैम्प | TIMESTAMP | ब्रेडक्रंब से जुड़ा टाइमस्टैम्प |
ब्रेडक्रंब.नाम | डोरी | ब्रेडक्रंब से जुड़ा नाम |
ब्रेडक्रंब.परम्स | दोहराया गया रिकॉर्ड | ब्रेडक्रंब से जुड़े पैरामीटर |
ब्रेडक्रंब.परम्स.की | डोरी | ब्रेडक्रंब से जुड़ी एक पैरामीटर कुंजी |
ब्रेडक्रंब.परम्स.वैल्यू | डोरी | ब्रेडक्रंब से संबद्ध एक पैरामीटर मान |
दोष_फ्रेम | अभिलेख | फ़्रेम को क्रैश या त्रुटि के मूल कारण के रूप में पहचाना जाता है |
दोष_फ्रेम.लाइन | INT64 | फ्रेम की फाइल की लाइन नंबर |
दोष_फ्रेम.फ़ाइल | डोरी | फ़्रेम फ़ाइल का नाम |
दोष_फ्रेम.प्रतीक | डोरी | हाइड्रेटेड प्रतीक, या कच्चा प्रतीक अगर यह निर्जलित है |
दोष_फ्रेम.ऑफ़सेट | INT64 | बाइट बाइनरी छवि में ऑफसेट होती है जिसमें कोड होता है, जावा अपवादों के लिए सेट नहीं होता है |
दोष_फ्रेम.पता | INT64 | बाइनरी छवि में पता जिसमें कोड है, जावा फ्रेम के लिए सेट नहीं है |
दोष_फ्रेम.लाइब्रेरी | डोरी | पुस्तकालय का प्रदर्शन नाम जिसमें फ्रेम शामिल है |
दोष_फ्रेम.स्वामी | डोरी | डेवलपर, विक्रेता, रनटाइम, प्लेटफ़ॉर्म या सिस्टम |
दोष_फ्रेम।दोषी | बूलियन | क्या Crashlytics के विश्लेषण ने निर्धारित किया है कि यह फ़्रेम क्रैश या त्रुटि का कारण है |
अपवाद | दोहराया गया रिकॉर्ड | केवल Android: इस घटना के दौरान होने वाले अपवाद। नेस्टेड अपवाद रिवर्स कालानुक्रमिक क्रम में प्रस्तुत किए जाते हैं (पढ़ें: अंतिम रिकॉर्ड फेंका गया पहला अपवाद है) |
अपवाद प्रकार | डोरी | अपवाद प्रकार, जैसे java.lang.IllegalStateException |
अपवाद.अपवाद_संदेश | डोरी | अपवाद से जुड़ा एक संदेश |
अपवाद.नेस्टेड | बूलियन | अंतिम फेंके गए अपवाद को छोड़कर सभी के लिए सही है (अर्थात पहला रिकॉर्ड) |
अपवाद.शीर्षक | डोरी | धागे का शीर्षक |
अपवाद.उपशीर्षक | डोरी | धागे का उपशीर्षक |
अपवाद.दोषी | बूलियन | सही है अगर क्रैशलाईटिक्स यह निर्धारित करता है कि अपवाद त्रुटि या दुर्घटना के लिए जिम्मेदार है |
अपवाद.फ्रेम्स | दोहराया गया रिकॉर्ड | अपवाद के साथ जुड़े फ्रेम |
अपवाद.फ्रेम.लाइन | INT64 | फ्रेम की फाइल की लाइन नंबर |
अपवाद.फ्रेम.फ़ाइल | डोरी | फ़्रेम फ़ाइल का नाम |
अपवाद.फ्रेम.प्रतीक | डोरी | हाइड्रेटेड प्रतीक, या कच्चा प्रतीक अगर यह निर्जलित है |
अपवाद.फ्रेम.ऑफ़सेट | INT64 | बाइट बाइनरी छवि में ऑफसेट होती है जिसमें कोड होता है, जावा अपवादों के लिए सेट नहीं होता है |
अपवाद.फ्रेम.पता | INT64 | बाइनरी छवि में पता जिसमें कोड है, जावा फ्रेम के लिए सेट नहीं है |
अपवाद.फ्रेम.लाइब्रेरी | डोरी | पुस्तकालय का प्रदर्शन नाम जिसमें फ्रेम शामिल है |
अपवाद.फ्रेम.स्वामी | डोरी | डेवलपर, विक्रेता, रनटाइम, प्लेटफ़ॉर्म या सिस्टम |
अपवाद.फ्रेम.दोषी | बूलियन | क्या Crashlytics के विश्लेषण ने निर्धारित किया है कि यह फ़्रेम क्रैश या त्रुटि का कारण है |
त्रुटि | दोहराया गया रिकॉर्ड | केवल Apple ऐप्स: गैर-घातक त्रुटियां |
error.queue_name | डोरी | जिस कतार पर धागा चल रहा था |
त्रुटि कोड | INT64 | ऐप के कस्टम लॉग NSError से जुड़ा त्रुटि कोड |
त्रुटि.शीर्षक | डोरी | धागे का शीर्षक |
त्रुटि.उपशीर्षक | डोरी | धागे का उपशीर्षक |
त्रुटि.दोषी | बूलियन | क्या Crashlytics के विश्लेषण ने निर्धारित किया है कि यह फ़्रेम त्रुटि का कारण है |
एरर.फ्रेम्स | दोहराया गया रिकॉर्ड | स्टैकट्रेस के फ्रेम |
error.frames.line | INT64 | फ्रेम की फाइल की लाइन नंबर |
error.frames.file | डोरी | फ़्रेम फ़ाइल का नाम |
error.frames.symbol | डोरी | हाइड्रेटेड प्रतीक, या कच्चा प्रतीक अगर यह निर्जलित है |
error.frames.offset | INT64 | बाइट बाइनरी छवि में ऑफसेट होती है जिसमें कोड होता है |
error.frames.address | INT64 | बाइनरी इमेज में पता जिसमें कोड होता है |
error.frames.library | डोरी | पुस्तकालय का प्रदर्शन नाम जिसमें फ्रेम शामिल है |
error.frames.स्वामी | डोरी | डेवलपर, विक्रेता, रनटाइम, प्लेटफ़ॉर्म या सिस्टम |
त्रुटि.फ्रेम.दोषी | बूलियन | क्या Crashlytics के विश्लेषण ने निर्धारित किया है कि यह फ़्रेम त्रुटि का कारण है |
सूत्र | दोहराया गया रिकॉर्ड | घटना के समय मौजूद धागे |
धागे.दुर्घटनाग्रस्त | बूलियन | क्या धागा दुर्घटनाग्रस्त हो गया |
थ्रेड.थ्रेड_नाम | डोरी | धागे का नाम |
धागे.queue_name | डोरी | केवल Apple ऐप्स: वह कतार जिस पर थ्रेड चल रहा था |
थ्रेड.सिग्नल_नाम | डोरी | ऐप को क्रैश करने वाले सिग्नल का नाम, केवल क्रैश किए गए नेटिव थ्रेड्स पर मौजूद होता है |
थ्रेड्स.सिग्नल_कोड | डोरी | सिग्नल का कोड जिसके कारण ऐप क्रैश हुआ; केवल दुर्घटनाग्रस्त देशी धागे पर मौजूद है |
थ्रेड्स क्रैश_एड्रेस | INT64 | सिग्नल का पता जिसके कारण एप्लिकेशन क्रैश हुआ; केवल दुर्घटनाग्रस्त देशी धागे पर मौजूद है |
धागे.कोड | INT64 | केवल Apple ऐप्स: एप्लिकेशन के कस्टम लॉग किए गए NSError का त्रुटि कोड |
धागे.शीर्षक | डोरी | धागे का शीर्षक |
धागे.उपशीर्षक | डोरी | धागे का उपशीर्षक |
धागे।दोषी | बूलियन | क्या Crashlytics के विश्लेषण ने निर्धारित किया है कि यह फ़्रेम क्रैश या त्रुटि का कारण है |
धागे.फ्रेम्स | दोहराया गया रिकॉर्ड | धागे के फ्रेम |
थ्रेड्स.फ्रेम्स.लाइन | INT64 | फ्रेम की फाइल की लाइन नंबर |
धागे.फ्रेम.फ़ाइल | डोरी | फ़्रेम फ़ाइल का नाम |
धागे.फ्रेम.प्रतीक | डोरी | हाइड्रेटेड प्रतीक, या कच्चा प्रतीक अगर यह निर्जलित है |
थ्रेड्स.फ्रेम्स.ऑफ़सेट | INT64 | बाइट बाइनरी छवि में ऑफसेट होती है जिसमें कोड होता है |
धागे.फ्रेम.पता | INT64 | बाइनरी इमेज में पता जिसमें कोड होता है |
थ्रेड्स.फ्रेम्स.लाइब्रेरी | डोरी | पुस्तकालय का प्रदर्शन नाम जिसमें फ्रेम शामिल है |
धागे.फ्रेम.स्वामी | डोरी | डेवलपर, विक्रेता, रनटाइम, प्लेटफ़ॉर्म या सिस्टम |
धागे.फ्रेम.दोषी | बूलियन | क्या Crashlytics के विश्लेषण ने निर्धारित किया है कि यह फ़्रेम त्रुटि का कारण है |
डेटा स्टूडियो के साथ निर्यात किए गए क्रैशलिटिक्स डेटा को विज़ुअलाइज़ करना
Google डेटा स्टूडियो BigQuery में आपके Crashlytics डेटासेट को ऐसी रिपोर्ट में बदल देता है जो पढ़ने में आसान, साझा करने में आसान और पूरी तरह से अनुकूलन योग्य होती हैं।
डेटा स्टूडियो का उपयोग करने के बारे में अधिक जानने के लिए, डेटा स्टूडियो त्वरित प्रारंभ मार्गदर्शिका, डेटा स्टूडियो में आपका स्वागत है , आज़माएं.
Crashlytics रिपोर्ट टेम्प्लेट का उपयोग करना
डेटा स्टूडियो के पास Crashlytics के लिए एक नमूना रिपोर्ट है जिसमें निर्यात किए गए Crashlytics BigQuery स्कीमा से आयामों और मीट्रिक का एक व्यापक समूह शामिल है। यदि आपने Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम किया है, तो आप डेटा स्टूडियो टेम्प्लेट के रीयलटाइम रुझान पृष्ठ पर उस डेटा को देख सकते हैं। आप अपने स्वयं के ऐप के अपरिष्कृत क्रैश डेटा के आधार पर तुरंत नई रिपोर्ट और विज़ुअलाइज़ेशन बनाने के लिए नमूने के रूप में नमूने का उपयोग कर सकते हैं:
- Crashlytics डेटा स्टूडियो डैशबोर्ड टेम्प्लेट खोलें.
- ऊपरी-दाएँ कोने में टेम्पलेट का उपयोग करें पर क्लिक करें।
- नया डेटा स्रोत ड्रॉपडाउन में, नया डेटा स्रोत बनाएं चुनें.
- BigQuery कार्ड पर चुनें पर क्लिक करें.
- My Project > [your-project-name] > firebase_crashlytics > [your-table-name] चुनकर निर्यातित Crashlytics डेटा वाली तालिका चुनें। आपकी बैच तालिका हमेशा चुनने के लिए उपलब्ध है; यदि Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम है, तो आप इसके बजाय अपनी रीयलटाइम तालिका चुन सकते हैं।
- कॉन्फ़िगरेशन के तहत, Crashlytics टेम्प्लेट स्तर को डिफ़ॉल्ट पर सेट करें।
- नया डेटा स्रोत बनाने के लिए कनेक्ट पर क्लिक करें।
- Crashlytics टेम्प्लेट पर लौटने के लिए रिपोर्ट में जोड़ें पर क्लिक करें।
- अंत में, Crashlytics डेटा स्टूडियो डैशबोर्ड टेम्प्लेट की अपनी कॉपी बनाने के लिए रिपोर्ट बनाएं पर क्लिक करें.