आप आगे के विश्लेषण के लिए अपने Crashlytics डेटा को BigQuery में निर्यात कर सकते हैं। BigQuery आपको BigQuery SQL का उपयोग करके डेटा का विश्लेषण करने, इसे किसी अन्य क्लाउड प्रदाता को निर्यात करने और Google डेटा स्टूडियो के साथ विज़ुअलाइज़ेशन और कस्टम डैशबोर्ड के लिए उपयोग करने की अनुमति देता है।
BigQuery निर्यात सक्षम करें
- फायरबेस कंसोल में इंटीग्रेशन पेज पर जाएं।
- BigQuery कार्ड में, लिंक पर क्लिक करें।
- BigQuery को सक्षम करने के लिए ऑन-स्क्रीन निर्देशों का पालन करें।
जब आप अपने प्रोजेक्ट को BigQuery से लिंक करते हैं:
- Firebase आपके Firebase प्रोजेक्ट से BigQuery तक आपके डेटा का दैनिक सिंक सेट करता है।
- डिफ़ॉल्ट रूप से, आपके प्रोजेक्ट के सभी ऐप्स BigQuery से लिंक होते हैं और जो भी ऐप्स आप बाद में प्रोजेक्ट में जोड़ते हैं वे स्वचालित रूप से BigQuery से लिंक हो जाते हैं। आप यह प्रबंधित कर सकते हैं कि कौन से ऐप्स डेटा भेजते हैं ।
- Firebase आपके मौजूदा डेटा की एक प्रति BigQuery पर निर्यात करता है । प्रत्येक लिंक किए गए ऐप के लिए, इसमें एक बैच तालिका शामिल है जिसमें दैनिक सिंक से डेटा शामिल है।
- यदि आप Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम करते हैं, तो सभी लिंक किए गए ऐप्स में एक रीयलटाइम टेबल भी होगी जिसमें लगातार अपडेट होने वाला डेटा होगा।
BigQuery निर्यात को निष्क्रिय करने के लिए, अपने प्रोजेक्ट को फायरबेस कंसोल में अनलिंक करें ।
BigQuery पर कौन सा डेटा निर्यात किया जाता है?
Firebase Crashlytics डेटा को firebase_crashlytics
नामक BigQuery डेटासेट में निर्यात किया जाता है। डिफ़ॉल्ट रूप से, आपके प्रोजेक्ट में प्रत्येक ऐप के लिए क्रैशलाईटिक्स डेटा सेट के अंदर अलग-अलग तालिकाएँ बनाई जाएंगी। फायरबेस ऐप के बंडल पहचानकर्ता के आधार पर तालिकाओं को नाम देता है, जिसमें अवधियों को अंडरस्कोर में परिवर्तित किया जाता है, और अंत में एक प्लेटफ़ॉर्म नाम जोड़ा जाता है।
उदाहरण के लिए, com.google.test
आईडी वाले ऐप का डेटा com_google_test_ANDROID
नामक तालिका में होगा। यह बैच तालिका हर दिन एक बार अपडेट की जाती है। यदि आप Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम करते हैं, तो Firebase Crashlytics डेटा भी वास्तविक समय में com_google_test_ANDROID_REALTIME
पर स्ट्रीम किया जाएगा।
तालिका की प्रत्येक पंक्ति ऐप में हुई एक घटना का प्रतिनिधित्व करती है, जिसमें क्रैश, गैर-घातक त्रुटियां और एएनआर शामिल हैं।
Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम करें
आप BigQueryStreaming के साथ अपने क्रैशलिटिक्स डेटा को रीयलटाइम में स्ट्रीम कर सकते हैं। आप इसका उपयोग किसी भी उद्देश्य के लिए कर सकते हैं जिसके लिए लाइव डेटा की आवश्यकता होती है, जैसे कि लाइव डैशबोर्ड में जानकारी प्रस्तुत करना, रोलआउट को लाइव देखना, या अलर्ट और कस्टम वर्कफ़्लो को ट्रिगर करने वाली एप्लिकेशन समस्याओं की निगरानी करना।
Crashlytics BigQuery स्ट्रीमिंग निर्यात BigQuery सैंडबॉक्स के लिए उपलब्ध नहीं है।
जब आप Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम करते हैं, तो बैच तालिका के अलावा आपके पास एक रीयलटाइम तालिका होगी। यहां वे अंतर हैं जिनसे आपको तालिकाओं के बीच अवगत होना चाहिए:
बैच टेबल | रीयलटाइम टेबल |
---|---|
|
|
बैच तालिका दीर्घकालिक विश्लेषण और समय के साथ रुझानों की पहचान करने के लिए आदर्श है क्योंकि हम उन्हें लिखने से पहले घटनाओं को टिकाऊ रूप से संग्रहीत करते हैं, और उन्हें 90 दिनों तक तालिका में वापस भरा जा सकता है। जब हम आपके रियलटाइम टेबल पर डेटा लिखते हैं, तो हम इसे तुरंत BigQuery पर लिखते हैं, और इसलिए यह लाइव डैशबोर्ड और कस्टम अलर्ट के लिए आदर्श है। दोनों का लाभ प्राप्त करने के लिए इन दोनों तालिकाओं को एक सिलाई क्वेरी के साथ जोड़ा जा सकता है। नीचे क्वेरी उदाहरण 9 देखें।
डिफ़ॉल्ट रूप से, रीयलटाइम तालिका में 30 दिनों का विभाजन समाप्ति समय होता है। इसे संशोधित करने का तरीका जानने के लिए, विभाजन समाप्ति को अद्यतन करना देखें।
Crashlytics BigQuery स्ट्रीमिंग सक्षम करें
स्ट्रीमिंग सक्षम करने के लिए, BigQuery एकीकरण पृष्ठ के क्रैशलाइटिक्स अनुभाग पर जाएँ और स्ट्रीमिंग शामिल करें चेकबॉक्स का चयन करें।
डेटा स्टूडियो टेम्पलेट
अपने डेटा स्टूडियो टेम्पलेट में रीयलटाइम डेटा सक्षम करने के लिए, डेटा स्टूडियो के साथ निर्यात किए गए क्रैशलाइटिक्स डेटा को विज़ुअलाइज़ करने में दिए गए निर्देशों का पालन करें।
दृश्य
आप BigQuery UI का उपयोग करके नीचे दिए गए उदाहरण प्रश्नों को दृश्यों में बदल सकते हैं। विस्तृत निर्देशों के लिए दृश्य बनाना देखें।
आप निर्यात किए गए डेटा के साथ क्या कर सकते हैं?
BigQuery निर्यात में डिवाइस प्रकार, ऑपरेटिंग सिस्टम, अपवाद (एंड्रॉइड ऐप्स) या त्रुटियां (ऐप्पल ऐप्स), और क्रैशलिटिक्स लॉग, साथ ही अन्य डेटा सहित कच्चा क्रैश डेटा शामिल होता है।
BigQuery में Firebase 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) को निर्यात करता है, जिसमें लिंक से दो दिन पहले तक की घटनाएं भी शामिल होती हैं, जिसमें नब्बे दिनों तक बैकफ़िल करने का विकल्प होता है।
उस बिंदु से जब तक आप लिंक को अक्षम नहीं करते, फायरबेस दैनिक आधार पर क्रैशलाईटिक्स घटनाओं को निर्यात करता है। प्रत्येक निर्यात के बाद डेटा को BigQuery में उपलब्ध होने में कुछ मिनट लग सकते हैं।
डेटासेट
Firebase Crashlytics Crashlytics डेटा के लिए BigQuery में एक नया डेटासेट बनाता है। डेटासेट आपके पूरे प्रोजेक्ट को कवर करता है, भले ही इसमें कई ऐप्स हों।
टेबल
फायरबेस क्रैशलाइटिक्स आपके प्रोजेक्ट में प्रत्येक ऐप के लिए डेटासेट में एक तालिका बनाता है, जब तक कि आपने उस ऐप के लिए डेटा निर्यात करने का विकल्प नहीं चुना हो। फायरबेस ऐप के बंडल पहचानकर्ता के आधार पर तालिकाओं को नाम देता है, जिसमें अवधियों को अंडरस्कोर में परिवर्तित किया जाता है, और अंत में एक प्लेटफ़ॉर्म नाम जोड़ा जाता है।
उदाहरण के लिए, com.google.test
आईडी वाले एंड्रॉइड ऐप का डेटा com_google_test_ANDROID
नामक तालिका में होगा, और रीयलटाइम डेटा (यदि सक्षम है) com_google_test_ANDROID_REALTIME
नामक तालिका में होगा
तालिकाओं में डेवलपर्स द्वारा परिभाषित किसी भी कस्टम क्रैशलिटिक्स कुंजी के अलावा क्रैशलिटिक्स डेटा का एक मानक सेट होता है।
पंक्तियों
तालिका की प्रत्येक पंक्ति उस त्रुटि को दर्शाती है जिसका सामना ऐप को करना पड़ा।
कॉलम
किसी तालिका में कॉलम क्रैश, गैर-घातक त्रुटियों और ANR के लिए समान हैं। यदि Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम है, तो रीयलटाइम तालिका में बैच तालिका के समान कॉलम होंगे। निर्यात के भीतर कॉलम नीचे सूचीबद्ध हैं।
स्टैक ट्रेस के बिना
पंक्तियों में मौजूद कॉलम जो स्टैक ट्रेस के बिना घटनाओं का प्रतिनिधित्व करते हैं।
कार्यक्षेत्र नाम | डेटा प्रकार | विवरण |
---|---|---|
प्लैटफ़ॉर्म | डोरी | ऐप्पल या एंड्रॉइड ऐप्स |
बंडल_पहचानकर्ता | डोरी | बंडल आईडी, उदाहरण के लिए com.google.gmail |
इवेंट_आईडी | डोरी | ईवेंट के लिए एक अद्वितीय आईडी |
घातक है | बूलियन | क्या ऐप क्रैश हो गया |
त्रुटि_प्रकार | डोरी | इवेंट का त्रुटि प्रकार (FATAL, NON_FATAL, ANR) |
मुद्दा_आईडी | डोरी | घटना से जुड़ा मुद्दा |
वैरिएंट_आईडी | डोरी | इस इवेंट से जुड़ा समस्या संस्करण ध्यान दें कि सभी घटनाओं में संबंधित समस्या भिन्न प्रकार की नहीं होती है। |
इवेंट_टाइमस्टैम्प | TIMESTAMP | जब घटना घटी |
उपकरण | अभिलेख | वह डिवाइस जिस पर घटना घटी |
उपकरण.निर्माता | डोरी | उपकरण निर्माता |
डिवाइस का मॉडल | डोरी | डिवाइस मॉडल |
डिवाइस.वास्तुकला | डोरी | X86_32, X86_64, ARMV7, ARM64, ARMV7S, या ARMV7K |
याद | अभिलेख | डिवाइस की मेमोरी स्थिति |
स्मृति.प्रयुक्त | INT64 | मेमोरी के बाइट्स का उपयोग किया गया |
स्मृति.मुक्त | INT65 | स्मृति के बाइट्स शेष हैं |
भंडारण | अभिलेख | डिवाइस का सतत भंडारण |
भंडारण.प्रयुक्त | INT64 | भंडारण के बाइट्स का उपयोग किया गया |
भंडारण.निःशुल्क | INT64 | भंडारण के बाइट्स शेष हैं |
ऑपरेटिंग सिस्टम | अभिलेख | डिवाइस पर OS का विवरण |
ऑपरेटिंग_सिस्टम.डिस्प्ले_संस्करण | डोरी | डिवाइस पर OS का संस्करण |
ऑपरेटिंग_सिस्टम.नाम | डोरी | डिवाइस पर OS का नाम |
ऑपरेटिंग_सिस्टम.संशोधन_स्थिति | डोरी | क्या डिवाइस को संशोधित किया गया है, उदाहरण के लिए जेलब्रेक/रूट किया गया (संशोधित या असंशोधित) |
ऑपरेटिंग_सिस्टम.प्रकार | डोरी | डिवाइस पर चलने वाले OS का प्रकार (उदाहरण के लिए, IOS, MACOS); केवल Apple प्लेटफ़ॉर्म ऐप्स के लिए उपलब्ध है |
ऑपरेटिंग_सिस्टम.डिवाइस_प्रकार | डोरी | डिवाइस का प्रकार (उदाहरण के लिए, मोबाइल, टैबलेट, टीवी, आदि); इसे "डिवाइस श्रेणी" के रूप में भी जाना जाता है |
आवेदन | अभिलेख | वह ऐप जिसने इवेंट जेनरेट किया |
एप्लिकेशन.बिल्ड_संस्करण | डोरी | ऐप का बिल्ड संस्करण |
एप्लिकेशन.डिस्प्ले_संस्करण | डोरी | |
उपयोगकर्ता | अभिलेख | वैकल्पिक: ऐप के उपयोगकर्ता के बारे में जानकारी एकत्र की गई |
उपयोगकर्ता नाम | डोरी | वैकल्पिक: उपयोगकर्ता का नाम |
उपयोगकर्ता.ईमेल | डोरी | वैकल्पिक: उपयोगकर्ता का ईमेल पता |
उपयोगकर्ता पहचान | डोरी | वैकल्पिक: उपयोगकर्ता से जुड़ी एक ऐप-विशिष्ट आईडी |
कस्टम_कुंजियाँ | दोहराया गया रिकॉर्ड | डेवलपर-परिभाषित कुंजी-मूल्य जोड़े |
कस्टम_की.कुंजी | डोरी | एक डेवलपर-परिभाषित कुंजी |
कस्टम_कुंजियाँ.मूल्य | डोरी | डेवलपर द्वारा परिभाषित मान |
इंस्टालेशन_यूयूआईडी | डोरी | एक आईडी जो एक अद्वितीय ऐप और डिवाइस इंस्टॉलेशन की पहचान करती है |
क्रैशलाईटिक्स_एसडीके_संस्करण | डोरी | क्रैशलिटिक्स एसडीके संस्करण जिसने ईवेंट उत्पन्न किया |
ऐप_ओरिएंटेशन | डोरी | पोर्ट्रेट, लैंडस्केप, फेस_अप, या फेस_डाउन |
डिवाइस_ओरिएंटेशन | डोरी | पोर्ट्रेट, लैंडस्केप, फेस_अप, या फेस_डाउन |
प्रक्रिया_स्थिति | डोरी | पृष्ठभूमि या अग्रभूमि |
लॉग | दोहराया गया रिकॉर्ड | सक्षम होने पर, क्रैशलाइटिक्स लॉगर द्वारा उत्पन्न टाइमस्टैम्प्ड लॉग संदेश |
लॉग.टाइमस्टैम्प | TIMESTAMP | जब लॉग बनाया गया था |
लॉग.संदेश | डोरी | लॉग किया गया संदेश |
ब्रेडक्रम्ब्स | दोहराया गया रिकॉर्ड | सक्षम होने पर टाइमस्टैम्प्ड Google Analytics ब्रेडक्रंब |
ब्रेडक्रम्ब्स.टाइमस्टैम्प | TIMESTAMP | ब्रेडक्रंब से संबद्ध टाइमस्टैम्प |
ब्रेडक्रम्ब्स.नाम | डोरी | ब्रेडक्रंब से जुड़ा नाम |
breadcrumbs.params | दोहराया गया रिकॉर्ड | ब्रेडक्रंब से जुड़े पैरामीटर |
breadcrumbs.params.key | डोरी | ब्रेडक्रंब से संबद्ध एक पैरामीटर कुंजी |
breadcrumbs.params.value | डोरी | ब्रेडक्रंब से संबद्ध एक पैरामीटर मान |
दोष_फ़्रेम | अभिलेख | फ़्रेम को क्रैश या त्रुटि के मूल कारण के रूप में पहचाना गया |
दोष_फ़्रेम.लाइन | INT64 | फ़्रेम की फ़ाइल की पंक्ति संख्या |
दोष_फ़्रेम.फ़ाइल | डोरी | फ़्रेम फ़ाइल का नाम |
दोष_फ़्रेम.प्रतीक | डोरी | हाइड्रेटेड प्रतीक, या कच्चा प्रतीक यदि यह अनहाइड्रेटेबल है |
दोष_फ़्रेम.ऑफ़सेट | INT64 | बाइट उस बाइनरी छवि में ऑफसेट हो जाती है जिसमें कोड होता है, जावा अपवादों के लिए अनसेट |
दोष_फ़्रेम.पता | INT64 | बाइनरी छवि में वह पता जिसमें कोड है, जावा फ़्रेम के लिए अनसेट है |
दोष_फ़्रेम.लाइब्रेरी | डोरी | लाइब्रेरी का प्रदर्शन नाम जिसमें फ़्रेम शामिल है |
दोष_फ़्रेम.स्वामी | डोरी | डेवलपर, विक्रेता, रनटाइम, प्लेटफ़ॉर्म, या सिस्टम |
दोष_फ़्रेम.दोषी | बूलियन | क्या क्रैशलिटिक्स के विश्लेषण ने निर्धारित किया कि यह फ़्रेम क्रैश या त्रुटि का कारण है |
अपवाद | दोहराया गया रिकॉर्ड | केवल Android: इस इवेंट के दौरान हुए अपवाद। नेस्टेड अपवादों को उल्टे कालानुक्रमिक क्रम में प्रस्तुत किया जाता है (पढ़ें: अंतिम रिकॉर्ड फेंका गया पहला अपवाद है) |
अपवाद.प्रकार | डोरी | अपवाद प्रकार, उदाहरण के लिए java.lang.IllegalStateException |
अपवाद.अपवाद_संदेश | डोरी | अपवाद से संबद्ध एक संदेश |
अपवाद.नेस्टेड | बूलियन | अंतिम फेंके गए अपवाद (यानी पहला रिकॉर्ड) को छोड़कर सभी के लिए सही है |
अपवाद.शीर्षक | डोरी | धागे का शीर्षक |
अपवाद.उपशीर्षक | डोरी | धागे का उपशीर्षक |
अपवाद.दोषी | बूलियन | यदि क्रैशलाइटिक्स यह निर्धारित करता है कि त्रुटि या दुर्घटना के लिए अपवाद जिम्मेदार है तो यह सत्य है |
अपवाद.फ़्रेम | दोहराया गया रिकॉर्ड | अपवाद से जुड़े फ़्रेम |
अपवाद.frames.line | INT64 | फ़्रेम की फ़ाइल की पंक्ति संख्या |
अपवाद.फ़्रेम.फ़ाइल | डोरी | फ़्रेम फ़ाइल का नाम |
अपवाद.फ़्रेम.प्रतीक | डोरी | हाइड्रेटेड प्रतीक, या कच्चा प्रतीक यदि यह अनहाइड्रेटेबल है |
अपवाद.फ़्रेम.ऑफ़सेट | INT64 | बाइट उस बाइनरी छवि में ऑफसेट हो जाती है जिसमें कोड होता है, जावा अपवादों के लिए अनसेट |
अपवाद.फ़्रेम.पता | INT64 | बाइनरी छवि में वह पता जिसमें कोड है, जावा फ़्रेम के लिए अनसेट है |
अपवाद.फ़्रेम.लाइब्रेरी | डोरी | लाइब्रेरी का प्रदर्शन नाम जिसमें फ़्रेम शामिल है |
अपवाद.फ़्रेम.स्वामी | डोरी | डेवलपर, विक्रेता, रनटाइम, प्लेटफ़ॉर्म, या सिस्टम |
अपवाद.फ़्रेम.दोषी | बूलियन | क्या क्रैशलिटिक्स के विश्लेषण ने निर्धारित किया कि यह फ़्रेम क्रैश या त्रुटि का कारण है |
गलती | दोहराया गया रिकॉर्ड | केवल Apple ऐप्स: गैर-घातक त्रुटियाँ |
त्रुटि.कतार_नाम | डोरी | वह कतार जिस पर धागा चल रहा था |
त्रुटि कोड | INT64 | ऐप के कस्टम लॉग NSError से जुड़ा त्रुटि कोड |
त्रुटि.शीर्षक | डोरी | धागे का शीर्षक |
त्रुटि.उपशीर्षक | डोरी | धागे का उपशीर्षक |
त्रुटि.दोषी | बूलियन | क्या क्रैशलिटिक्स के विश्लेषण ने निर्धारित किया कि यह फ़्रेम त्रुटि का कारण है |
त्रुटि.फ़्रेम | दोहराया गया रिकॉर्ड | स्टैकट्रेस के फ्रेम |
error.frames.line | INT64 | फ़्रेम की फ़ाइल की पंक्ति संख्या |
त्रुटि.फ़्रेम्स.फ़ाइल | डोरी | फ़्रेम फ़ाइल का नाम |
त्रुटि.फ़्रेम.प्रतीक | डोरी | हाइड्रेटेड प्रतीक, या कच्चा प्रतीक यदि यह अनहाइड्रेटेबल है |
त्रुटि.फ़्रेम्स.ऑफ़सेट | INT64 | बाइट उस बाइनरी छवि में ऑफसेट हो जाती है जिसमें कोड होता है |
त्रुटि.फ़्रेम.पता | INT64 | बाइनरी छवि में वह पता जिसमें कोड है |
त्रुटि.फ़्रेम्स.लाइब्रेरी | डोरी | लाइब्रेरी का प्रदर्शन नाम जिसमें फ़्रेम शामिल है |
त्रुटि.फ़्रेम्स.स्वामी | डोरी | डेवलपर, विक्रेता, रनटाइम, प्लेटफ़ॉर्म, या सिस्टम |
त्रुटि.फ़्रेम.दोषी | बूलियन | क्या क्रैशलिटिक्स के विश्लेषण ने निर्धारित किया कि यह फ़्रेम त्रुटि का कारण है |
धागे | दोहराया गया रिकॉर्ड | इवेंट के समय मौजूद थ्रेड्स |
धागे.दुर्घटनाग्रस्त | बूलियन | क्या धागा क्रैश हो गया |
threads.thread_name | डोरी | धागे का नाम |
threads.queue_name | डोरी | केवल Apple ऐप्स: वह कतार जिस पर थ्रेड चल रहा था |
threads.signal_name | डोरी | उस सिग्नल का नाम जिसके कारण ऐप क्रैश हुआ, केवल क्रैश हुए मूल थ्रेड पर मौजूद है |
threads.signal_code | डोरी | सिग्नल का कोड जिसके कारण ऐप क्रैश हुआ; केवल क्रैश हुए देशी धागों पर मौजूद है |
threads.crash_address | INT64 | उस सिग्नल का पता जिसके कारण एप्लिकेशन क्रैश हुआ; केवल क्रैश हुए देशी धागों पर मौजूद है |
threads.code | INT64 | केवल Apple ऐप्स: एप्लिकेशन के कस्टम लॉग NSError का त्रुटि कोड |
धागे.शीर्षक | डोरी | धागे का शीर्षक |
धागे.उपशीर्षक | डोरी | धागे का उपशीर्षक |
धागे.दोषी | बूलियन | क्या क्रैशलिटिक्स के विश्लेषण ने निर्धारित किया कि यह फ़्रेम क्रैश या त्रुटि का कारण है |
धागे.फ्रेम | दोहराया गया रिकॉर्ड | धागे के फ्रेम |
threads.frames.line | INT64 | फ़्रेम की फ़ाइल की पंक्ति संख्या |
threads.frames.file | डोरी | फ़्रेम फ़ाइल का नाम |
धागे.फ्रेम.प्रतीक | डोरी | हाइड्रेटेड प्रतीक, या कच्चा प्रतीक यदि यह अनहाइड्रेटेबल है |
थ्रेड्स.फ़्रेम्स.ऑफ़सेट | INT64 | बाइट उस बाइनरी छवि में ऑफसेट हो जाती है जिसमें कोड होता है |
धागे.फ्रेम.पता | INT64 | बाइनरी छवि में वह पता जिसमें कोड है |
थ्रेड्स.फ़्रेम्स.लाइब्रेरी | डोरी | लाइब्रेरी का प्रदर्शन नाम जिसमें फ़्रेम शामिल है |
धागे.फ्रेम.मालिक | डोरी | डेवलपर, विक्रेता, रनटाइम, प्लेटफ़ॉर्म, या सिस्टम |
धागे.फ्रेम.दोषी | बूलियन | क्या क्रैशलिटिक्स के विश्लेषण ने निर्धारित किया कि यह फ़्रेम त्रुटि का कारण है |
Unity_metadata.unity_version | डोरी | इस डिवाइस पर यूनिटी का संस्करण चल रहा है |
Unity_metadata.debug_build | बूलियन | यदि यह एक डिबग बिल्ड है |
Unity_metadata.processor_type | डोरी | प्रोसेसर का प्रकार |
यूनिटी_मेटाडेटा.प्रोसेसर_काउंट | INT64 | प्रोसेसर की संख्या (कोर) |
यूनिटी_मेटाडेटा.प्रोसेसर_फ़्रीक्वेंसी_एमएचजेड | INT64 | मेगाहर्ट्ज में प्रोसेसर की आवृत्ति |
Unity_metadata.system_memory_size_mb | INT64 | सिस्टम की मेमोरी का आकार एमबी में |
Unity_metadata.graphics_memory_size_mb | INT64 | एमबी में ग्राफिक्स मेमोरी |
Unity_metadata.graphics_device_id | INT64 | ग्राफ़िक्स डिवाइस का पहचानकर्ता |
Unity_metadata.graphics_device_vendor_id | INT64 | ग्राफ़िक्स प्रोसेसर के विक्रेता की पहचानकर्ता |
Unity_metadata.graphics_device_name | डोरी | ग्राफ़िक्स डिवाइस का नाम |
Unity_metadata.graphics_device_vendor | डोरी | ग्राफ़िक्स डिवाइस का विक्रेता |
Unity_metadata.graphics_device_version | डोरी | ग्राफ़िक्स डिवाइस का संस्करण |
Unity_metadata.graphics_device_type | डोरी | ग्राफ़िक्स डिवाइस का प्रकार |
Unity_metadata.graphics_shader_level | INT64 | ग्राफ़िक्स का शेडर स्तर |
Unity_metadata.graphics_render_target_count | INT64 | ग्राफ़िकल रेंडरिंग लक्ष्यों की संख्या |
Unity_metadata.graphics_copy_texture_support | डोरी | यूनिटी एपीआई में परिभाषित ग्राफिक्स बनावट की प्रतिलिपि बनाने के लिए समर्थन |
Unity_metadata.graphics_max_texture_size | INT64 | बनावट प्रस्तुत करने के लिए समर्पित अधिकतम आकार |
Unity_metadata.screen_size_px | डोरी | स्क्रीन का आकार पिक्सेल में, चौड़ाई x ऊँचाई के रूप में स्वरूपित |
Unity_metadata.screen_resolution_dpi | डोरी | फ़्लोटिंग पॉइंट नंबर के रूप में स्क्रीन की डीपीआई |
Unity_metadata.screen_refresh_rate_hz | INT64 | स्क्रीन की ताज़ा दर Hz में |
डेटा स्टूडियो के साथ निर्यातित क्रैशलिटिक्स डेटा को विज़ुअलाइज़ करना
Google डेटा स्टूडियो आपके क्रैशलिटिक्स डेटासेट को BigQuery में उन रिपोर्टों में बदल देता है जो पढ़ने में आसान, साझा करने में आसान और पूरी तरह से अनुकूलन योग्य हैं।
डेटा स्टूडियो का उपयोग करने के बारे में अधिक जानने के लिए, डेटा स्टूडियो क्विकस्टार्ट गाइड, डेटा स्टूडियो में आपका स्वागत है, आज़माएँ।
क्रैशलिटिक्स रिपोर्ट टेम्पलेट का उपयोग करना
डेटा स्टूडियो के पास क्रैशलिटिक्स के लिए एक नमूना रिपोर्ट है जिसमें निर्यातित क्रैशलिटिक्स बिगक्वेरी स्कीमा से आयामों और मैट्रिक्स का एक व्यापक सेट शामिल है। यदि आपने Crashlytics BigQuery स्ट्रीमिंग निर्यात को सक्षम किया है, तो आप उस डेटा को डेटा स्टूडियो टेम्पलेट के रीयलटाइम ट्रेंड पेज पर देख सकते हैं। आप अपने ऐप के कच्चे क्रैश डेटा के आधार पर नई रिपोर्ट और विज़ुअलाइज़ेशन को तुरंत बनाने के लिए टेम्पलेट के रूप में नमूने का उपयोग कर सकते हैं:
- क्रैशलिटिक्स डेटा स्टूडियो डैशबोर्ड टेम्पलेट खोलें।
- ऊपरी-दाएँ कोने में टेम्पलेट का उपयोग करें पर क्लिक करें।
- नए डेटा स्रोत ड्रॉपडाउन में, नया डेटा स्रोत बनाएं चुनें।
- BigQuery कार्ड पर चयन करें पर क्लिक करें.
- My Projects > [your-project-name] > firebase_crashlytics > [your-table-name] चुनकर निर्यातित Crashlytics डेटा वाली तालिका चुनें। आपकी बैच तालिका हमेशा चयन के लिए उपलब्ध है; यदि Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम है, तो आप इसके बजाय अपनी रीयलटाइम तालिका का चयन कर सकते हैं।
- कॉन्फ़िगरेशन के अंतर्गत, क्रैशलाईटिक्स टेम्पलेट स्तर को डिफ़ॉल्ट पर सेट करें।
- नया डेटा स्रोत बनाने के लिए कनेक्ट पर क्लिक करें।
- क्रैशलिटिक्स टेम्पलेट पर लौटने के लिए रिपोर्ट में जोड़ें पर क्लिक करें।
- अंत में, क्रैशलिटिक्स डेटा स्टूडियो डैशबोर्ड टेम्पलेट की अपनी प्रति बनाने के लिए रिपोर्ट बनाएं पर क्लिक करें।