Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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

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

BigQuery রপ্তানি সক্ষম করুন

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

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

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

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

    • প্রাথমিক লিঙ্কিংয়ের সময়, Firebase স্বয়ংক্রিয়ভাবে আপনার BigQuery টেবিলগুলিকে গত 7 দিনের ডেটা ব্যাকফিল করার জন্য নির্ধারিত করে যাতে আপনি এখনই পরীক্ষা শুরু করতে পারেন। 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

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

ক্ষেত্র নাম প্রকার বর্ণনা
event_timestamp টাইমস্ট্যাম্প যুগের পর থেকে টাইমস্ট্যাম্প যখন ক্লায়েন্ট ডিভাইসে ইভেন্ট শুরু হয় (ট্রেস স্টার্ট, নেটওয়ার্ক স্টার্ট ইত্যাদি)
app_display_version স্ট্রিং অ্যাপ্লিকেশনের প্রদর্শন সংস্করণ (উদাহরণস্বরূপ, "4.1.7")
  • Android এর জন্য - VersionName
  • আইওএস জন্য - CFBundleShortVersionString
app_build_version স্ট্রিং অ্যাপ্লিকেশনটির সংস্করণ তৈরি করুন (উদাহরণস্বরূপ, "1523456")
  • Android এর জন্য - VersionCode
  • আইওএস জন্য - CFBundleVersion
os_version স্ট্রিং ক্লায়েন্ট ডিভাইসের ওএস সংস্করণ
  • অ্যান্ড্রয়েডের জন্য - অ্যান্ড্রয়েড এপিআই লেভেল (উদাহরণস্বরূপ "26")
  • IOS এর জন্য - iOS সংস্করণ (উদাহরণস্বরূপ "11.4")
ডিভাইসের নাম স্ট্রিং ক্লায়েন্ট ডিভাইসের নাম (উদাহরণস্বরূপ, "গুগল পিক্সেল")
দেশ স্ট্রিং যে দেশ থেকে ইভেন্টটি সংঘটিত হয়েছে তার দুই অক্ষরের কান্ট্রি কোড (উদাহরণস্বরূপ, "ইউএস", বা অজানা দেশের জন্য "জেডজেড")
বাহক স্ট্রিং ক্লায়েন্ট ডিভাইসের বাহক
রেডিও_ টাইপ স্ট্রিং ইভেন্ট সংঘটিত হওয়ার সময় সক্রিয় রেডিও টাইপ (উদাহরণস্বরূপ, "ওয়াইফাই")
custom_attributes ARRAY <RECORD> এই ইভেন্টের সাথে সংযুক্ত সমস্ত কাস্টম বৈশিষ্ট্য
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 প্যাটার্ন -
parent_trace_name স্ট্রিং পিতামাতার নাম যা ট্রেস মেট্রিক বহন করে
শুধু উপস্থিত 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_info রেকর্ড শুধু উপস্থিত 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;

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

উদাহরণস্বরূপ, আপনি আপনার অ্যাপের প্রতিটি স্ক্রিনে বিভিন্ন রেডিও প্রকারের (ওয়াইফাই, 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;

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

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