परफ़ॉर्मेंस मॉनिटर करने से जुड़े डेटा को BigQuery में एक्सपोर्ट करें

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

BigQuery Export चालू करें

  1. YouTube Studio के इंटिग्रेशन Firebase कंसोल में पेज खोलें. इसके बाद, BigQuery में लिंक करें पर क्लिक करें कार्ड.

  2. BigQuery को चालू करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.

    परफ़ॉर्मेंस मॉनिटर करने की सुविधा के लिए BigQuery एक्सपोर्ट चालू करने पर, ये काम किए जा सकते हैं होता है:

    • Firebase, यहां आपके मौजूदा डेटा की कॉपी एक्सपोर्ट करता है BigQuery. एक्सपोर्ट के लिए डेटा को शुरुआती तौर पर प्रोसेस होने में ज़्यादा समय लग सकता है पूरा होने में 48 घंटे लग सकते हैं.

    • डेटासेट बनाने के बाद, बदला नहीं जा सकता, लेकिन डेटासेट को किसी दूसरी जगह पर कॉपी किया जा सकता है या मैन्युअल तौर पर, डेटासेट को किसी दूसरी जगह पर ले जाएं (फिर से बनाएं). सीखने में ज़्यादा जानने के लिए, डेटासेट की जगह बदलना देखें.

    • Firebase, आपके Firebase प्रोजेक्ट से आपके डेटा को नियमित तौर पर सिंक करता है, ताकि BigQuery. रोज़ाना होने वाले ये एक्सपोर्ट, आम तौर पर 24 घंटों में पूरे हो जाते हैं उन्हें शेड्यूल किए जाने के बाद.

    • आपके प्रोजेक्ट के सभी ऐप्लिकेशन डिफ़ॉल्ट रूप से, BigQuery से लिंक होते हैं. कोई भी जिन ऐप्लिकेशन को बाद में प्रोजेक्ट में जोड़ा जाता है वे अपने-आप लिंक हो जाते हैं BigQuery. आप मैनेज करें कि कौनसे ऐप्लिकेशन डेटा भेजेंगे.

BigQuery Export बंद करने के लिए, अपना प्रोजेक्ट अनलिंक करना देखें.

BigQuery में कौनसा डेटा एक्सपोर्ट किया जाता है?

प्रोजेक्ट में मौजूद हर ऐप्लिकेशन के लिए, एक्सपोर्ट एक टेबल बनाता है. इस टेबल में, कैप्चर किए गए परफ़ॉर्मेंस इवेंट. टेबल की हर लाइन, सिर्फ़ एक परफ़ॉर्मेंस इवेंट है इनमें से कोई एक विकल्प मौजूद हो सकता है:

  • अवधि ट्रेस — ऐसे ट्रेस जो डिफ़ॉल्ट रूप से "अवधि", जिनमें ऐप्लिकेशन शुरू होने की अवधि, ऐप्लिकेशन में दिखने की सुविधा, और बैकग्राउंड में ऐप्लिकेशन इस्तेमाल करने की सुविधा शामिल हैं, डेवलपर के ज़रिए चलाए गए कस्टम कोड ट्रेस

    • event_type DURATION_TRACE है
    • event_name और ट्रेस का नाम एक जैसे हैं
  • ट्रेस मेट्रिक — ये कस्टम मेट्रिक होती हैं डेवलपर से जुड़े कस्टम कोड ट्रेस

    • event_type TRACE_METRIC है
    • event_name मेट्रिक का नाम है
    • parent_trace_name वह ट्रेस नाम है जिसमें यह मेट्रिक शामिल है
  • स्क्रीन ट्रेस — यह किसी स्क्रीन के कितने समय तक चलता है (स्क्रीन रेंडरिंग) ट्रेस)

    • event_type SCREEN_TRACE है
    • event_name, प्रीफ़िक्स _st_ और स्क्रीन का असल नाम है
  • नेटवर्क अनुरोध — यह पता लगाता है कि नेटवर्क अनुरोध कितने समय तक चल रहा है (एचटीटीपी नेटवर्क अनुरोध ट्रेस)

    • event_type NETWORK_REQUEST है
    • event_name, नेटवर्क अनुरोध यूआरएल का कैटगरी पैटर्न है

