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