Catch up on everthing we announced at this year's Firebase Summit. Learn more

বিগকোয়ারিতে পারফরম্যান্স মনিটরিং ডেটা রফতানি করুন

আপনি অ্যাপল কর্মক্ষমতা নিরীক্ষণের ডেটা রপ্তানি করতে পারেন এবং অ্যান্ড্রয়েড মধ্যে অ্যাপ BigQuery- তে আরও বিশ্লেষণের জন্য। BigQuery আপনাকে BigQuery SQL ব্যবহার করে ডেটা বিশ্লেষণ করতে, অন্য ক্লাউড প্রদানকারীর কাছে রপ্তানি করতে এবং এমনকি আপনার কাস্টম ML মডেলের জন্য ডেটা ব্যবহার করতে দেয়।

BigQuery এক্সপোর্ট চালু করুন

  1. যান ঐক্যবদ্ধতা Firebase কনসোলে পৃষ্ঠা, তারপর BigQuery- তে কার্ডে লিঙ্কে ক্লিক করুন।

  2. BigQuery সক্ষম করতে অন-স্ক্রীন নির্দেশাবলী অনুসরণ করুন।

আপনি যখন আপনার প্রকল্পকে BiqQuery-এর সাথে লিঙ্ক করবেন:

  • Firebase আপনার বিদ্যমান তথ্য একটি কপি রপ্তানি BigQuery- তে হবে।

    • প্রাথমিক লিঙ্ক করার সময়, Firebase স্বয়ংক্রিয়ভাবে গত 7 দিনের ডেটা ব্যাকফিল করার জন্য আপনার BigQuery টেবিলের সময়সূচী করে যাতে আপনি এখনই পরীক্ষা শুরু করতে পারেন। BigQuery-এ প্রাথমিক ডেটা উপলভ্য হওয়ার জন্য কয়েক ঘণ্টা সময় দিন।

    • আপনি এটিও করতে পারেন নিজে পূর্বনির্দিষ্ট ডেটা backfills গত 30 দিন পর্যন্ত সময় জন্য।

  • Firebase আপনার Firebase প্রকল্প থেকে BigQuery-এ আপনার ডেটার দৈনিক সিঙ্ক সেট আপ করে।

  • ডিফল্টরূপে, আপনার প্রোজেক্টের সমস্ত অ্যাপ BigQuery-এর সাথে লিঙ্ক করা থাকে এবং আপনি পরে প্রোজেক্টে যোগ করা যেকোন অ্যাপ স্বয়ংক্রিয়ভাবে BigQuery-এর সাথে লিঙ্ক হয়ে যায়। আপনি করতে পারেন কোন কোন অ্যাপ তথ্য পাঠাতে পরিচালনা

BigQuery- তে রপ্তানি নিষ্ক্রিয় করার জন্য, আপনার প্রকল্পের লিঙ্কমুক্ত Firebase কনসোলে।

BigQuery-এ কোন ডেটা রপ্তানি করা হয়?

প্রকল্পের প্রতিটি অ্যাপের জন্য, রপ্তানি একটি টেবিল তৈরি করে যাতে সমস্ত ক্যাপচার করা কর্মক্ষমতা ইভেন্ট অন্তর্ভুক্ত থাকে। টেবিলের প্রতিটি সারি একটি একক পারফরম্যান্স ইভেন্ট যা নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:

  • স্থিতিকাল ট্রেস - ট্রেস সংগ্রহ, ডিফল্ট অনুসারে, "সময়কাল" এর মেট্রিক, যা অ্যাপ্লিকেশান শুরু, অ্যাপ্লিকেশন-ইন-ফোরগ্রাউন্ড, এবং অ্যাপ্লিকেশান-ইন-পটভূমি, সেইসাথে যেকোন ডেভেলপার-instrumented কাস্টম কোড ট্রেস অন্তর্ভুক্ত

    • event_type হয় DURATION_TRACE
    • event_name ট্রেস নাম একই
  • মেট্রিক ট্রেস - যে ডেভেলপার-instrumented কাস্টম কোড ট্রেস সাথে সংযুক্ত করা হয় কাস্টম মেট্রিক্স

    • event_type হয় TRACE_METRIC
    • event_name মেট্রিক নাম
    • parent_trace_name ট্রেস নাম যে এই মেট্রিক রয়েছে
  • স্ক্রিন ট্রেস - একটি পর্দার জীবনকাল spanning ট্রেস (পর্দা রেন্ডারিং ট্রেস)

    • event_type হয় SCREEN_TRACE
    • event_name হয় উপসর্গ _st_ প্লাস প্রকৃত স্ক্রীনের নাম
  • নেটওয়ার্ক অনুরোধ - একটি নেটওয়ার্ক অনুরোধের জীবনকাল spanning ট্রেস (HTTP- র নেটওয়ার্ক অনুরোধের ট্রেস)

    • event_type হয় NETWORK_REQUEST
    • event_name নেটওয়ার্ক অনুরোধের URL এর শ্রেণীকরণ প্যাটার্ন

