आगे के विश्लेषण के लिए आप अपने Crashlytics डेटा को BigQuery में निर्यात कर सकते हैं। BigQuery की मदद से आप BigQuery SQL का उपयोग करके डेटा का विश्लेषण कर सकते हैं, इसे किसी अन्य क्लाउड प्रदाता को निर्यात कर सकते हैं, और Google डेटा स्टूडियो के साथ विज़ुअलाइज़ेशन और कस्टम डैशबोर्ड के लिए इसका उपयोग कर सकते हैं।
BigQuery निर्यात सक्षम करें
- फायरबेस कंसोल में इंटीग्रेशन पेज पर जाएं।
- BigQuery कार्ड में, लिंक करें पर क्लिक करें.
- BigQuery को सक्षम करने के लिए ऑन-स्क्रीन निर्देशों का पालन करें।
जब आप अपने प्रोजेक्ट को BigQuery से लिंक करते हैं:
- Firebase आपके डेटा के दैनिक सिंक को आपके Firebase प्रोजेक्ट से BigQuery में सेट अप करता है।
- डिफ़ॉल्ट रूप से, आपके प्रोजेक्ट के सभी ऐप्स BigQuery से जुड़े होते हैं और आपके द्वारा प्रोजेक्ट में बाद में जोड़े जाने वाले सभी ऐप BigQuery से अपने आप लिंक हो जाते हैं। आप प्रबंधित कर सकते हैं कि कौन से ऐप्स डेटा भेजते हैं ।
- Firebase आपके मौजूदा डेटा की एक प्रति BigQuery को निर्यात करता है । लिंक किए गए प्रत्येक ऐप के लिए, इसमें एक बैच तालिका शामिल होती है जिसमें दैनिक सिंक का डेटा होता है।
- यदि आप Crashlytics BigQuery स्ट्रीमिंग निर्यात को सक्षम करते हैं, तो सभी लिंक किए गए ऐप्स में एक रीयलटाइम टेबल भी होगी जिसमें लगातार अपडेट होने वाला डेटा होगा।
BigQuery निर्यात को निष्क्रिय करने के लिए, अपने प्रोजेक्ट को Firebase कंसोल में अनलिंक करें ।
कौनसा डेटा BigQuery को निर्यात किया जाता है?
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 एकीकरण पृष्ठ के Crashlytics अनुभाग में नेविगेट करें और स्ट्रीमिंग शामिल करें चेकबॉक्स चुनें.
डेटा स्टूडियो टेम्पलेट
अपने डेटा स्टूडियो टेम्प्लेट में रीयलटाइम डेटा सक्षम करने के लिए, डेटा स्टूडियो के साथ निर्यात किए गए Crashlytics डेटा को विज़ुअलाइज़ करना में दिए गए निर्देशों का पालन करें.
दृश्य
आप BigQuery UI का उपयोग करके नीचे दी गई उदाहरण क्वेरी को दृश्यों में बदल सकते हैं. विस्तृत निर्देशों के लिए दृश्य बनाना देखें।
आप निर्यात किए गए डेटा के साथ क्या कर सकते हैं?
BigQuery निर्यात में उपकरण प्रकार, ऑपरेटिंग सिस्टम, अपवाद (Android ऐप्स) या त्रुटियां (Apple ऐप्स), और Crashlytics लॉग सहित अन्य डेटा सहित अपरिष्कृत क्रैश डेटा शामिल होता है.
BigQuery में Firebase Crashlytics डेटा के साथ कार्य करना
निम्नलिखित उदाहरण उन प्रश्नों को प्रदर्शित करते हैं जिन्हें आप अपने 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: कस्टम कुंजी द्वारा फ़िल्टर करें
गेम डेवलपर यह जानना चाहता है कि उसके गेम के किस स्तर पर सबसे ज़्यादा क्रैश हुए हैं. उस आंकड़े को ट्रैक करने में उनकी मदद करने के लिए, वे एक कस्टम Crashlytics कुंजी 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 डेटा सेट में ईवेंट में शामिल होने के लिए User ID फ़ील्ड का उपयोग करने वाली क्वेरी लिखें:
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 नब्बे दिनों तक बैकफ़िल करने के विकल्प के साथ, लिंक से दो दिन पहले तक की घटनाओं सहित हाल की घटनाओं (दुर्घटनाओं, गैर-घातक त्रुटियों और ANRs) को निर्यात करता है।
उस बिंदु से जब तक आप लिंक को अक्षम नहीं करते, तब तक Firebase Crashlytics ईवेंट को दैनिक आधार पर निर्यात करता है। प्रत्येक निर्यात के बाद BigQuery में डेटा उपलब्ध होने में कुछ मिनट लग सकते हैं.
डेटासेट
Firebase Crashlytics, Crashlytics डेटा के लिए BigQuery में एक नया डेटासेट बनाता है। डेटासेट आपके पूरे प्रोजेक्ट को कवर करता है, भले ही इसमें कई ऐप्स हों।
टेबल
Firebase Crashlytics आपके प्रोजेक्ट में प्रत्येक ऐप के लिए डेटासेट में एक तालिका बनाता है, जब तक कि आपने उस ऐप के लिए डेटा निर्यात करने का विकल्प नहीं चुना हो। फायरबेस ऐप के बंडल आइडेंटिफ़ायर के आधार पर तालिकाओं को नाम देता है, जिसमें अवधियों को अंडरस्कोर में बदल दिया जाता है, और अंत में एक प्लेटफ़ॉर्म नाम जोड़ा जाता है।
उदाहरण के लिए, com.google.test
आईडी वाले किसी Android ऐप्लिकेशन का डेटा com_google_test_ANDROID
नामक तालिका में होगा, और रीयलटाइम डेटा (यदि सक्षम हो) com_google_test_ANDROID_REALTIME
नामक तालिका में होगा
डेवलपर्स द्वारा परिभाषित किसी भी कस्टम Crashlytics कुंजी के अलावा टेबल्स में Crashlytics डेटा का एक मानक सेट होता है।
पंक्तियों
तालिका में प्रत्येक पंक्ति ऐप में आई त्रुटि का प्रतिनिधित्व करती है।
कॉलम
किसी तालिका में स्तंभ क्रैश, गैर-घातक त्रुटियों और ANRs के लिए समान होते हैं। यदि Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम है, तो रीयलटाइम तालिका में वही स्तंभ होंगे जो बैच तालिका में हैं. निर्यात के भीतर कॉलम नीचे सूचीबद्ध हैं।
ढेर के निशान के बिना
पंक्तियों में मौजूद कॉलम, बिना स्टैक ट्रेस वाले इवेंट दिखाते हैं.
कार्यक्षेत्र नाम | डेटा प्रकार | विवरण |
---|---|---|
प्लैटफ़ॉर्म | डोरी | ऐप्पल या एंड्रॉइड ऐप |
बंडल_पहचानकर्ता | डोरी | बंडल आईडी, उदाहरण के लिए com.google.gmail |
event_id | डोरी | घटना के लिए एक अद्वितीय आईडी |
घातक है | बूलियन | चाहे ऐप क्रैश हो गया हो |
error_type | डोरी | घटना का त्रुटि प्रकार (FATAL, NON_FATAL, ANR) |
issue_id | डोरी | घटना से जुड़ा मामला |
event_timestamp | TIMESTAMP | जब घटना हुई |
उपकरण | अभिलेख | वह डिवाइस जिस पर इवेंट हुआ था |
device.manufacturer | डोरी | डिवाइस निर्माता |
डिवाइस का मॉडल | डोरी | डिवाइस मॉडल |
device.आर्किटेक्चर | डोरी | X86_32, X86_64, ARMV7, ARM64, ARMV7S, या ARMV7K |
याद | अभिलेख | डिवाइस की मेमोरी स्थिति |
मेमोरी.यूज्ड | आईएनटी 64 | मेमोरी के बाइट्स का इस्तेमाल किया |
स्मृति मुक्त | आईएनटी 65 | मेमोरी के बाइट शेष हैं |
भंडारण | अभिलेख | डिवाइस का लगातार भंडारण |
भंडारण। उपयोग किया गया | आईएनटी 64 | भंडारण के बाइट्स का इस्तेमाल किया |
भंडारण मुक्त | आईएनटी 64 | मेमोरी के बाइट शेष हैं |
ऑपरेटिंग सिस्टम | अभिलेख | डिवाइस का ओएस विवरण |
ऑपरेटिंग_सिस्टम.डिस्प्ले_वर्जन | डोरी | ओएस संस्करण |
ऑपरेटिंग_सिस्टम.नाम | डोरी | ओएस का नाम |
operating_system.modification_state | डोरी | मॉडिफाइड या अनमॉडिफाइड, यानी डिवाइस को जेलब्रेक/रूट किया गया है या नहीं |
ऑपरेटिंग_सिस्टम.टाइप | डोरी | डिवाइस पर ऑपरेटिंग सिस्टम का प्रकार। जैसे आईओएस, मैकोज़ |
ऑपरेटिंग_सिस्टम.डिवाइस_टाइप | डोरी | डिवाइस का प्रकार। जैसे मोबाइल, टैबलेट, टीवी |
आवेदन | अभिलेख | ऐप जिसने घटना उत्पन्न की |
application.build_version | डोरी | ऐप का बिल्ड वर्जन |
application.display_version | डोरी | |
उपयोगकर्ता | अभिलेख | वैकल्पिक: ऐप के उपयोगकर्ता पर एकत्रित जानकारी |
उपयोगकर्ता नाम | डोरी | वैकल्पिक: उपयोगकर्ता का नाम |
user.email | डोरी | वैकल्पिक: उपयोगकर्ता का ईमेल पता |
उपयोगकर्ता पहचान | डोरी | वैकल्पिक: उपयोगकर्ता से जुड़ी एक ऐप-विशिष्ट आईडी |
Custom_keys | दोहराया रिकॉर्ड | डेवलपर-परिभाषित कुंजी-मूल्य जोड़े |
Custom_keys.key | डोरी | एक डेवलपर-परिभाषित कुंजी |
Custom_keys.value | डोरी | एक डेवलपर-परिभाषित मूल्य |
install_uuid | डोरी | एक आईडी जो एक अद्वितीय ऐप और डिवाइस इंस्टॉलेशन की पहचान करती है |
Crashlytics_sdk_versions | डोरी | Crashlytics SDK संस्करण जिसने ईवेंट उत्पन्न किया |
app_orientation | डोरी | पोर्ट्रेट, लैंडस्केप, FACE_UP, या FACE_DOWN |
device_orientation | डोरी | पोर्ट्रेट, लैंडस्केप, FACE_UP, या FACE_DOWN |
process_state | डोरी | पृष्ठभूमि या अग्रभूमि |
लॉग | दोहराया रिकॉर्ड | सक्षम होने पर Crashlytics लॉगर द्वारा उत्पन्न टाइमस्टैम्प वाले लॉग संदेश |
logs.timestamp | TIMESTAMP | जब लॉग बनाया गया था |
logs.message | डोरी | लॉग किया गया संदेश |
ब्रेडक्रम्ब्स | दोहराया रिकॉर्ड | टाइमस्टैंप्ड Google Analytics ब्रेडक्रंब, यदि सक्षम है |
ब्रेडक्रंब.टाइमस्टैम्प | TIMESTAMP | ब्रेडक्रंब से जुड़ा टाइमस्टैम्प |
ब्रेडक्रंब.नाम | डोरी | ब्रेडक्रंब से जुड़ा नाम |
ब्रेडक्रंब.परम्स | दोहराया रिकॉर्ड | ब्रेडक्रंब से जुड़े पैरामीटर |
ब्रेडक्रंब.पैराम्स.की | डोरी | ब्रेडक्रंब से जुड़ी एक पैरामीटर कुंजी |
ब्रेडक्रंब.पैराम्स.वैल्यू | डोरी | ब्रेडक्रंब से जुड़ा एक पैरामीटर मान |
blam_frame | अभिलेख | फ़्रेम की पहचान क्रैश या त्रुटि के मूल कारण के रूप में की गई है |
दोष_फ्रेम.लाइन | आईएनटी 64 | फ्रेम की फ़ाइल की लाइन संख्या |
दोष_फ्रेम.फ़ाइल | डोरी | फ़्रेम फ़ाइल का नाम |
दोष_फ्रेम.प्रतीक | डोरी | हाइड्रेटेड प्रतीक, या अपरिष्कृत प्रतीक यदि यह निर्जलित है |
दोष_फ्रेम.ऑफ़सेट | आईएनटी 64 | बाइट बाइनरी इमेज में ऑफसेट होता है जिसमें कोड होता है, जावा अपवादों के लिए अनसेट |
दोष_फ्रेम.पता | आईएनटी 64 | बाइनरी छवि में पता जिसमें कोड शामिल है, जावा फ्रेम के लिए सेट नहीं है |
ब्लेम_फ्रेम.लाइब्रेरी | डोरी | लाइब्रेरी का प्रदर्शन नाम जिसमें फ़्रेम शामिल है |
दोष_फ्रेम। मालिक | डोरी | डेवलपर, विक्रेता, रनटाइम, प्लेटफॉर्म या सिस्टम |
दोष_फ्रेम। दोष | बूलियन | क्या Crashlytics के विश्लेषण ने निर्धारित किया है कि यह फ्रेम क्रैश या त्रुटि का कारण है |
अपवाद | दोहराया रिकॉर्ड | केवल Android: अपवाद जो इस ईवेंट के दौरान हुए. नेस्टेड अपवाद रिवर्स कालानुक्रमिक क्रम में प्रस्तुत किए जाते हैं (पढ़ें: अंतिम रिकॉर्ड फेंका गया पहला अपवाद है) |
अपवाद प्रकार | डोरी | अपवाद प्रकार, उदाहरण के लिए java.lang.IllegalStateException |
अपवाद अपवाद_संदेश | डोरी | अपवाद से जुड़ा एक संदेश |
अपवाद। नेस्टेड | बूलियन | सभी के लिए सच है लेकिन अंतिम-अपवाद (यानी पहला रिकॉर्ड) |
अपवाद शीर्षक | डोरी | धागे का शीर्षक |
अपवाद उपशीर्षक | डोरी | धागे का उपशीर्षक |
अपवाद। दोष | बूलियन | सही है अगर Crashlytics निर्धारित करता है कि त्रुटि या क्रैश के लिए अपवाद जिम्मेदार है |
अपवाद। फ्रेम | दोहराया रिकॉर्ड | अपवाद से जुड़े फ्रेम |
अपवाद.फ्रेम.लाइन | आईएनटी 64 | फ्रेम की फ़ाइल की लाइन संख्या |
अपवाद.फ्रेम.फ़ाइल | डोरी | फ़्रेम फ़ाइल का नाम |
अपवाद.फ्रेम.प्रतीक | डोरी | हाइड्रेटेड प्रतीक, या अपरिष्कृत प्रतीक यदि यह निर्जलित है |
अपवाद। फ्रेम। ऑफसेट | आईएनटी 64 | बाइट बाइनरी इमेज में ऑफसेट होता है जिसमें कोड होता है, जावा अपवादों के लिए अनसेट |
अपवाद.फ्रेम.पता | आईएनटी 64 | बाइनरी छवि में पता जिसमें कोड शामिल है, जावा फ्रेम के लिए सेट नहीं है |
अपवाद.फ्रेम.लाइब्रेरी | डोरी | लाइब्रेरी का प्रदर्शन नाम जिसमें फ़्रेम शामिल है |
अपवाद। फ्रेम। मालिक | डोरी | डेवलपर, विक्रेता, रनटाइम, प्लेटफॉर्म या सिस्टम |
अपवाद.फ्रेम.दोष | बूलियन | क्या Crashlytics के विश्लेषण ने निर्धारित किया है कि यह फ्रेम क्रैश या त्रुटि का कारण है |
गलती | दोहराया रिकॉर्ड | केवल Apple ऐप्स: गैर-घातक त्रुटियाँ |
त्रुटि। कतार_नाम | डोरी | कतार जिस पर धागा चल रहा था |
त्रुटि कोड | आईएनटी 64 | ऐप के कस्टम लॉग NSError से जुड़ा त्रुटि कोड |
त्रुटि शीर्षक | डोरी | धागे का शीर्षक |
त्रुटि उपशीर्षक | डोरी | धागे का उपशीर्षक |
त्रुटि। दोष | बूलियन | क्या Crashlytics के विश्लेषण ने निर्धारित किया है कि यह फ्रेम त्रुटि का कारण है |
error.frames | दोहराया रिकॉर्ड | स्टैकट्रेस के फ्रेम |
error.frames.line | आईएनटी 64 | फ्रेम की फ़ाइल की लाइन संख्या |
error.frames.file | डोरी | फ़्रेम फ़ाइल का नाम |
error.frames.symbol | डोरी | हाइड्रेटेड प्रतीक, या अपरिष्कृत प्रतीक यदि यह निर्जलित है |
त्रुटि.फ्रेम्स.ऑफ़सेट | आईएनटी 64 | बाइट बाइनरी इमेज में ऑफसेट होता है जिसमें कोड होता है |
त्रुटि.फ्रेम.पता | आईएनटी 64 | बाइनरी छवि में पता जिसमें कोड होता है |
error.frames.library | डोरी | लाइब्रेरी का प्रदर्शन नाम जिसमें फ़्रेम शामिल है |
त्रुटि। फ्रेम। मालिक | डोरी | डेवलपर, विक्रेता, रनटाइम, प्लेटफॉर्म या सिस्टम |
त्रुटि.फ्रेम्स.दोष | बूलियन | क्या Crashlytics के विश्लेषण ने निर्धारित किया है कि यह फ्रेम त्रुटि का कारण है |
धागे | दोहराया रिकॉर्ड | घटना के समय मौजूद धागे |
थ्रेड.क्रैश हो गया | बूलियन | क्या धागा दुर्घटनाग्रस्त हो गया |
थ्रेड्स.थ्रेड_नाम | डोरी | धागे का नाम |
थ्रेड्स.क्यू_नाम | डोरी | केवल Apple ऐप्स: वह कतार जिस पर थ्रेड चल रहा था |
थ्रेड्स.सिग्नल_नाम | डोरी | सिग्नल का नाम जिसके कारण ऐप क्रैश हो गया, केवल क्रैश हुए नेटिव थ्रेड्स पर मौजूद है |
थ्रेड्स.सिग्नल_कोड | डोरी | सिग्नल का कोड जिसके कारण ऐप क्रैश हो गया; केवल दुर्घटनाग्रस्त देशी धागे पर मौजूद है |
थ्रेड्स.क्रैश_एड्रेस | आईएनटी 64 | सिग्नल का पता जिसके कारण एप्लिकेशन क्रैश हो गया; केवल दुर्घटनाग्रस्त देशी धागे पर मौजूद है |
थ्रेड्स.कोड | आईएनटी 64 | केवल Apple ऐप्स: एप्लिकेशन के कस्टम लॉग NSError का त्रुटि कोड |
थ्रेड्स.टाइटल | डोरी | धागे का शीर्षक |
थ्रेड्स.उपशीर्षक | डोरी | धागे का उपशीर्षक |
धागे.दोष | बूलियन | क्या Crashlytics के विश्लेषण ने निर्धारित किया है कि यह फ्रेम क्रैश या त्रुटि का कारण है |
थ्रेड्स.फ्रेम्स | दोहराया रिकॉर्ड | धागे के तख्ते |
थ्रेड्स.फ्रेम्स.लाइन | आईएनटी 64 | फ्रेम की फ़ाइल की लाइन संख्या |
थ्रेड्स.फ्रेम्स.फाइल | डोरी | फ़्रेम फ़ाइल का नाम |
थ्रेड्स.फ्रेम्स.सिंबल | डोरी | हाइड्रेटेड सिंबल, या रॉ सिंबल अगर यह अनहाइड्रेटेबल है |
थ्रेड्स.फ्रेम्स.ऑफ़सेट | आईएनटी 64 | बाइट बाइनरी इमेज में ऑफसेट होता है जिसमें कोड होता है |
थ्रेड्स.फ्रेम्स.एड्रेस | आईएनटी 64 | बाइनरी छवि में पता जिसमें कोड होता है |
थ्रेड्स.फ्रेम्स.लाइब्रेरी | डोरी | लाइब्रेरी का प्रदर्शन नाम जिसमें फ़्रेम शामिल है |
थ्रेड्स.फ्रेम्स.ओनर | डोरी | डेवलपर, विक्रेता, रनटाइम, प्लेटफॉर्म या सिस्टम |
थ्रेड्स.फ्रेम्स.ब्लेम्ड | बूलियन | क्या Crashlytics के विश्लेषण ने निर्धारित किया है कि यह फ्रेम त्रुटि का कारण है |
एकता_मेटाडेटा.एकता_संस्करण | डोरी | यूनिटी का संस्करण इस डिवाइस पर चल रहा है |
एकता_मेटाडेटा.डीबग_बिल्ड | बूलियन | अगर यह डिबग बिल्ड है |
एकता_मेटाडेटा.प्रोसेसर_टाइप | डोरी | प्रोसेसर के प्रकार |
एकता_मेटाडेटा.प्रोसेसर_काउंट | INT32 | प्रोसेसर की संख्या (कोर) |
एकता_मेटाडेटा.प्रोसेसर_फ्रीक्वेंसी_मेहज़ | INT32 | मेगाहर्ट्ज में प्रोसेसर (ओं) की आवृत्ति |
एकता_मेटाडेटा.सिस्टम_मेमोरी_साइज़_एमबी | INT32 | एमबी में सिस्टम की मेमोरी का आकार |
एकता_मेटाडेटा.ग्राफिक्स_मेमोरी_साइज़_एमबी | INT32 | एमबी में ग्राफिक्स मेमोरी |
एकता_मेटाडेटा.ग्राफिक्स_डिवाइस_आईडी | INT32 | ग्राफिक्स डिवाइस का पहचानकर्ता |
एकता_मेटाडेटा.ग्राफिक्स_डिवाइस_विक्रेता_आईडी | INT32 | ग्राफ़िक्स प्रोसेसर के विक्रेता का पहचानकर्ता |
एकता_मेटाडेटा.ग्राफिक्स_डिवाइस_नाम | डोरी | ग्राफिक्स डिवाइस का नाम |
एकता_मेटाडेटा.ग्राफिक्स_डिवाइस_विक्रेता | डोरी | ग्राफिक्स डिवाइस के विक्रेता |
एकता_मेटाडेटा.ग्राफिक्स_डिवाइस_संस्करण | डोरी | ग्राफिक्स डिवाइस का संस्करण |
एकता_मेटाडेटा.ग्राफिक्स_डिवाइस_प्रकार | डोरी | ग्राफिक्स डिवाइस का प्रकार |
एकता_मेटाडेटा.ग्राफिक्स_शेडर_स्तर | INT32 | ग्राफिक्स का शेडर स्तर |
एकता_मेटाडेटा.ग्राफिक्स_रेंडर_टारगेट_काउंट | INT32 | ग्राफिकल रेंडरिंग लक्ष्यों की संख्या |
एकता_मेटाडेटा.ग्राफिक्स_कॉपी_बनावट_समर्थन | डोरी | यूनिटी एपीआई में परिभाषित ग्राफिक बनावट की नकल के लिए समर्थन |
एकता_मेटाडेटा.ग्राफिक्स_मैक्स_बनावट_आकार | INT32 | रेंडरिंग बनावट के लिए समर्पित अधिकतम आकार |
एकता_मेटाडेटा.स्क्रीन_साइज_पीएक्स | डोरी | पिक्सेल में स्क्रीन का आकार, चौड़ाई x ऊँचाई के रूप में स्वरूपित |
एकता_मेटाडेटा.स्क्रीन_रिज़ॉल्यूशन_डीपीआई | डोरी | फ्लोटिंग पॉइंट नंबर के रूप में स्क्रीन का डीपीआई |
एकता_मेटाडेटा.स्क्रीन_रीफ्रेश_रेट_हज़ | INT32 | हर्ट्ज में स्क्रीन की ताज़ा दर |
डेटा स्टूडियो के साथ निर्यात किए गए Crashlytics डेटा को विज़ुअलाइज़ करना
Google डेटा स्टूडियो आपके Crashlytics डेटासेट को BigQuery में ऐसी रिपोर्ट में बदल देता है जो पढ़ने में आसान, साझा करने में आसान और पूरी तरह से अनुकूलन योग्य हैं।
डेटा स्टूडियो का उपयोग करने के बारे में अधिक जानने के लिए, डेटा स्टूडियो त्वरित प्रारंभ मार्गदर्शिका, डेटा स्टूडियो में आपका स्वागत है आज़माएं।
Crashlytics रिपोर्ट टेम्प्लेट का उपयोग करना
डेटा स्टूडियो के पास Crashlytics के लिए एक नमूना रिपोर्ट है जिसमें निर्यात किए गए Crashlytics BigQuery स्कीमा से आयामों और मीट्रिक का व्यापक सेट शामिल है। यदि आपने Crashlytics BigQuery स्ट्रीमिंग निर्यात को सक्षम किया है, तो आप उस डेटा को डेटा स्टूडियो टेम्प्लेट के रीयलटाइम रुझान पृष्ठ पर देख सकते हैं. आप अपने स्वयं के ऐप के अपरिष्कृत क्रैश डेटा के आधार पर त्वरित रूप से नई रिपोर्ट और विज़ुअलाइज़ेशन बनाने के लिए टेम्पलेट के रूप में नमूने का उपयोग कर सकते हैं:
- Crashlytics डेटा स्टूडियो डैशबोर्ड टेम्प्लेट खोलें।
- ऊपरी-दाएँ कोने में टेम्पलेट का उपयोग करें क्लिक करें।
- नया डेटा स्रोत ड्रॉपडाउन में, नया डेटा स्रोत बनाएं चुनें.
- BigQuery कार्ड पर चुनें पर क्लिक करें.
- My Projects > [your-project-name] > firebase_crashlytics > [your-table-name] को चुनकर निर्यात किए गए Crashlytics डेटा वाली तालिका चुनें। आपकी बैच तालिका चयन के लिए हमेशा उपलब्ध रहती है; यदि Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम है, तो आप इसके बजाय अपनी रीयलटाइम तालिका चुन सकते हैं।
- कॉन्फ़िगरेशन के अंतर्गत, Crashlytics टेम्प्लेट स्तर को डिफ़ॉल्ट पर सेट करें.
- नया डेटा स्रोत बनाने के लिए कनेक्ट करें पर क्लिक करें।
- Crashlytics टेम्प्लेट पर लौटने के लिए रिपोर्ट में जोड़ें पर क्लिक करें।
- अंत में, Crashlytics डेटा स्टूडियो डैशबोर्ड टेम्प्लेट की अपनी कॉपी बनाने के लिए रिपोर्ट बनाएं पर क्लिक करें।