हर परफ़ॉर्मेंस इवेंट में इवेंट की विशेषताएं होती हैं (जैसे कि देश और मोबाइल और इंटरनेट सेवा देने वाली कंपनी) और इवेंट से जुड़ी जानकारी के लिए:

  • अवधि ट्रेस, ट्रेस मेट्रिक, और स्क्रीन ट्रेस में trace_info शामिल है
  • ट्रेस मेट्रिक में trace_info.metric_info शामिल है
  • स्क्रीन ट्रेस में trace_info.screen_info शामिल है
  • नेटवर्क ट्रेस में network_info शामिल है

ज़्यादा जानकारी वाला डेटा स्कीमा

फ़ील्ड का नाम टाइप जानकारी
event_timestamp timestamp क्लाइंट डिवाइस पर इवेंट शुरू होने के बाद से टाइमस्टैंप (ट्रेस स्टार्ट, नेटवर्क स्टार्ट वगैरह)
app_display_version स्ट्रिंग ऐप्लिकेशन का वर्शन दिखाएं (उदाहरण के लिए, "4.1.7")
  • Android के लिए — VersionName
  • iOS के लिए — CFBundleShortVersionString
app_build_version स्ट्रिंग ऐप्लिकेशन का बिल्ड वर्शन (उदाहरण के लिए, "1523456")
  • Android के लिए — VersionCode
  • iOS के लिए — CFBundleVersion
os_version स्ट्रिंग क्लाइंट डिवाइस का ओएस वर्शन
  • Android के लिए — Android API लेवल (उदाहरण के लिए, "26")
  • iOS — iOS वर्शन के लिए (उदाहरण के लिए "11.4")
device_name स्ट्रिंग क्लाइंट के डिवाइस का नाम (उदाहरण के लिए, "Google Pixel")
country स्ट्रिंग उस देश का दो अक्षर वाला देश कोड जहां से इवेंट हुआ हुआ हो सकता है (उदाहरण के लिए, "US" या अज्ञात देश के लिए "ZZ")
शिपिंग की सेवा देने वाली कंपनी स्ट्रिंग क्लाइंट डिवाइस को मोबाइल और इंटरनेट सेवा देने वाली कंपनी
रेडियो टाइप स्ट्रिंग इवेंट के दौरान चालू रेडियो टाइप (उदाहरण के लिए, "वाई-फ़ाई")
कस्टम एट्रिब्यूट आरे<रिकॉर्ड> इस इवेंट से जुड़े सभी कस्टम एट्रिब्यूट
custom_Attributes.key स्ट्रिंग कस्टम एट्रिब्यूट की कुंजी
कस्टम एट्रिब्यूट वैल्यू स्ट्रिंग कस्टम एट्रिब्यूट का मान
event_type स्ट्रिंग इवेंट का टाइप; संभावित वैल्यू:
  • DURATION_TRACE — ट्रेस जो इसके हिसाब से इकट्ठा करते हैं डिफ़ॉल्ट, "अवधि" की मेट्रिक, जिसमें ऐप्लिकेशन शुरू होने की अवधि, ऐप्लिकेशन-इन-फ़ोरग्राउंड, ऐप्लिकेशन-इन-बैकग्राउंड, और किसी भी समय डेवलपर से जुड़े कस्टम कोड ट्रेस
  • SCREEN_TRACE — के कुल समय में मौजूद ट्रेस स्क्रीन (स्क्रीन रेंडरिंग ट्रेस)
  • TRACE_METRIC — ऐसी कस्टम मेट्रिक जो डेवलपर से जुड़े कस्टम कोड ट्रेस से जुड़ा होता है
  • NETWORK_REQUEST — जीवन भर के ट्रेस एक नेटवर्क अनुरोध का (एचटीटीपी नेटवर्क अनुरोध ट्रेस)
event_name स्ट्रिंग इवेंट का नाम
  • DURATION_TRACE के लिए — ट्रेस का नाम
  • TRACE_METRIC के लिए — कस्टम मेट्रिक का नाम
  • SCREEN_TRACE के लिए — _st_ को फ़ॉलो किया गया ट्रेस के नाम के हिसाब से
  • NETWORK_REQUEST के लिए — नेटवर्क के अनुरोध का यूआरएल पैटर्न