প্রতিটি পারফরম্যান্স ইভেন্টে ইভেন্টের বৈশিষ্ট্য রয়েছে (যেমন ক্লায়েন্ট ডিভাইসের দেশ এবং ক্যারিয়ার), সেইসাথে ইভেন্ট-নির্দিষ্ট তথ্য:

  • স্থিতিকাল ট্র্যাকও ট্রেস মান, এবং পর্দা ট্রেস ধারণ trace_info
  • ট্রেস মেট্রিক্স ধারণ trace_info.metric_info
  • স্ক্রিন ট্রেস ধারণ trace_info.screen_info
  • নেটওয়ার্ক ট্রেস ধারণ network_info

বিস্তারিত ডেটা স্কিমা

ক্ষেত্র নাম টাইপ বর্ণনা
ঘটনা_টাইমস্ট্যাম্প টাইমস্ট্যাম্প ক্লায়েন্ট ডিভাইসে ইভেন্ট শুরু হওয়ার পর থেকে টাইমস্ট্যাম্প (ট্রেস স্টার্ট, নেটওয়ার্ক স্টার্ট ইত্যাদি)
app_display_version স্ট্রিং অ্যাপ্লিকেশনটির প্রদর্শন সংস্করণ (উদাহরণস্বরূপ, "4.1.7")
  • Android এর জন্য - VersionName
  • আইওএস জন্য - CFBundleShortVersionString
app_build_version স্ট্রিং অ্যাপ্লিকেশনটির বিল্ড সংস্করণ (উদাহরণস্বরূপ, "1523456")
  • Android এর জন্য - VersionCode
  • আইওএস জন্য - CFBundleVersion
os_version স্ট্রিং ক্লায়েন্ট ডিভাইসের OS সংস্করণ
  • Android এর জন্য — Android API স্তর (উদাহরণস্বরূপ "26")
  • iOS এর জন্য — iOS সংস্করণ (উদাহরণস্বরূপ "11.4")
ডিভাইসের নাম স্ট্রিং ক্লায়েন্ট ডিভাইসের নাম (উদাহরণস্বরূপ, "গুগল পিক্সেল")
দেশ স্ট্রিং যে দেশ থেকে ইভেন্টটি হয়েছিল তার দুই-অক্ষরের কান্ট্রি কোড (উদাহরণস্বরূপ, "US", বা অজানা দেশের জন্য "ZZ")
বাহক স্ট্রিং ক্লায়েন্ট ডিভাইসের বাহক
রেডিও_টাইপ স্ট্রিং ইভেন্টটি হওয়ার সময় সক্রিয় রেডিও প্রকার (উদাহরণস্বরূপ, "WIFI")
custom_attributes অ্যারে <রেকর্ড> এই ইভেন্টের সাথে সংযুক্ত সমস্ত কাস্টম বৈশিষ্ট্য
custom_attributes.key স্ট্রিং কাস্টম বৈশিষ্ট্যের কী
custom_attributes.value স্ট্রিং কাস্টম বৈশিষ্ট্যের মান
ইভেন্টের ধরণ স্ট্রিং অনুষ্ঠানের ধরন; সম্ভাব্য মান:
  • DURATION_TRACE - ট্রেস সংগ্রহ, ডিফল্ট অনুসারে, "সময়কাল" এর মেট্রিক, যা অ্যাপ্লিকেশান শুরু, অ্যাপ্লিকেশন-ইন-ফোরগ্রাউন্ড, এবং অ্যাপ্লিকেশান-ইন-পটভূমি, সেইসাথে যেকোন ডেভেলপার-instrumented কাস্টম কোড ট্রেস অন্তর্ভুক্ত
  • SCREEN_TRACE - ট্রেস একটি পর্দার জীবনকাল spanning (পর্দা রেন্ডারিং ট্রেস)
  • TRACE_METRIC - যে ডেভেলপার-instrumented কাস্টম কোড ট্রেস সাথে সংযুক্ত করা হয় কাস্টম মেট্রিক্স
  • NETWORK_REQUEST - ট্রেস একটি নেটওয়ার্ক অনুরোধের জীবনকাল spanning (HTTP- র নেটওয়ার্ক অনুরোধের ট্রেস)
