प्रदर्शन निगरानी डेटा को BigQuery में निर्यात करें

आप आगे के विश्लेषण के लिए Apple और Android ऐप्स से प्रदर्शन मॉनिटरिंग डेटा को BigQuery में निर्यात कर सकते हैं। BigQuery आपको BigQuery SQL का उपयोग करके डेटा का विश्लेषण करने, इसे किसी अन्य क्लाउड प्रदाता को निर्यात करने और यहां तक ​​कि अपने कस्टम ML मॉडल के लिए डेटा का उपयोग करने की अनुमति देता है।

BigQuery निर्यात सक्षम करें

  1. फायरबेस कंसोल में इंटीग्रेशन पेज पर जाएं, फिर BigQuery कार्ड में लिंक पर क्लिक करें।

  2. 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")
  • एंड्रॉइड के लिए - VersionName
  • आईओएस के लिए - CFBundleShortVersionString
ऐप_बिल्ड_संस्करण डोरी एप्लिकेशन का संस्करण बनाएं (उदाहरण के लिए, "1523456")
  • एंड्रॉइड के लिए - VersionCode
  • आईओएस के लिए - CFBundleVersion
ओएस_संस्करण डोरी क्लाइंट डिवाइस का OS संस्करण
  • एंड्रॉइड के लिए - एंड्रॉइड एपीआई स्तर (उदाहरण के लिए "26")
  • आईओएस के लिए - आईओएस संस्करण (उदाहरण के लिए "11.4")
डिवाइस का नाम डोरी क्लाइंट डिवाइस का नाम (उदाहरण के लिए, "Google Pixel")
देश डोरी उस देश का दो-अक्षर वाला देश कोड जहां से घटना हुई थी (उदाहरण के लिए, "US", या अज्ञात देश के लिए "ZZ")
वाहक डोरी क्लाइंट डिवाइस का वाहक
रेडियो_प्रकार डोरी घटना घटित होने पर सक्रिय रेडियो प्रकार (उदाहरण के लिए, "वाईफ़ाई")
कस्टम_विशेषताएँ सारणी<रिकॉर्ड> इस ईवेंट से जुड़ी सभी कस्टम विशेषताएँ
Custom_attributes.key डोरी कस्टम विशेषता की कुंजी
कस्टम_विशेषताएँ.मान डोरी कस्टम विशेषता का मान
घटना प्रकार डोरी घटना का प्रकार; संभावित मान:
  • DURATION_TRACE - ट्रेस जो डिफ़ॉल्ट रूप से, "अवधि" की मीट्रिक एकत्र करते हैं, जिसमें ऐप स्टार्ट, ऐप-इन-फोरग्राउंड और ऐप-इन-बैकग्राउंड, साथ ही किसी भी डेवलपर-इंस्ट्रूमेंटेड कस्टम कोड ट्रेस शामिल हैं
  • SCREEN_TRACE - स्क्रीन के जीवनकाल तक फैले निशान (स्क्रीन रेंडरिंग निशान)
  • TRACE_METRIC - कस्टम मेट्रिक्स जो डेवलपर-इंस्ट्रूमेंटेड कस्टम कोड ट्रेस से जुड़े हैं
  • NETWORK_REQUEST - नेटवर्क अनुरोध के जीवनकाल तक फैले निशान (HTTP नेटवर्क अनुरोध निशान)
घटना नाम डोरी घटना का नाम
  • DURATION_TRACE के लिए - नाम ट्रेस करें
  • TRACE_METRIC के लिए - कस्टम मीट्रिक नाम
  • SCREEN_TRACE के लिए - _st_ के बाद ट्रेस नाम आता है
  • NETWORK_REQUEST के लिए - नेटवर्क अनुरोध URL पैटर्न
पेरेंट_ट्रेस_नाम डोरी मूल ट्रेस का नाम जो ट्रेस मीट्रिक को वहन करता है
केवल TRACE_METRIC के लिए मौजूद है
ट्रेस_जानकारी अभिलेख केवल DURATION_TRACE , SCREEN_TRACE , और TRACE_METRIC के लिए मौजूद है
ट्रेस_जानकारी.अवधि_हमें int64
  • DURATION_TRACE और SCREEN_TRACE के लिए - ट्रेस की शुरुआत से अंत तक समय की लंबाई ("अवधि")
  • TRACE_METRIC के लिए - मूल ट्रेस की शुरुआत से अंत तक समय की लंबाई ("अवधि")
इकाई: माइक्रोसेकंड
ट्रेस_जानकारी.स्क्रीन_जानकारी अभिलेख केवल 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 सैंडबॉक्स देखें।