आप आगे के विश्लेषण के लिए Apple और Android ऐप्स से प्रदर्शन मॉनिटरिंग डेटा को BigQuery में निर्यात कर सकते हैं। BigQuery आपको BigQuery SQL का उपयोग करके डेटा का विश्लेषण करने, इसे किसी अन्य क्लाउड प्रदाता को निर्यात करने और यहां तक कि अपने कस्टम ML मॉडल के लिए डेटा का उपयोग करने की अनुमति देता है।
BigQuery निर्यात सक्षम करें
फायरबेस कंसोल में इंटीग्रेशन पेज पर जाएं, फिर BigQuery कार्ड में लिंक पर क्लिक करें।
BigQuery को सक्षम करने के लिए ऑन-स्क्रीन निर्देशों का पालन करें।
जब आप प्रदर्शन निगरानी के लिए BigQuery निर्यात सक्षम करते हैं, तो निम्न होता है:
Firebase आपके मौजूदा डेटा की एक प्रति BigQuery पर निर्यात करता है । निर्यात के लिए डेटा के प्रारंभिक प्रसार को पूरा होने में 48 घंटे तक का समय लग सकता है।
- आप मैन्युअल रूप से पिछले 30 दिनों तक या सबसे हाल की तारीख तक डेटा बैकफ़िल शेड्यूल कर सकते हैं जब आपने BigQuery निर्यात सक्षम किया था (जो भी सबसे हाल का हो)।
डेटासेट बनने के बाद, स्थान नहीं बदला जा सकता है, लेकिन आप डेटासेट को किसी भिन्न स्थान पर कॉपी कर सकते हैं या मैन्युअल रूप से डेटासेट को किसी भिन्न स्थान पर ले जा सकते हैं (पुनः बना सकते हैं)। अधिक जानने के लिए, डेटासेट स्थान बदलें देखें।
Firebase आपके Firebase प्रोजेक्ट से BigQuery तक आपके डेटा का नियमित सिंक सेट करता है। ये दैनिक निर्यात कार्य आमतौर पर निर्धारित होने के 24 घंटों में समाप्त हो जाते हैं।
डिफ़ॉल्ट रूप से, आपके प्रोजेक्ट के सभी ऐप्स BigQuery से लिंक हैं। कोई भी ऐप जिसे आप बाद में प्रोजेक्ट में जोड़ते हैं वह स्वचालित रूप से BigQuery से लिंक हो जाता है। आप यह प्रबंधित कर सकते हैं कि कौन से ऐप्स डेटा भेजते हैं ।
BigQuery निर्यात को निष्क्रिय करने के लिए, अपने प्रोजेक्ट को फायरबेस कंसोल में अनलिंक करें ।
BigQuery पर कौन सा डेटा निर्यात किया जाता है?
प्रोजेक्ट में प्रत्येक ऐप के लिए, निर्यात एक तालिका बनाता है जिसमें सभी कैप्चर किए गए प्रदर्शन ईवेंट शामिल होते हैं। तालिका में प्रत्येक पंक्ति एक एकल प्रदर्शन घटना है जो निम्नलिखित में से एक हो सकती है:
अवधि ट्रेस - ट्रेस जो डिफ़ॉल्ट रूप से, "अवधि" की मीट्रिक एकत्र करते हैं, जिसमें ऐप प्रारंभ, ऐप-इन-फोरग्राउंड और ऐप-इन-बैकग्राउंड, साथ ही किसी भी डेवलपर-इंस्ट्रूमेंटेड कस्टम कोड ट्रेस शामिल हैं
-
event_type
DURATION_TRACE
है -
event_name
ट्रेस नाम के समान है
-
ट्रेस मेट्रिक - कस्टम मेट्रिक्स जो डेवलपर-इंस्ट्रूमेंटेड कस्टम कोड ट्रेस से जुड़े होते हैं
-
event_type
TRACE_METRIC
है -
event_name
मीट्रिक का नाम है -
parent_trace_name
वह ट्रेस नाम है जिसमें यह मीट्रिक शामिल है
-
स्क्रीन ट्रेस - स्क्रीन के जीवनकाल तक फैले निशान (स्क्रीन रेंडरिंग निशान)
-
event_type
SCREEN_TRACE
है -
event_name
उपसर्ग_st_
प्लस वास्तविक स्क्रीन नाम है
-
नेटवर्क अनुरोध - नेटवर्क अनुरोध के जीवनकाल तक फैले निशान (HTTP नेटवर्क अनुरोध निशान)
-
event_type
NETWORK_REQUEST
है -
event_name
नेटवर्क अनुरोध यूआरएल का वर्गीकृत पैटर्न है
-
प्रत्येक प्रदर्शन ईवेंट में ईवेंट की विशेषताएं (जैसे देश और क्लाइंट डिवाइस का वाहक), साथ ही ईवेंट-विशिष्ट जानकारी शामिल होती है:
- अवधि ट्रेस, ट्रेस मेट्रिक्स और स्क्रीन ट्रेस में
trace_info
होता है - ट्रेस मेट्रिक्स में
trace_info.metric_info
होता है - स्क्रीन ट्रेस में
trace_info.screen_info
शामिल है - नेटवर्क ट्रेस में
network_info
होता है
विस्तृत डेटा स्कीमा
कार्यक्षेत्र नाम | प्रकार | विवरण |
---|---|---|
इवेंट_टाइमस्टैम्प | TIMESTAMP | युग के बाद से टाइमस्टैम्प जब इवेंट क्लाइंट डिवाइस पर शुरू हुआ (ट्रेस स्टार्ट, नेटवर्क स्टार्ट, आदि) |
ऐप_डिस्प्ले_संस्करण | डोरी | एप्लिकेशन का प्रदर्शन संस्करण (उदाहरण के लिए, "4.1.7")
|
ऐप_बिल्ड_संस्करण | डोरी | एप्लिकेशन का संस्करण बनाएं (उदाहरण के लिए, "1523456")
|
ओएस_संस्करण | डोरी | क्लाइंट डिवाइस का OS संस्करण
|
डिवाइस का नाम | डोरी | क्लाइंट डिवाइस का नाम (उदाहरण के लिए, "Google Pixel") |
देश | डोरी | उस देश का दो-अक्षर वाला देश कोड जहां से घटना हुई थी (उदाहरण के लिए, "US", या अज्ञात देश के लिए "ZZ") |
वाहक | डोरी | क्लाइंट डिवाइस का वाहक |
रेडियो_प्रकार | डोरी | घटना घटित होने पर सक्रिय रेडियो प्रकार (उदाहरण के लिए, "वाईफ़ाई") |
कस्टम_विशेषताएँ | सारणी<रिकॉर्ड> | इस ईवेंट से जुड़ी सभी कस्टम विशेषताएँ |
Custom_attributes.key | डोरी | कस्टम विशेषता की कुंजी |
कस्टम_विशेषताएँ.मान | डोरी | कस्टम विशेषता का मान |
घटना प्रकार | डोरी | घटना का प्रकार; संभावित मान:
|
घटना नाम | डोरी | घटना का नाम
|
पेरेंट_ट्रेस_नाम | डोरी | मूल ट्रेस का नाम जो ट्रेस मीट्रिक को वहन करता है केवल TRACE_METRIC के लिए मौजूद है |
ट्रेस_जानकारी | अभिलेख | केवल DURATION_TRACE , SCREEN_TRACE , और TRACE_METRIC के लिए मौजूद है |
ट्रेस_जानकारी.अवधि_हमें | int64 |
|
ट्रेस_जानकारी.स्क्रीन_जानकारी | अभिलेख | केवल SCREEN_TRACE के लिए मौजूद है |
ट्रेस_जानकारी.स्क्रीन_जानकारी.धीमा_फ्रेम_अनुपात | फ्लोट64 | इस स्क्रीन ट्रेस के लिए धीमे फ़्रेम का अनुपात, 0 और 1 के बीच (उदाहरण के लिए, 0.05 के मान का मतलब है कि इस स्क्रीन इंस्टेंस के लिए 5% फ़्रेम को रेंडर करने में 16ms से अधिक समय लगा) |
ट्रेस_जानकारी.स्क्रीन_जानकारी.फ्रोजन_फ्रेम_अनुपात | फ्लोट64 | इस स्क्रीन ट्रेस के लिए जमे हुए फ़्रेमों का अनुपात, 0 और 1 के बीच (उदाहरण के लिए, 0.05 के मान का मतलब है कि इस स्क्रीन इंस्टेंस के लिए 5% फ़्रेमों को प्रस्तुत करने में 700ms से अधिक समय लगा) |
ट्रेस_इन्फो.मेट्रिक_इन्फो | अभिलेख | केवल TRACE_METRIC के लिए मौजूद है |
ट्रेस_इन्फो.मेट्रिक_इन्फो.मेट्रिक_वैल्यू | int64 | ट्रेस मीट्रिक का मान |
नेटवर्क जानकारी | अभिलेख | केवल NETWORK_REQUEST के लिए प्रस्तुत है |
नेटवर्क_जानकारी.प्रतिक्रिया_कोड | int64 | नेटवर्क प्रतिक्रिया के लिए HTTP प्रतिक्रिया कोड (उदाहरण के लिए, 200, 404) |
नेटवर्क_जानकारी.प्रतिक्रिया_मीम_प्रकार | डोरी | नेटवर्क प्रतिक्रिया का MIME प्रकार (उदाहरण के लिए, "टेक्स्ट/एचटीएमएल") |
नेटवर्क_जानकारी.अनुरोध_http_विधि | डोरी | नेटवर्क अनुरोध की HTTP विधि (उदाहरण के लिए, "प्राप्त करें" या "पोस्ट") |
नेटवर्क_जानकारी.अनुरोध_पेलोड_बाइट्स | int64 | नेटवर्क अनुरोध पेलोड का आकार इकाई: बाइट |
नेटवर्क_जानकारी.प्रतिक्रिया_पेलोड_बाइट्स | int64 | नेटवर्क प्रतिक्रिया पेलोड का आकार इकाई: बाइट |
नेटवर्क_इन्फो.request_completed_time_us | int64 | event_timestamp के बाद माइक्रोसेकंड जब नेटवर्क अनुरोध भेजना पूरा हो जाता हैइकाई: माइक्रोसेकंड |
नेटवर्क_जानकारी.प्रतिक्रिया_आरंभ_समय_हम | int64 | event_timestamp के बाद माइक्रोसेकंड जब नेटवर्क प्रतिक्रिया शुरू की जाती हैइकाई: माइक्रोसेकंड |
नेटवर्क_जानकारी.प्रतिक्रिया_पूर्ण_समय_हम | int64 | event_timestamp के बाद माइक्रोसेकंड जब नेटवर्क प्रतिक्रिया पूरी हो जाती हैइकाई: माइक्रोसेकंड |
आप निर्यात किए गए डेटा के साथ क्या कर सकते हैं?
निम्नलिखित अनुभाग उन क्वेरीज़ के उदाहरण प्रस्तुत करते हैं जिन्हें आप अपने निर्यातित प्रदर्शन मॉनिटरिंग डेटा के विरुद्ध BigQuery में चला सकते हैं।
देश के अनुसार औसत ऐप प्रारंभ विलंबता ब्रेक-डाउन देखें
SELECT AVG(trace_info.duration_us), country FROM `TABLE_NAME` WHERE _PARTITIONTIME > TIMESTAMP("YYYY-MM-DD") AND event_type = "DURATION_TRACE" AND event_name = "_app_start" GROUP BY 2;
विभिन्न स्थितियों के विरुद्ध जमे हुए फ़्रेमों के अनुपात की जाँच करें
उदाहरण के लिए, आप विभिन्न रेडियो प्रकारों (वाईफाई, 4जी, आदि) पर अपने ऐप की प्रत्येक स्क्रीन पर उपयोगकर्ताओं द्वारा बिताए गए समय के साथ-साथ जमे हुए फ़्रेमों के अनुपात की जांच कर सकते हैं।
SELECT AVG(trace_info.duration_us / 1000000) AS seconds_on_screen, AVG(trace_info.screen_info.frozen_frame_ratio) AS frozen_frame_ratio, event_name, radio_type FROM `TABLE_NAME` WHERE _PARTITIONTIME > TIMESTAMP("YYYY-MM-DD") AND event_type = "SCREEN_TRACE" GROUP BY event_name, radio_type ORDER BY event_name, radio_type;
डिस्क से कुछ प्रकार की फ़ाइलें लोड करने के लिए कैश हिट दर की गणना करें
यह विश्लेषण मानता है कि आपने file-extension
नामक एक कस्टम विशेषता और cache-hit
नामक एक कस्टम मीट्रिक ( TRACE_METRIC
) के साथ डिस्क से लोड करने के लिए एक कस्टम कोड ट्रेस तैयार किया है जो कैश हिट होने पर 1
और कैश मिस होने पर 0
पर सेट होता है।
उदाहरण के लिए, आप डिस्क से पीएनजी फ़ाइलें लोड करने के लिए कैश हिट दर की गणना कर सकते हैं:
SELECT AVG(trace_info.metric_info.metric_value) AS cache_hit_rate FROM `TABLE_NAME` WHERE _PARTITIONTIME > TIMESTAMP("YYYY-MM-DD") AND event_type = "TRACE_METRIC" AND event_name = "cache-hit" AND parent_trace_name = "loadFromDisk" AND STRUCT("file-extension", "png") IN UNNEST(custom_attributes);
दिन के उस समय की जाँच करें जब उपयोगकर्ता नेटवर्क अनुरोध जारी करते हैं
उदाहरण के लिए, आप देख सकते हैं कि संयुक्त राज्य अमेरिका के उपयोगकर्ता दिन के किस समय आपके ऐप से नेटवर्क अनुरोध जारी करते हैं:
SELECT count(1) AS hourly_count, EXTRACT(HOUR FROM event_timestamp) AS hour_of_day FROM `TABLE_NAME` WHERE _PARTITIONTIME > TIMESTAMP("YYYY-MM-DD") AND event_type = "NETWORK_REQUEST" AND country = "US" GROUP BY 2 ORDER BY 2;
अपना प्रदर्शन निगरानी डेटा कहीं भी ले जाएं
कभी-कभी आप अपने प्रदर्शन मॉनिटरिंग डेटा को सर्वर-साइड तक एक्सेस करना चाहते हैं या इसे किसी अन्य तृतीय-पक्ष समाधान पर धकेलना चाहते हैं। डेटा निर्यात करने के लिए वर्तमान में कोई शुल्क नहीं है।
आप अपना डेटा इसके द्वारा निर्यात कर सकते हैं:
BigQuery वेब यूआई का उपयोग करना
सीएलआई कमांड
bq extract
चला रहा हैएपीआई या क्लाइंट लाइब्रेरी के माध्यम से एक एक्सट्रैक्ट जॉब सबमिट करना।
मूल्य निर्धारण
प्रदर्शन मॉनिटरिंग से डेटा निर्यात करने के लिए कोई शुल्क नहीं है, और BigQuery उदारतापूर्वक बिना किसी लागत के उपयोग सीमा प्रदान करता है। विस्तृत जानकारी के लिए, BigQuery मूल्य निर्धारण या BigQuery सैंडबॉक्स देखें।