অনুষ্ঠানের নাম স্ট্রিং অনুষ্ঠানের নাম
  • জন্য DURATION_TRACE ট্রেস নাম -
  • জন্য TRACE_METRIC কাস্টম মেট্রিক নাম -
  • জন্য SCREEN_TRACE - _st_ ট্রেস নাম অনুসারে
  • জন্য NETWORK_REQUEST নেটওয়ার্ক অনুরোধের URL প্যাটার্ন -
পিতামাতার_ট্রেস_নাম স্ট্রিং প্যারেন্ট ট্রেসের নাম যা ট্রেস মেট্রিক বহন করে
শুধু উপস্থিত TRACE_METRIC
ট্রেস_তথ্য রেকর্ড শুধু উপস্থিত DURATION_TRACE , SCREEN_TRACE এবং TRACE_METRIC
trace_info.duration_us int64
  • জন্য DURATION_TRACE এবং SCREEN_TRACE - ট্রেস প্রথম থেকে শেষ পর্যন্ত সময়কাল ( "সময়কাল")
  • জন্য TRACE_METRIC - পিতা বা মাতা ট্রেস প্রথম থেকে শেষ পর্যন্ত সময় ( "সময়কাল") এর দৈর্ঘ্য
একক: মাইক্রোসেকেন্ড
trace_info.screen_info রেকর্ড শুধু উপস্থিত SCREEN_TRACE
trace_info.screen_info.slow_frame_ratio float64 এই স্ক্রীন ট্রেসের জন্য ধীরগতির ফ্রেমের অনুপাত, 0 এবং 1 এর মধ্যে (উদাহরণস্বরূপ, 0.05 এর মান মানে এই স্ক্রীন উদাহরণের জন্য 5% ফ্রেম রেন্ডার করতে 16ms এর বেশি সময় নেয়)
trace_info.screen_info.frozen_frame_ratio float64 এই স্ক্রীন ট্রেসের জন্য হিমায়িত ফ্রেমের অনুপাত, 0 এবং 1 এর মধ্যে (উদাহরণস্বরূপ, 0.05 এর মান মানে এই স্ক্রীন উদাহরণের জন্য ফ্রেমের 5% রেন্ডার করতে 700ms এর বেশি সময় নেয়)
trace_info.metric_info রেকর্ড শুধু উপস্থিত 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 প্রকার (উদাহরণস্বরূপ, "টেক্সট/এইচটিএমএল")
network_info.request_http_method স্ট্রিং নেটওয়ার্ক অনুরোধের HTTP পদ্ধতি (উদাহরণস্বরূপ, "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;

বিভিন্ন অবস্থার বিপরীতে হিমায়িত ফ্রেমের অনুপাত পরীক্ষা করুন

উদাহরণস্বরূপ, আপনি বিভিন্ন রেডিও ধরনের (WiFi, 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;

ডিস্ক থেকে নির্দিষ্ট ধরনের ফাইল লোড করার জন্য ক্যাশে হিট রেট গণনা করুন

এই বিশ্লেষণের ধরে নেয় যে আপনি একটি কাস্টম অ্যাট্রিবিউট নামে সঙ্গে ডিস্ক থেকে লোড জন্য একটি কাস্টম কোড ট্রেস instrumented file-extension এবং একটি কাস্টম মেট্রিক (ক 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 ওয়েব UI ব্যবহার করা

  • CLI কমান্ড চলমান bq extract

  • একটি জমা দেওয়া হচ্ছে বের করে রাখার কাজ API বা ক্লায়েন্ট লাইব্রেরী মাধ্যমে।

মূল্য নির্ধারণ

পারফরম্যান্স মনিটরিং থেকে ডেটা রপ্তানির জন্য কোনও চার্জ নেই এবং BigQuery উদার বিনামূল্যে ব্যবহারের সীমা প্রদান করে। বিস্তারিত তথ্যের জন্য, পড়ুন BigQuery- তে মূল্যের বা BigQuery- তে স্যান্ডবক্স