आगे के विश्लेषण के लिए आप Apple और Android ऐप्स से प्रदर्शन निगरानी डेटा BigQuery में निर्यात कर सकते हैं। BigQuery आपको BigQuery SQL का उपयोग करके डेटा का विश्लेषण करने, उसे किसी अन्य क्लाउड प्रदाता को निर्यात करने और यहां तक कि अपने कस्टम ML मॉडल के लिए डेटा का उपयोग करने की अनुमति देता है।
BigQuery निर्यात सक्षम करें
Firebase कंसोल में इंटीग्रेशन पेज पर जाएं, फिर BigQuery कार्ड में लिंक पर क्लिक करें.
BigQuery को सक्षम करने के लिए ऑन-स्क्रीन निर्देशों का पालन करें।
जब आप प्रदर्शन निगरानी के लिए BigQuery निर्यात सक्षम करते हैं:
Firebase आपके मौजूदा डेटा की एक कॉपी BigQuery को एक्सपोर्ट करता है .
आरंभिक लिंकिंग के समय, Firebase आपकी BigQuery तालिकाओं को पिछले 7 दिनों के डेटा को बैकफ़िल करने के लिए स्वचालित रूप से शेड्यूल करता है ताकि आप तुरंत प्रयोग शुरू कर सकें। BigQuery में आरंभिक डेटा उपलब्ध होने के लिए कुछ घंटों का समय दें.
आप पिछले 30 दिनों तक डेटा बैकफ़िल को मैन्युअल रूप से शेड्यूल भी कर सकते हैं।
डेटासेट बनने के बाद, स्थान बदला नहीं जा सकता है, लेकिन आप डेटासेट को किसी भिन्न स्थान पर कॉपी कर सकते हैं या मैन्युअल रूप से डेटासेट को किसी भिन्न स्थान पर ले जा सकते हैं (फिर से बना सकते हैं)। अधिक जानने के लिए, डेटासेट स्थान बदलें देखें।
Firebase आपके Firebase प्रोजेक्ट से BigQuery में आपके डेटा का नियमित समन्वयन सेट करता है. ये दैनिक निर्यात संचालन 4:00 AM प्रशांत समय से शुरू होते हैं और आमतौर पर 24 घंटों में समाप्त होते हैं।
डिफ़ॉल्ट रूप से, आपके प्रोजेक्ट के सभी ऐप BigQuery से लिंक होते हैं और आप बाद में प्रोजेक्ट में जो भी ऐप जोड़ते हैं, वे अपने आप BigQuery से लिंक हो जाते हैं। आप यह प्रबंधित कर सकते हैं कि कौन से ऐप्स डेटा भेजते हैं ।
BigQuery निर्यात को निष्क्रिय करने के लिए, अपने प्रोजेक्ट को Firebase कंसोल में अनलिंक करें ।
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
नेटवर्क अनुरोध URL का वर्गीकृत पैटर्न है
-
प्रत्येक प्रदर्शन ईवेंट में ईवेंट की विशेषताएं (जैसे देश और क्लाइंट डिवाइस का वाहक), साथ ही ईवेंट-विशिष्ट जानकारी शामिल होती है:
- अवधि ट्रेस, ट्रेस मेट्रिक्स और स्क्रीन ट्रेस में
trace_info
होता है - ट्रेस मेट्रिक्स में
trace_info.metric_info
होता है - स्क्रीन ट्रेस में
trace_info.screen_info
होता है - नेटवर्क ट्रेस में
network_info
होता है
विस्तृत डेटा स्कीमा
कार्यक्षेत्र नाम | प्रकार | विवरण |
---|---|---|
event_timestamp | TIMESTAMP | क्लाइंट डिवाइस (ट्रेस प्रारंभ, नेटवर्क प्रारंभ, आदि) पर ईवेंट प्रारंभ होने पर युग के बाद से टाइमस्टैम्प |
ऐप_डिस्प्ले_संस्करण | डोरी | एप्लिकेशन का प्रदर्शन संस्करण (उदाहरण के लिए, "4.1.7")
|
ऐप_बिल्ड_संस्करण | डोरी | एप्लिकेशन का संस्करण बनाएं (उदाहरण के लिए, "1523456")
|
ओएस_संस्करण | डोरी | क्लाइंट डिवाइस का OS संस्करण
|
यन्त्र का नाम | डोरी | क्लाइंट डिवाइस का नाम (उदाहरण के लिए, "Google Pixel") |
देश | डोरी | उस देश का दो-अक्षर वाला देश कोड जहां से ईवेंट हुआ था (उदाहरण के लिए, "US", या अज्ञात देश के लिए "ZZ") |
वाहक | डोरी | क्लाइंट डिवाइस का वाहक |
रेडियो_प्रकार | डोरी | घटना होने पर सक्रिय रेडियो प्रकार (उदाहरण के लिए, "वाईफ़ाई") |
कस्टम_विशेषताएं | ऐरे <रिकॉर्ड> | इस ईवेंट से जुड़ी सभी कस्टम विशेषताएं |
custom_attributes.key | डोरी | कस्टम विशेषता की कुंजी |
custom_attributes.value | डोरी | कस्टम विशेषता का मान |
घटना प्रकार | डोरी | घटना का प्रकार; संभावित मान:
|
घटना नाम | डोरी | घटना का नाम
|
जनक_ट्रेस_नाम | डोरी | मूल ट्रेस का नाम जो ट्रेस मीट्रिक को वहन करता है केवल TRACE_METRIC के लिए उपस्थित |
ट्रेस_जानकारी | अभिलेख | केवल DURATION_TRACE , SCREEN_TRACE , और TRACE_METRIC . के लिए उपस्थित |
ट्रेस_इन्फो.ड्यूरेशन_यूएस | इंट64 |
|
ट्रेस_इन्फो.स्क्रीन_इन्फो | अभिलेख | केवल SCREEN_TRACE के लिए उपस्थित |
ट्रेस_इन्फो.स्क्रीन_इन्फो.slow_frame_ratio | फ्लोट64 | इस स्क्रीन ट्रेस के लिए धीमे फ़्रेम का अनुपात, 0 और 1 के बीच (उदाहरण के लिए, 0.05 के मान का अर्थ है कि इस स्क्रीन इंस्टेंस के लिए 5% फ़्रेम को रेंडर होने में 16ms से अधिक समय लगा) |
ट्रेस_इन्फो.स्क्रीन_इन्फो.फ्रोजन_फ्रेम_अनुपात | फ्लोट64 | इस स्क्रीन ट्रेस के लिए फ़्रीज़ किए गए फ़्रेम का अनुपात, 0 और 1 के बीच (उदाहरण के लिए, 0.05 के मान का अर्थ है कि इस स्क्रीन इंस्टेंस के लिए 5% फ़्रेम को रेंडर करने में 700ms से अधिक समय लगा) |
ट्रेस_इन्फो.मेट्रिक_इन्फो | अभिलेख | केवल TRACE_METRIC के लिए उपस्थित |
ट्रेस_इन्फो.मेट्रिक_इन्फो.मेट्रिक_वैल्यू | इंट64 | ट्रेस मीट्रिक का मान |
नेटवर्क जानकारी | अभिलेख | केवल NETWORK_REQUEST के लिए उपस्थित |
network_info.response_code | इंट64 | नेटवर्क प्रतिक्रिया के लिए HTTP प्रतिक्रिया कोड (उदाहरण के लिए, 200, 404) |
network_info.response_mime_type | डोरी | नेटवर्क प्रतिक्रिया का MIME प्रकार (उदाहरण के लिए, "टेक्स्ट/एचटीएमएल") |
network_info.request_http_method | डोरी | नेटवर्क अनुरोध की HTTP विधि (उदाहरण के लिए, "GET" या "POST") |
network_info.request_payload_bytes | इंट64 | नेटवर्क अनुरोध पेलोड का आकार इकाई: बाइट |
network_info.response_payload_bytes | इंट64 | नेटवर्क प्रतिक्रिया पेलोड का आकार इकाई: बाइट |
network_info.request_completed_time_us | इंट64 | event_timestamp के बाद माइक्रोसेकंड जब नेटवर्क अनुरोध भेजना पूरा हो गया हैइकाई: माइक्रोसेकंड |
network_info.response_initiated_time_us | इंट64 | event_timestamp के बाद माइक्रोसेकंड जब नेटवर्क प्रतिक्रिया शुरू की जाती हैइकाई: माइक्रोसेकंड |
network_info.response_completed_time_us | इंट64 | नेटवर्क प्रतिक्रिया पूर्ण होने पर 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
पर सेट है।
उदाहरण के लिए, आप डिस्क से PNG फ़ाइलें लोड करने के लिए कैश हिट दर की गणना कर सकते हैं:
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 वेब UI का उपयोग करना
सीएलआई कमांड
bq extract
चलानाएपीआई या क्लाइंट लाइब्रेरी के माध्यम से एक्स्ट्रेक्ट जॉब सबमिट करना।
मूल्य निर्धारण
प्रदर्शन निगरानी से डेटा निर्यात करने के लिए कोई शुल्क नहीं है, और BigQuery उदार बिना लागत वाली उपयोग सीमाएँ प्रदान करता है। विस्तृत जानकारी के लिए, BigQuery मूल्य निर्धारण या BigQuery सैंडबॉक्स देखें।