पैरंट_trace_name स्ट्रिंग ट्रेस मेट्रिक को शामिल करने वाले पैरंट ट्रेस का नाम
सिर्फ़ TRACE_METRIC के लिए मौजूद
ट्रेस की जानकारी रिकॉर्ड सिर्फ़ DURATION_TRACE के लिए मौजूद है, SCREEN_TRACE, और TRACE_METRIC
ट्रेस_info.duration_us int64
  • DURATION_TRACE और SCREEN_TRACE के लिए — शुरुआत से लेकर आखिर तक, समय की अवधि ("अवधि") ट्रेस
  • TRACE_METRIC के लिए — कुल समय ("अवधि") पैरंट ट्रेस की शुरुआत से आखिर तक
यूनिट: माइक्रोसेकंड
Tres_info.screen_info रिकॉर्ड सिर्फ़ SCREEN_TRACE के लिए मौजूद
ट्रेस_info.screen_info.slow_frame_ratio फ़्लोट64 इस स्क्रीन ट्रेस के लिए रेंडर होने में ज़्यादा समय लेने वाले फ़्रेम का अनुपात, 0 और 1 के बीच होता है (उदाहरण के लिए, 0.05 वैल्यू का मतलब है कि इस स्क्रीन के लिए 5% फ़्रेम इंस्टेंस को रेंडर होने में 16 मि.से. से ज़्यादा समय लगा)
Tres_info.screen_info.frozen_frame_ratio फ़्लोट64 इस स्क्रीन ट्रेस के लिए 0 से 1 के बीच, रुके हुए फ़्रेम का अनुपात (उदाहरण के लिए, 0.05 वैल्यू का मतलब है कि इस स्क्रीन के लिए 5% फ़्रेम इंस्टेंस को रेंडर होने में 700 मि.से. से ज़्यादा समय लगा)
Tres_info.metric_info रिकॉर्ड सिर्फ़ TRACE_METRIC के लिए मौजूद
ट्रेस_info.metric_info.metric_value int64 ट्रेस मेट्रिक की वैल्यू
नेटवर्क की जानकारी रिकॉर्ड सिर्फ़ NETWORK_REQUEST के लिए मौजूद
network_info.response_code int64 नेटवर्क रिस्पॉन्स के लिए एचटीटीपी रिस्पॉन्स कोड (उदाहरण के लिए, 200, 404)
network_info.response_mime_type स्ट्रिंग नेटवर्क से मिले जवाब का MIME टाइप (उदाहरण के लिए, "text/html")
network_info.request_http_method स्ट्रिंग नेटवर्क अनुरोध का एचटीटीपी तरीका (उदाहरण के लिए, "GET" या "POST")
network_info.request_payload_bytes int64 नेटवर्क अनुरोध के पेलोड का साइज़
यूनिट: बाइट
network_info.response_payload_bytes 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;

अलग-अलग स्थितियों में, रुके हुए फ़्रेम के अनुपात की जांच करना

उदाहरण के लिए, आप फ़्रेम की मात्रा के साथ-साथ रुके हुए फ़्रेम का अनुपात भी देख सकते हैं. अलग-अलग तरह के रेडियो (वाई-फ़ाई, 4G वगैरह).

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 नाम की कस्टम एट्रिब्यूट और एक कस्टम मेट्रिक (a TRACE_METRIC) का नाम cache-hit है, जो कैश मेमोरी के हिट होने पर 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 वेब यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करना

  • सीएलआई कमांड को चलाया जा रहा है bq extract

  • सबमिट किया जा रहा है एक्सट्रैक्ट जॉब का इस्तेमाल किया जा सकता है.

कीमत

परफ़ॉर्मेंस मॉनिटर करने की सुविधा और BigQuery से डेटा एक्सपोर्ट करने पर कोई शुल्क नहीं लगता बिना कोई शुल्क दिए इस्तेमाल करने की बहुत ज़्यादा सीमाएं हैं. ज़्यादा जानकारी के लिए, इसे देखें BigQuery की कीमतें या BigQuery सैंडबॉक्स चुनें.