প্রকাশিত: ফেব্রুয়ারী 7, 2023, সর্বশেষ আপডেট: এপ্রিল 11, 2025
CrUX History API পৃষ্ঠা এবং মূল গ্রানুলারিটিতে ছয় মাসের ঐতিহাসিক বাস্তব-ব্যবহারকারীর অভিজ্ঞতার ডেটাতে কম লেটেন্সি অ্যাক্সেস দেয়।
সাধারণ ব্যবহারের ক্ষেত্রে
CrUX History API একটি নির্দিষ্ট URI-এর জন্য ঐতিহাসিক ব্যবহারকারীর অভিজ্ঞতা মেট্রিক্সের অনুসন্ধানের জন্য অনুমতি দেয় যেমন " https://example.com মূলের জন্য ঐতিহাসিক UX প্রবণতা পান।"
হিস্টোরি এপিআই দৈনিক CrUX API-এর মতো একই কাঠামো অনুসরণ করে, ব্যতীত মানগুলি একটি অ্যারেতে দেওয়া হয়, এবং কীগুলিকে বহুবচন নামের লেবেল করা হয় (উদাহরণস্বরূপ, histogram পরিবর্তে histogramTimeseries , অথবা p75 p75s ।
CrUX API কী
দৈনিক API-এর মতো, CrUX History API ব্যবহার করার জন্য Chrome UX Report API ব্যবহারের জন্য একটি Google ক্লাউড API কী ব্যবস্থা করা প্রয়োজন। একই কী দৈনিক এবং ইতিহাস API এর জন্য ব্যবহার করা যেতে পারে।
একটি API কী অর্জন এবং ব্যবহার করা
একটি চাবি পানঅথবা শংসাপত্র পৃষ্ঠায় একটি তৈরি করুন।
আপনার একটি API কী থাকার পরে, আপনার অ্যাপ্লিকেশনটি সমস্ত অনুরোধের URL-এ ক্যোয়ারী প্যারামিটার key= yourAPIKey যোগ করতে পারে।
API কী ইউআরএল-এ এম্বেড করার জন্য নিরাপদ; এটা কোন এনকোডিং প্রয়োজন নেই.
উদাহরণ প্রশ্ন দেখুন.
ডেটা মডেল
এই বিভাগে অনুরোধ এবং প্রতিক্রিয়া তথ্যের গঠন বিবরণ.
রেকর্ড
একটি পৃষ্ঠা বা সাইট সম্পর্কে তথ্যের একটি পৃথক অংশ। একটি রেকর্ডে এমন ডেটা থাকতে পারে যা একটি শনাক্তকারীর জন্য এবং মাত্রার একটি নির্দিষ্ট সংমিশ্রণের জন্য নির্দিষ্ট। একটি রেকর্ডে এক বা একাধিক মেট্রিক্সের ডেটা থাকতে পারে।
শনাক্তকারী
শনাক্তকারীরা উল্লেখ করে যে কোন রেকর্ডগুলো দেখতে হবে। CrUX-এ এই শনাক্তকারীগুলি হল ওয়েবপেজ এবং ওয়েবসাইট৷
উৎপত্তি
যখন শনাক্তকারী একটি উত্স হয় তখন সেই উত্সের সমস্ত পৃষ্ঠাগুলির জন্য উপস্থিত সমস্ত ডেটা একসাথে একত্রিত হয়৷ উদাহরণ স্বরূপ, বলুন যে http://www.example.com মূলে এই সাইটম্যাপ দ্বারা নির্ধারিত পৃষ্ঠাগুলি ছিল:
http://www.example.com/
http://www.example.com/foo.html
http://www.example.com/bar.html
এর অর্থ হল যে Chrome UX রিপোর্টের জন্য অনুসন্ধান করার সময় উৎপত্তির সাথে http://www.example.com , http://www.example.com/ , http://www.example.com/foo.html , এবং http://www.example.com/bar.html এর ডেটা ফেরত দেওয়া হবে, একসাথে একত্রিত করা হবে, কারণ সেগুলি সেই বা এর অধীনে থাকা সমস্ত পৃষ্ঠা।
ইউআরএল
শনাক্তকারী একটি URL হলে, শুধুমাত্র সেই নির্দিষ্ট URL-এর জন্য ডেটা ফেরত দেওয়া হবে৷ http://www.example.com মূল সাইটম্যাপের দিকে আবার খুঁজছি:
http://www.example.com/
http://www.example.com/foo.html
http://www.example.com/bar.html
যদি শনাক্তকারীটি http://www.example.com/foo.html এর মান সহ URL-এ সেট করা থাকে, তবে শুধুমাত্র সেই পৃষ্ঠার ডেটা ফেরত দেওয়া হবে।
মাত্রা
মাত্রাগুলি ডেটার একটি নির্দিষ্ট গোষ্ঠীকে চিহ্নিত করে যার বিরুদ্ধে একটি রেকর্ড একত্রিত করা হচ্ছে। উদাহরণস্বরূপ, PHONE এর একটি ফর্ম ফ্যাক্টর নির্দেশ করে যে রেকর্ডে মোবাইল ডিভাইসে লোড হওয়া সম্পর্কে তথ্য রয়েছে।
ফর্ম ফ্যাক্টর
CrUX History API শুধুমাত্র ফর্ম ফ্যাক্টর ডাইমেনশন দ্বারা একত্রিত পাওয়া যায়। এটি একটি সাধারণ শ্রেণির ডিভাইস যা PHONE , TABLET এবং DESKTOP বিভক্ত।
মেট্রিক
আমরা পরিসংখ্যানগত সমষ্টির টাইমসিরিজে মেট্রিক্স রিপোর্ট করি, যা হিস্টোগ্রাম, শতাংশ এবং ভগ্নাংশ।
হিস্টোগ্রাম
যখন মেট্রিকগুলি হিস্টোগ্রাম অ্যারেতে প্রকাশ করা হয়, তখন প্রতিটি টাইমসিরিজ এন্ট্রি পৃষ্ঠা লোডের শতাংশের প্রতিনিধিত্ব করে যার জন্য মেট্রিকটি সকলের সমানুপাতিকভাবে একটি ব্যবধানে পড়েছিল। ডেটা পয়েন্টগুলি এপিআই দ্বারা প্রত্যাবর্তিত সংগ্রহের সময়কালের তারিখের ক্রমানুসারে উপস্থাপন করা হয়, প্রথম বিন্দুটি হল প্রাচীনতম সময়কাল এবং চূড়ান্ত বিন্দুটি সবচেয়ে সাম্প্রতিক সংগ্রহের সময়।
একটি উদাহরণ মেট্রিকের জন্য একটি তিন বিন হিস্টোগ্রাম এইরকম দেখায়:
{
"histogramTimeseries": [
{
"start": 0,
"end": 2500,
"densities": [0.9190, 0.9203, 0.9194, 0.9195, 0.9183, 0.9187]
},
{
"start": 2500,
"end": 4000,
"densities": [0.0521, 0.0513, 0.0518, 0.0518, 0.0526, 0.0527]
},
{
"start": 4000,
"densities": [0.0288, 0.0282, 0.0286, 0.0285, 0.0290, 0.0285]
}
],
}
এই ডেটা নির্দেশ করে যে পৃষ্ঠা লোডের 91.90% ইতিহাসের প্রথম সংগ্রহের সময়কালের জন্য 0ms এবং 2,500ms এর মধ্যে উদাহরণ মেট্রিক মান অনুভব করেছে, তারপরে 92.03%, 91.94%... মেট্রিকের এককগুলি এই হিস্টোগ্রামে নেই, এই ক্ষেত্রে আমরা মিলিসেকেন্ড ধরে নেব৷
উপরন্তু, পৃষ্ঠা লোডের 5.21% ইতিহাসের প্রথম সংগ্রহের সময়কালে 2,500ms এবং 4,000ms এর মধ্যে উদাহরণ মেট্রিক মান অনুভব করেছে, এবং 2.88% পৃষ্ঠা লোড ইতিহাসের প্রথম সংগ্রহের সময়কালে 4,000ms এর চেয়ে বেশি মান অনুভব করেছে৷
শতকরা
মেট্রিক্সে পারসেন্টাইলের টাইমসিরিজও থাকতে পারে যা অতিরিক্ত বিশ্লেষণের জন্য উপযোগী হতে পারে।
ডেটা পয়েন্টগুলি এপিআই দ্বারা প্রত্যাবর্তিত সংগ্রহের সময়কালের তারিখের ক্রমানুসারে উপস্থাপন করা হয়, প্রথম বিন্দুটি হল প্রাচীনতম সময়কাল এবং চূড়ান্ত বিন্দুটি সবচেয়ে সাম্প্রতিক সংগ্রহের সময়।
{
"percentilesTimeseries": {
"p75s": [1362, 1352, 1344, 1356, 1366, 1377]
},
}
এই পার্সেন্টাইলগুলি সেই মেট্রিকের জন্য প্রদত্ত শতাংশে নির্দিষ্ট মেট্রিক মান দেখাতে পারে। এগুলি উপলব্ধ ডেটার সম্পূর্ণ সেটের উপর ভিত্তি করে এবং চূড়ান্ত বিন করা ডেটা নয়, তাই তারা অগত্যা একটি ইন্টারপোলেটেড পার্সেন্টাইলের সাথে মেলে না যা চূড়ান্ত বিন করা হিস্টোগ্রামের উপর ভিত্তি করে।
ভগ্নাংশ
মেট্রিক্স লেবেলযুক্ত ভগ্নাংশের টাইমসিরিজ হিসাবে প্রকাশ করা যেতে পারে; প্রতিটি লেবেল একটি নির্দিষ্ট উপায়ে একটি পৃষ্ঠা লোড বর্ণনা করে। ডেটা পয়েন্টগুলি এপিআই দ্বারা প্রত্যাবর্তিত সংগ্রহের সময়কালের তারিখের ক্রমানুসারে উপস্থাপন করা হয়, প্রথম বিন্দুটি হল প্রাচীনতম সময়কাল এবং চূড়ান্ত বিন্দুটি সবচেয়ে সাম্প্রতিক সংগ্রহের সময়।
উদাহরণ:
{
"fractionTimeseries": {
"desktop": {"fractions": [0.3195, 0.2115, 0.1421]},
"phone": {"fractions": [0.6295, 0.7544, 0.8288]},
"tablet": {"fractions": [0.051, 0.0341, 0.029]}
}
}
এই উদাহরণে, সাম্প্রতিকতম ডেটা পয়েন্ট নির্দেশ করে যে 14.21% পৃষ্ঠা লোড হয়েছে ডেস্কটপ থেকে, এবং 82.88% ফোন থেকে এসেছে৷
মেট্রিক মান প্রকার
যেহেতু CrUX History API একই মেট্রিক মান প্রকারগুলি ব্যবহার করে, আপনি আরও বিশদ বিবরণের জন্য দৈনিক CrUX API মেট্রিক মান প্রকারের ডকুমেন্টেশন উল্লেখ করতে পারেন।
মেট্রিক যোগ্যতা
যোগ্যতার মানদণ্ডের উপর ভিত্তি করে একটি উত্স বা URL শুধুমাত্র CrUX ইতিহাস API দ্বারা আচ্ছাদিত কিছু সংগ্রহের সময়কালের জন্য যোগ্য হতে পারে। এই ক্ষেত্রে CrUX History API histogramTimeseries ঘনত্বের জন্য "NaN" এবং সংগ্রহের সময়কালের জন্য percentilesTimeseries জন্য null যা কোনো যোগ্য ডেটা নেই। পার্থক্যের কারণ হল হিস্টোগ্রামের ঘনত্ব সর্বদা সংখ্যা, যখন শতকরা সংখ্যা বা স্ট্রিং হতে পারে (সিএলএস স্ট্রিং ব্যবহার করে, যদিও তারা সংখ্যার মতো দেখায়)।
উদাহরণস্বরূপ, যদি দ্বিতীয় মেয়াদে কোনো যোগ্য ডেটা না থাকে, তাহলে এটি এইভাবে দেখাবে:
{
"histogramTimeseries": [
{
"start": 0,
"end": 2500,
"densities": [0.9190, "NaN", 0.9194, 0.9195, 0.9183, 0.9187]
},
{
"start": 2500,
"end": 4000,
"densities": [0.0521, "NaN", 0.0518, 0.0518, 0.0526, 0.0527]
},
{
"start": 4000,
"densities": [0.0288, "NaN", 0.0286, 0.0285, 0.0290, 0.0285]
}
],
"percentilesTimeseries": {
"p75s": [1362, null, 1344, 1356, 1366, 1377]
},
}
ইউআরএল বা উৎসগুলির জন্য যা সময়ের সাথে সাথে যোগ্যতার মধ্যে পড়ে এবং এর বাইরে, আপনি অনেক অনুপস্থিত এন্ট্রি লক্ষ্য করতে পারেন।
সংগ্রহের সময়কাল
CrUX History API-এ firstDate এবং endDate ক্ষেত্রগুলির একটি অ্যারে সহ একটি collectionPeriods অবজেক্ট রয়েছে যা প্রতিটি একত্রীকরণ উইন্ডোর শুরু এবং শেষ তারিখগুলিকে উপস্থাপন করে। যেমন:
"collectionPeriods": [{
"firstDate": { "year": 2022, "month": 7, "day": 10 },
"lastDate": { "year": 2022, "month": 8, "day": 6 }
}, {
"firstDate": { "year": 2022, "month": 7, "day": 17 },
"lastDate": { "year": 2022, "month": 8, "day": 13 }
}, {
"firstDate": { "year": 2022, "month": 7, "day": 24 },
"lastDate": { "year": 2022, "month": 8, "day": 20 }
}, {
"firstDate": { "year": 2022, "month": 7, "day": 31 },
"lastDate": { "year": 2022, "month": 8, "day": 27 }
}, {
"firstDate": { "year": 2022, "month": 8, "day": 7 },
"lastDate": { "year": 2022, "month": 9, "day": 3 }
}, {
"firstDate": { "year": 2022, "month": 8, "day": 14 },
"lastDate": { "year": 2022, "month": 9, "day": 10 }
}
]
এই সংগ্রহের সময়কাল ক্রমবর্ধমান ক্রমে এবং প্রতিক্রিয়ার অন্যান্য বিভাগে প্রতিটি ডেটা পয়েন্টের তারিখ স্প্যান উপস্থাপন করে।
ইতিহাস API প্রতি সোমবার আপডেট করা হয় এবং আগের শনিবার পর্যন্ত ডেটা ধারণ করে (স্ট্যান্ডার্ড 2-দিনের ব্যবধান অনুযায়ী)। এতে আগের 40-সপ্তাহের ডেটা রয়েছে—প্রতি সপ্তাহে একটি সংগ্রহের সময়কাল। ডিফল্টরূপে, 25টি সংগ্রহের সময় ফেরত দেওয়া হয়। অনুরোধে "collectionPeriodCount" সেট করে এটি 1 থেকে 40 এর মধ্যে একটি সংখ্যায় পরিবর্তন করা যেতে পারে৷
যেহেতু প্রতিটি সংগ্রহের সময়কাল পূর্ববর্তী 28-দিনের সমষ্টিগত ডেটা ধারণ করে, এবং সংগ্রহের সময়কাল প্রতি সপ্তাহে, এর অর্থ সংগ্রহের সময়গুলি ওভারল্যাপ হবে। এগুলি ডেটার চলমান গড়ের মতো, প্রতিটি পরবর্তী সময়ের মধ্যে তিন সপ্তাহের মূল্যের ডেটা অন্তর্ভুক্ত করা হয় এবং এক সপ্তাহ আলাদা।
উদাহরণ প্রশ্ন
POST বডিতে JSON অবজেক্ট হিসেবে ক্যোয়ারী ডেটা সহ https://chromeuxreport.googleapis.com/v1/records:queryHistoryRecord?key=[YOUR_API_KEY]" এ পোস্ট অনুরোধ ব্যবহার করে JSON অবজেক্ট হিসেবে প্রশ্নগুলি জমা দেওয়া হয়।
দৈনিক CrUX API-এর queryRecord প্রতিস্থাপন করে queryHistoryRecord এর ব্যবহার লক্ষ্য করুন।
একটি উদাহরণ শরীর হল:
{
"origin": "https://example.com",
"formFactor": "PHONE",
"metrics": [
"largest_contentful_paint",
"experimental_time_to_first_byte"
]
}
উদাহরণস্বরূপ, এটিকে নিম্নলিখিত কমান্ড লাইনের সাহায্যে curl থেকে কল করা যেতে পারে (আপনার কী দিয়ে API_KEY প্রতিস্থাপন করা):
curl -s --request POST 'https://chromeuxreport.googleapis.com/v1/records:queryHistoryRecord?key=API_KEY' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"formFactor":"PHONE","origin":"https://www.example.com","metrics":["largest_contentful_paint", "experimental_time_to_first_byte"]}'
পৃষ্ঠা-স্তরের ডেটা origin পরিবর্তে কোয়েরিতে একটি url সম্পত্তি পাস করে API-এর মাধ্যমে পাওয়া যায়:
{
"url": "https://example.com/page",
"formFactor": "PHONE",
"metrics": [
"largest_contentful_paint",
"experimental_time_to_first_byte"
]
}
যদি metrics প্রপার্টি সেট করা না থাকে তাহলে সমস্ত উপলব্ধ মেট্রিক ফেরত দেওয়া হবে:
-
cumulative_layout_shift -
first_contentful_paint -
interaction_to_next_paint -
largest_contentful_paint -
experimental_time_to_first_byte -
largest_contentful_paint_resource_type -
largest_contentful_paint_image_time_to_first_byte -
largest_contentful_paint_image_resource_load_delay -
largest_contentful_paint_image_resource_load_duration -
largest_contentful_paint_image_element_render_delay -
navigation_types -
round_trip_time -
form_factors(অনুরোধে কোনোformFactorউল্লেখ না থাকলে শুধুমাত্র রিপোর্ট করা হয়)
যদি কোন formFactor মান প্রদান করা না হয় তাহলে মানগুলি সমস্ত ফর্ম ফ্যাক্টর জুড়ে একত্রিত হবে।
আরও উদাহরণের জন্য CrUX History API নির্দেশিকা ব্যবহার করা দেখুন।
ডেটা পাইপলাইন
CrUX ডেটাসেট API-এর মাধ্যমে উপলব্ধ হওয়ার আগে ডেটা একত্রীকরণ, একত্রিত এবং ফিল্টার করার জন্য একটি পাইপলাইনের মাধ্যমে প্রক্রিয়া করা হয়।
রোলিং গড়
ক্রোম ইউএক্স রিপোর্টের ডেটা হল একত্রিত মেট্রিক্সের 28-দিনের রোলিং গড়৷ এর মানে হল যে কোনও নির্দিষ্ট সময়ে Chrome UX রিপোর্টে উপস্থাপিত ডেটা আসলে গত 28 দিনের একত্রিত ডেটা।
হিস্ট্রি এপিআই-এ অনেকগুলি সংগ্রহের সময়কাল রয়েছে, প্রতিটি এই 28 দিনের মধ্যে বিস্তৃত। যেহেতু প্রতিটি সংগ্রহের সময়কাল পূর্ববর্তী 28-দিনের সমষ্টিগত ডেটা ধারণ করে, এবং সংগ্রহের সময়কাল প্রতি সপ্তাহে, এর অর্থ সংগ্রহের সময়গুলি ওভারল্যাপ হবে। এগুলি ডেটার চলমান গড়ের মতো, প্রতিটি পরবর্তী সময়ের মধ্যে তিন সপ্তাহের মূল্যের ডেটা অন্তর্ভুক্ত করা হয় এবং এক সপ্তাহ আলাদা।
সাপ্তাহিক আপডেট
ইতিহাস API প্রতি সোমবার 04:00 UTC এর কাছাকাছি আপডেট করা হয় এবং এতে আগের শনিবার পর্যন্ত ডেটা থাকে (স্ট্যান্ডার্ড 2-দিনের ব্যবধান অনুযায়ী)। এতে আগের 40 সপ্তাহ (প্রায় 10 মাস) মূল্যের ডেটা রয়েছে, প্রতি সপ্তাহে একটি সংগ্রহের সময়কাল। মনে রাখবেন যে ডিফল্টরূপে, আমরা প্রতি টাইমসিরিজে 25টি এন্ট্রি ফেরত দিই; কিন্তু এটি collectionPeriodCount অনুরোধ প্যারামিটার নির্দিষ্ট করে ওভাররাইড করা যেতে পারে।
আপডেট সময়ের জন্য কোন পরিষেবা স্তর চুক্তি নেই; এটি প্রতিদিন সর্বোত্তম প্রচেষ্টার ভিত্তিতে পরিচালিত হয়।
স্কিমা
CrUX History API-এর জন্য একটি একক এন্ডপয়েন্ট রয়েছে যা POST HTTP অনুরোধ গ্রহণ করে। এপিআই এমন একটি record ফেরত দেয় যাতে অনুরোধ করা উৎস বা পৃষ্ঠা সম্পর্কে কর্মক্ষমতা ডেটার সাথে সম্পর্কিত এক বা একাধিক metrics থাকে।
HTTP অনুরোধ
POST https://chromeuxreport.googleapis.com/v1/records:queryHistoryRecord
URL gRPC ট্রান্সকোডিং সিনট্যাক্স ব্যবহার করে।
শরীরের অনুরোধ
CrUX History API একটি অতিরিক্ত, ঐচ্ছিক "collectionPeriodCount" ফিল্ড সহ দৈনিক CrUX API হিসাবে অনুরূপ অনুরোধ সংস্থাগুলি ব্যবহার করে:
{
"formFactor": enum (FormFactor),
"metrics": [
string
],
// Union field url_pattern can be only one of the following:
"origin": string,
"url": string,
// End of list of possible types for union field url_pattern.
"collectionPeriodCount": int32 // Optional: Number of periods to collect
}
| ক্ষেত্র | |
|---|---|
formFactor | ফর্ম ফ্যাক্টর হল একটি ক্যোয়ারী ডাইমেনশন যা ডিভাইস ক্লাস নির্দিষ্ট করে যে রেকর্ডের ডেটা অন্তর্ভুক্ত হওয়া উচিত। এই ক্ষেত্রটি দ্রষ্টব্য: যদি কোনো ফর্ম ফ্যাক্টর নির্দিষ্ট করা না থাকে, তাহলে সমস্ত ফর্ম ফ্যাক্টরগুলির সমষ্টিগত ডেটা সহ একটি বিশেষ রেকর্ড ফেরত দেওয়া হবে৷ |
metrics[] | মেট্রিক্স যে প্রতিক্রিয়া অন্তর্ভুক্ত করা উচিত. যদি কোনোটি নির্দিষ্ট না থাকে তাহলে পাওয়া কোনো মেট্রিক ফেরত দেওয়া হবে। অনুমোদিত মান: |
ইউনিয়ন ক্ষেত্র url_ pattern । url_pattern একটি রেকর্ড লুকআপের জন্য প্রধান শনাক্তকারী। এটি নিম্নলিখিতগুলির মধ্যে শুধুমাত্র একটি হতে পারে: | |
origin | উদাহরণ: |
url | উদাহরণ: |
ইউনিয়ন ফিল্ডের শেষ url_ pattern । | |
collectionPeriodCount | 1 থেকে 40 এর মধ্যে ফেরত দিতে সংগ্রহের সময়কালের সংখ্যা। ডিফল্ট হল 25। নোট করুন যদি কোনো |
উদাহরণস্বরূপ, web.dev হোমপেজের জন্য ডেস্কটপের সবচেয়ে বড় বিষয়বস্তুযুক্ত পেইন্ট মানগুলির অনুরোধ করতে:
{
"url": "https://web.dev/",
"formFactor": "DESKTOP",
"metrics": [
"largest_contentful_paint"
]
}
এই অনুরূপ অনুরোধটিতে ঐচ্ছিক collectionPeriodCount ফিল্ড অন্তর্ভুক্ত রয়েছে এবং https://web.dev মূলের জন্য মোটামুটি 10 মাসের ওয়েব পারফরম্যান্স ইতিহাস প্রদান করে 40টি টাইমসিরিজ এন্ট্রি প্রদান করবে:
{
"url": "https://web.dev/",
"formFactor": "DESKTOP",
"metrics": [
"largest_contentful_paint"
],
"collectionPeriodCount": 40
}
প্রতিক্রিয়া শরীর
সফল অনুরোধগুলি নিম্নলিখিত কাঠামোতে একটি record অবজেক্ট এবং urlNormalizationDetails সহ প্রতিক্রিয়া ফেরত দেয়:
{
"record": {
"key": {
object (Key)
},
"metrics": [
string: {
object (Metric)
}
]
},
"urlNormalizationDetails": {
object (UrlNormalization)
}
}
উদাহরণস্বরূপ, পূর্ববর্তী অনুরোধে অনুরোধের বডির প্রতিক্রিয়া হতে পারে:
{
"record": {
"key": {
"origin": "https://web.dev"
},
"metrics": {
"largest_contentful_paint": {
"histogramTimeseries": [{
"start": 0, "end": 2500, "densities": [
0.9190, 0.9203, 0.9194, 0.9195, 0.9183, 0.9187, ...
]
}, {
"start": 2500, "end": 4000, "densities": [
0.0521, 0.0513, 0.0518, 0.0518, 0.0526, 0.0527, ...
]
}, {
"start": 4000, "densities": [
0.0288, 0.0282, 0.0286, 0.0285, 0.0290, 0.0285, ...
]
}
],
"percentilesTimeseries": {
"p75s": [
1362, 1352, 1344, 1356, 1366, 1377, ...
]
}
}
},
"collectionPeriods": [{
"firstDate": { "year": 2022, "month": 7, "day": 10 },
"lastDate": { "year": 2022, "month": 8, "day": 6 }
}, {
"firstDate": { "year": 2022, "month": 7, "day": 17 },
"lastDate": { "year": 2022, "month": 8, "day": 13 }
}, {
"firstDate": { "year": 2022, "month": 7, "day": 24 },
"lastDate": { "year": 2022, "month": 8, "day": 20 }
}, {
"firstDate": { "year": 2022, "month": 7, "day": 31 },
"lastDate": { "year": 2022, "month": 8, "day": 27 }
}, {
"firstDate": { "year": 2022, "month": 8, "day": 7 },
"lastDate": { "year": 2022, "month": 9, "day": 3 }
}, {
"firstDate": { "year": 2022, "month": 8, "day": 14 },
"lastDate": { "year": 2022, "month": 9, "day": 10 }
}, {
...
}
]
}
}
চাবি
Key এই রেকর্ডটিকে অনন্য হিসাবে চিহ্নিত করে এমন সমস্ত মাত্রা সংজ্ঞায়িত করে।
{
"formFactor": enum (FormFactor),
// Union field url_pattern can be only one of the following:
"origin": string,
"url": string
// End of list of possible types for union field url_pattern.
}
| ক্ষেত্র | |
|---|---|
formFactor | ফর্ম ফ্যাক্টর হল ডিভাইস ক্লাস যা সমস্ত ব্যবহারকারী এই রেকর্ডের জন্য সাইট অ্যাক্সেস করতে ব্যবহার করে। যদি ফর্ম ফ্যাক্টর অনির্দিষ্ট হয়, তাহলে সমস্ত ফর্ম ফ্যাক্টরগুলির সমষ্টিগত ডেটা ফেরত দেওয়া হবে। |
ইউনিয়ন ক্ষেত্র url_ pattern । URL প্যাটার্ন হল সেই URL যা রেকর্ড প্রযোজ্য। url_ pattern নিম্নলিখিতগুলির মধ্যে একটি হতে পারে: | |
origin | অরিজিন নির্দিষ্ট করে যে এই রেকর্ডের জন্য। দ্রষ্টব্য: একটি উত্স নির্দিষ্ট করার সময়, সমস্ত পৃষ্ঠাগুলিতে এই উত্সের অধীনে লোডের জন্য ডেটা মূল স্তরের ব্যবহারকারীর অভিজ্ঞতা ডেটাতে একত্রিত হয়৷ |
url | দ্রষ্টব্য: একটি |
মেট্রিক্স
একটি metric হল একটি একক ওয়েব পারফরম্যান্স মেট্রিকের জন্য ব্যবহারকারীর অভিজ্ঞতার ডেটার একটি সেট, যেমন প্রথম বিষয়বস্তুপূর্ণ পেইন্ট। এটি bins একটি সিরিজ হিসাবে বাস্তব বিশ্বের Chrome ব্যবহারের একটি সারাংশ হিস্টোগ্রাম রয়েছে৷
{
"histogramTimeseries": [
{
object (Bin)
}
],
"percentilesTimeseries": {
object (Percentiles)
}
}
বা
"fractionTimeseries": {
object (Fractions)
}
| ক্ষেত্র | |
|---|---|
histogramTimeseries[] | একটি মেট্রিকের জন্য ব্যবহারকারীর অভিজ্ঞতার টাইমসিরিজ হিস্টোগ্রাম। টাইমসিরিজ হিস্টোগ্রামে কমপক্ষে একটি বিন থাকবে এবং সমস্ত বিনের ঘনত্ব ~1 পর্যন্ত যোগ হবে। সেই নির্দিষ্ট সংগ্রহের সময়ের জন্য অনুপস্থিত মানগুলিকে |
percentilesTimeseries | মেট্রিকের সাধারণ উপযোগী পার্সেন্টাইল। পারসেন্টাইলের মান প্রকার হিস্টোগ্রাম বিনের জন্য প্রদত্ত মান প্রকারের মতোই হবে। সেই নির্দিষ্ট সংগ্রহের সময়ের জন্য অনুপস্থিত মানগুলিকে |
fractionTimeseries | এই বস্তুটিতে লেবেলযুক্ত ভগ্নাংশের টাইমসিরিজ রয়েছে, যা প্রতি এন্ট্রিতে ~1 পর্যন্ত যোগ করে। ভগ্নাংশগুলিকে 4 দশমিক স্থানে বৃত্তাকার করা হয়। অনুপস্থিত এন্ট্রিগুলি সমস্ত ভগ্নাংশ জুড়ে `"NaN"` হিসাবে প্রকাশ করা হয়৷ |
বিন
একটি bin হল ডেটার একটি বিচ্ছিন্ন অংশ যা শুরু থেকে শেষ পর্যন্ত বিস্তৃত হয়, অথবা যদি শুরু থেকে ধনাত্মক অসীম পর্যন্ত কোন শেষ না দেওয়া হয়।
একটি বিনের শুরু এবং শেষের মানগুলি মেট্রিকের মান প্রকারে দেওয়া হয় যা এটি প্রতিনিধিত্ব করে। উদাহরণস্বরূপ, প্রথম কনটেন্টফুল পেইন্টটি মিলিসেকেন্ডে পরিমাপ করা হয় এবং ints হিসাবে প্রকাশ করা হয়, তাই এর মেট্রিক বিনগুলি এর শুরু এবং শেষ প্রকারের জন্য int32s ব্যবহার করবে। তবে ক্রমবর্ধমান বিন্যাস স্থানান্তর ইউনিটহীন দশমিকে পরিমাপ করা হয় এবং একটি স্ট্রিং হিসাবে এনকোড করা দশমিক হিসাবে উন্মুক্ত করা হয়, তাই এর মেট্রিক বিনগুলি এর মান প্রকারের জন্য স্ট্রিং ব্যবহার করবে।
{
"start": value,
"end": value,
"densities": [number, number, number...etc.]
}
| ক্ষেত্র | |
|---|---|
start | স্টার্ট হল ডাটা বিনের শুরু। |
end | শেষ হল ডাটা বিনের শেষ। যদি শেষ জনবহুল না হয়, তাহলে বিনের কোন শেষ নেই এবং এটি শুরু থেকে +inf পর্যন্ত বৈধ। |
densities | প্রদত্ত মেট্রিকের জন্য এই বিনের মান অভিজ্ঞ ব্যবহারকারীদের অনুপাতের একটি টাইমসিরিজ৷ ঘনত্ব 4 দশমিক স্থানে বৃত্তাকার। |
শতকরা
Percentiles একটি প্রদত্ত পরিসংখ্যানগত শতাংশে একটি মেট্রিকের সিন্থেটিক মান রয়েছে। মোট ব্যবহারকারীর সংখ্যার মধ্যে শতকরা শতাংশ ব্যবহারকারীর দ্বারা অভিজ্ঞ মেট্রিকের মান অনুমান করার জন্য এগুলি ব্যবহার করা হয়।
{
"P75": value
}
| ক্ষেত্র | |
|---|---|
p75s | 75% পৃষ্ঠা লোড হওয়া মানগুলির টাইমসিরিজ প্রদত্ত মেট্রিকটি এই মানের বা তার চেয়ে কম অনুভব করেছে৷ |
ভগ্নাংশ
Fractions লেবেলযুক্ত ভগ্নাংশের টাইমসিরিজ রয়েছে যা প্রতি এন্ট্রিতে ~1 পর্যন্ত যোগ করে। প্রতিটি লেবেল কোনো না কোনোভাবে একটি পৃষ্ঠা লোডকে বর্ণনা করে, তাই এইভাবে উপস্থাপিত মেট্রিকগুলিকে সংখ্যাসূচক মানের পরিবর্তে স্বতন্ত্র মান তৈরি করার কথা ভাবা যেতে পারে এবং ভগ্নাংশগুলি প্রকাশ করে যে একটি নির্দিষ্ট স্বতন্ত্র মান কত ঘন ঘন পরিমাপ করা হয়েছিল।
{
"label_1": { "fractions": array[fraction]},
"label_1": { "fractions": array[fraction]},
...
"label_n": { "fractions": array[fraction]}
}
অনেকটা হিস্টোগ্রাম বিনের ঘনত্বের মানের মতো, প্রতিটি fraction একটি সংখ্যা 0.0 <= value <= 1.0 , এবং তারা ~1.0 পর্যন্ত যোগ করে। যখন একটি নির্দিষ্ট সংগ্রহের সময়ের জন্য মেট্রিক উপলব্ধ না হয়, তখন সংশ্লিষ্ট এন্ট্রিটি ভগ্নাংশের সমস্ত অ্যারেতে "NaN" হবে৷
| ক্ষেত্র | |
|---|---|
p75s | 75% পৃষ্ঠা লোড হওয়া মানগুলির টাইমসিরিজ প্রদত্ত মেট্রিকটি এই মানের বা তার চেয়ে কম অনুভব করেছে৷ |
ইউআরএল স্বাভাবিককরণ
সফল লুকআপের একটি উচ্চতর সম্ভাবনা অর্জনের জন্য একটি URL স্বাভাবিক করার জন্য নেওয়া স্বাভাবিককরণের ক্রিয়াগুলিকে প্রতিনিধিত্ব করে। এগুলি হল মৌলিক, স্বয়ংক্রিয় পরিবর্তন যা প্রদত্ত url_pattern সন্ধান করার সময় নেওয়া হয় ব্যর্থ বলে জানা যাবে৷ নিম্নোক্ত পুনঃনির্দেশের মতো জটিল ক্রিয়াগুলি পরিচালনা করা হয় না।
{
"originalUrl": string,
"normalizedUrl": string
}
| ক্ষেত্র | |
|---|---|
originalUrl | যেকোন স্বাভাবিকীকরণ কর্মের আগে মূল অনুরোধ করা URL। |
normalizedUrl | যেকোন স্বাভাবিকীকরণ কর্মের পরে URL। এটি একটি বৈধ ব্যবহারকারীর অভিজ্ঞতা URL যা যুক্তিসঙ্গতভাবে দেখা যেতে পারে৷ |
হারের সীমা
CrUX History API CrUX API-এর সাথে একই সীমা ভাগ করে প্রতি মিনিটে Google ক্লাউড প্রকল্পে প্রতি মিনিটে 150টি প্রশ্নের জন্য, যেটি কোনো চার্জ ছাড়াই দেওয়া হয়। এই সীমা, এবং আপনার বর্তমান ব্যবহার, Google ক্লাউড কনসোলে দেখা যাবে। এই উদার কোটা বেশিরভাগ ব্যবহারের ক্ষেত্রে যথেষ্ট হওয়া উচিত এবং বর্ধিত কোটার জন্য অর্থ প্রদান করা সম্ভব নয়।
,প্রকাশিত: ফেব্রুয়ারী 7, 2023, সর্বশেষ আপডেট: এপ্রিল 11, 2025
CrUX History API পৃষ্ঠা এবং মূল গ্রানুলারিটিতে ছয় মাসের ঐতিহাসিক বাস্তব-ব্যবহারকারীর অভিজ্ঞতার ডেটাতে কম লেটেন্সি অ্যাক্সেস দেয়।
সাধারণ ব্যবহারের ক্ষেত্রে
CrUX History API একটি নির্দিষ্ট URI-এর জন্য ঐতিহাসিক ব্যবহারকারীর অভিজ্ঞতা মেট্রিক্সের অনুসন্ধানের জন্য অনুমতি দেয় যেমন " https://example.com মূলের জন্য ঐতিহাসিক UX প্রবণতা পান।"
হিস্টোরি এপিআই দৈনিক CrUX API-এর মতো একই কাঠামো অনুসরণ করে, ব্যতীত মানগুলি একটি অ্যারেতে দেওয়া হয়, এবং কীগুলিকে বহুবচন নামের লেবেল করা হয় (উদাহরণস্বরূপ, histogram পরিবর্তে histogramTimeseries , অথবা p75 p75s ।
CrUX API কী
দৈনিক API-এর মতো, CrUX History API ব্যবহার করার জন্য Chrome UX Report API ব্যবহারের জন্য একটি Google ক্লাউড API কী ব্যবস্থা করা প্রয়োজন। একই কী দৈনিক এবং ইতিহাস API এর জন্য ব্যবহার করা যেতে পারে।
একটি API কী অর্জন এবং ব্যবহার করা
একটি চাবি পানঅথবা শংসাপত্র পৃষ্ঠায় একটি তৈরি করুন।
আপনার একটি API কী থাকার পরে, আপনার অ্যাপ্লিকেশনটি সমস্ত অনুরোধের URL-এ ক্যোয়ারী প্যারামিটার key= yourAPIKey যোগ করতে পারে।
API কী ইউআরএল-এ এম্বেড করার জন্য নিরাপদ; এটা কোন এনকোডিং প্রয়োজন নেই.
উদাহরণ প্রশ্ন দেখুন.
ডেটা মডেল
এই বিভাগে অনুরোধ এবং প্রতিক্রিয়া তথ্যের গঠন বিবরণ.
রেকর্ড
একটি পৃষ্ঠা বা সাইট সম্পর্কে তথ্যের একটি পৃথক অংশ। একটি রেকর্ডে এমন ডেটা থাকতে পারে যা একটি শনাক্তকারীর জন্য এবং মাত্রার একটি নির্দিষ্ট সংমিশ্রণের জন্য নির্দিষ্ট। একটি রেকর্ডে এক বা একাধিক মেট্রিক্সের ডেটা থাকতে পারে।
শনাক্তকারী
শনাক্তকারীরা উল্লেখ করে যে কোন রেকর্ডগুলো দেখতে হবে। CrUX-এ এই শনাক্তকারীগুলি হল ওয়েবপেজ এবং ওয়েবসাইট৷
উৎপত্তি
যখন শনাক্তকারী একটি উত্স হয় তখন সেই উত্সের সমস্ত পৃষ্ঠাগুলির জন্য উপস্থিত সমস্ত ডেটা একসাথে একত্রিত হয়৷ উদাহরণ স্বরূপ, বলুন যে http://www.example.com মূলে এই সাইটম্যাপ দ্বারা নির্ধারিত পৃষ্ঠাগুলি ছিল:
http://www.example.com/
http://www.example.com/foo.html
http://www.example.com/bar.html
এর অর্থ হল যে Chrome UX রিপোর্টের জন্য অনুসন্ধান করার সময় উৎপত্তির সাথে http://www.example.com , http://www.example.com/ , http://www.example.com/foo.html , এবং http://www.example.com/bar.html এর ডেটা ফেরত দেওয়া হবে, একসাথে একত্রিত করা হবে, কারণ সেগুলি সেই বা এর অধীনে থাকা সমস্ত পৃষ্ঠা।
ইউআরএল
শনাক্তকারী একটি URL হলে, শুধুমাত্র সেই নির্দিষ্ট URL-এর জন্য ডেটা ফেরত দেওয়া হবে৷ http://www.example.com মূল সাইটম্যাপের দিকে আবার খুঁজছি:
http://www.example.com/
http://www.example.com/foo.html
http://www.example.com/bar.html
যদি শনাক্তকারীটি http://www.example.com/foo.html এর মান সহ URL-এ সেট করা থাকে, তবে শুধুমাত্র সেই পৃষ্ঠার ডেটা ফেরত দেওয়া হবে।
মাত্রা
মাত্রাগুলি ডেটার একটি নির্দিষ্ট গোষ্ঠীকে চিহ্নিত করে যার বিরুদ্ধে একটি রেকর্ড একত্রিত করা হচ্ছে। উদাহরণস্বরূপ, PHONE এর একটি ফর্ম ফ্যাক্টর নির্দেশ করে যে রেকর্ডে মোবাইল ডিভাইসে লোড হওয়া সম্পর্কে তথ্য রয়েছে।
ফর্ম ফ্যাক্টর
CrUX History API শুধুমাত্র ফর্ম ফ্যাক্টর ডাইমেনশন দ্বারা একত্রিত পাওয়া যায়। এটি একটি সাধারণ শ্রেণির ডিভাইস যা PHONE , TABLET এবং DESKTOP বিভক্ত।
মেট্রিক
আমরা পরিসংখ্যানগত সমষ্টির টাইমসিরিজে মেট্রিক্স রিপোর্ট করি, যা হিস্টোগ্রাম, শতাংশ এবং ভগ্নাংশ।
হিস্টোগ্রাম
যখন মেট্রিকগুলি হিস্টোগ্রাম অ্যারেতে প্রকাশ করা হয়, তখন প্রতিটি টাইমসিরিজ এন্ট্রি পৃষ্ঠা লোডের শতাংশের প্রতিনিধিত্ব করে যার জন্য মেট্রিকটি সকলের সমানুপাতিকভাবে একটি ব্যবধানে পড়েছিল। ডেটা পয়েন্টগুলি এপিআই দ্বারা প্রত্যাবর্তিত সংগ্রহের সময়কালের তারিখের ক্রমানুসারে উপস্থাপন করা হয়, প্রথম বিন্দুটি হল প্রাচীনতম সময়কাল এবং চূড়ান্ত বিন্দুটি সবচেয়ে সাম্প্রতিক সংগ্রহের সময়।
একটি উদাহরণ মেট্রিকের জন্য একটি তিন বিন হিস্টোগ্রাম এইরকম দেখায়:
{
"histogramTimeseries": [
{
"start": 0,
"end": 2500,
"densities": [0.9190, 0.9203, 0.9194, 0.9195, 0.9183, 0.9187]
},
{
"start": 2500,
"end": 4000,
"densities": [0.0521, 0.0513, 0.0518, 0.0518, 0.0526, 0.0527]
},
{
"start": 4000,
"densities": [0.0288, 0.0282, 0.0286, 0.0285, 0.0290, 0.0285]
}
],
}
এই ডেটা নির্দেশ করে যে পৃষ্ঠা লোডের 91.90% ইতিহাসের প্রথম সংগ্রহের সময়কালের জন্য 0ms এবং 2,500ms এর মধ্যে উদাহরণ মেট্রিক মান অনুভব করেছে, তারপরে 92.03%, 91.94%... মেট্রিকের এককগুলি এই হিস্টোগ্রামে নেই, এই ক্ষেত্রে আমরা মিলিসেকেন্ড ধরে নেব৷
উপরন্তু, পৃষ্ঠা লোডের 5.21% ইতিহাসের প্রথম সংগ্রহের সময়কালে 2,500ms এবং 4,000ms এর মধ্যে উদাহরণ মেট্রিক মান অনুভব করেছে, এবং 2.88% পৃষ্ঠা লোড ইতিহাসের প্রথম সংগ্রহের সময়কালে 4,000ms এর চেয়ে বেশি মান অনুভব করেছে৷
শতকরা
মেট্রিক্সে পারসেন্টাইলের টাইমসিরিজও থাকতে পারে যা অতিরিক্ত বিশ্লেষণের জন্য উপযোগী হতে পারে।
ডেটা পয়েন্টগুলি এপিআই দ্বারা প্রত্যাবর্তিত সংগ্রহের সময়কালের তারিখের ক্রমানুসারে উপস্থাপন করা হয়, প্রথম বিন্দুটি হল প্রাচীনতম সময়কাল এবং চূড়ান্ত বিন্দুটি সবচেয়ে সাম্প্রতিক সংগ্রহের সময়।
{
"percentilesTimeseries": {
"p75s": [1362, 1352, 1344, 1356, 1366, 1377]
},
}
এই পার্সেন্টাইলগুলি সেই মেট্রিকের জন্য প্রদত্ত শতাংশে নির্দিষ্ট মেট্রিক মান দেখাতে পারে। এগুলি উপলব্ধ ডেটার সম্পূর্ণ সেটের উপর ভিত্তি করে এবং চূড়ান্ত বিন করা ডেটা নয়, তাই তারা অগত্যা একটি ইন্টারপোলেটেড পার্সেন্টাইলের সাথে মেলে না যা চূড়ান্ত বিন করা হিস্টোগ্রামের উপর ভিত্তি করে।
ভগ্নাংশ
মেট্রিক্স লেবেলযুক্ত ভগ্নাংশের টাইমসিরিজ হিসাবে প্রকাশ করা যেতে পারে; প্রতিটি লেবেল একটি নির্দিষ্ট উপায়ে একটি পৃষ্ঠা লোড বর্ণনা করে। ডেটা পয়েন্টগুলি এপিআই দ্বারা প্রত্যাবর্তিত সংগ্রহের সময়কালের তারিখের ক্রমানুসারে উপস্থাপন করা হয়, প্রথম বিন্দুটি হল প্রাচীনতম সময়কাল এবং চূড়ান্ত বিন্দুটি সবচেয়ে সাম্প্রতিক সংগ্রহের সময়।
উদাহরণ:
{
"fractionTimeseries": {
"desktop": {"fractions": [0.3195, 0.2115, 0.1421]},
"phone": {"fractions": [0.6295, 0.7544, 0.8288]},
"tablet": {"fractions": [0.051, 0.0341, 0.029]}
}
}
এই উদাহরণে, সাম্প্রতিকতম ডেটা পয়েন্ট নির্দেশ করে যে 14.21% পৃষ্ঠা লোড হয়েছে ডেস্কটপ থেকে, এবং 82.88% ফোন থেকে এসেছে৷
মেট্রিক মান প্রকার
যেহেতু CrUX History API একই মেট্রিক মান প্রকারগুলি ব্যবহার করে, আপনি আরও বিশদ বিবরণের জন্য দৈনিক CrUX API মেট্রিক মান প্রকারের ডকুমেন্টেশন উল্লেখ করতে পারেন।
মেট্রিক যোগ্যতা
যোগ্যতার মানদণ্ডের উপর ভিত্তি করে একটি উত্স বা URL শুধুমাত্র CrUX ইতিহাস API দ্বারা আচ্ছাদিত কিছু সংগ্রহের সময়কালের জন্য যোগ্য হতে পারে। এই ক্ষেত্রে CrUX History API histogramTimeseries ঘনত্বের জন্য "NaN" এবং সংগ্রহের সময়কালের জন্য percentilesTimeseries জন্য null যা কোনো যোগ্য ডেটা নেই। পার্থক্যের কারণ হল হিস্টোগ্রামের ঘনত্ব সর্বদা সংখ্যা, যখন শতকরা সংখ্যা বা স্ট্রিং হতে পারে (সিএলএস স্ট্রিং ব্যবহার করে, যদিও তারা সংখ্যার মতো দেখায়)।
উদাহরণস্বরূপ, যদি দ্বিতীয় মেয়াদে কোনো যোগ্য ডেটা না থাকে, তাহলে এটি এইভাবে দেখাবে:
{
"histogramTimeseries": [
{
"start": 0,
"end": 2500,
"densities": [0.9190, "NaN", 0.9194, 0.9195, 0.9183, 0.9187]
},
{
"start": 2500,
"end": 4000,
"densities": [0.0521, "NaN", 0.0518, 0.0518, 0.0526, 0.0527]
},
{
"start": 4000,
"densities": [0.0288, "NaN", 0.0286, 0.0285, 0.0290, 0.0285]
}
],
"percentilesTimeseries": {
"p75s": [1362, null, 1344, 1356, 1366, 1377]
},
}
ইউআরএল বা উৎসগুলির জন্য যা সময়ের সাথে সাথে যোগ্যতার মধ্যে পড়ে এবং এর বাইরে, আপনি অনেক অনুপস্থিত এন্ট্রি লক্ষ্য করতে পারেন।
সংগ্রহের সময়কাল
CrUX History API-এ firstDate এবং endDate ক্ষেত্রগুলির একটি অ্যারে সহ একটি collectionPeriods অবজেক্ট রয়েছে যা প্রতিটি একত্রীকরণ উইন্ডোর শুরু এবং শেষ তারিখগুলিকে উপস্থাপন করে। যেমন:
"collectionPeriods": [{
"firstDate": { "year": 2022, "month": 7, "day": 10 },
"lastDate": { "year": 2022, "month": 8, "day": 6 }
}, {
"firstDate": { "year": 2022, "month": 7, "day": 17 },
"lastDate": { "year": 2022, "month": 8, "day": 13 }
}, {
"firstDate": { "year": 2022, "month": 7, "day": 24 },
"lastDate": { "year": 2022, "month": 8, "day": 20 }
}, {
"firstDate": { "year": 2022, "month": 7, "day": 31 },
"lastDate": { "year": 2022, "month": 8, "day": 27 }
}, {
"firstDate": { "year": 2022, "month": 8, "day": 7 },
"lastDate": { "year": 2022, "month": 9, "day": 3 }
}, {
"firstDate": { "year": 2022, "month": 8, "day": 14 },
"lastDate": { "year": 2022, "month": 9, "day": 10 }
}
]
এই সংগ্রহের সময়কাল ক্রমবর্ধমান ক্রমে এবং প্রতিক্রিয়ার অন্যান্য বিভাগে প্রতিটি ডেটা পয়েন্টের তারিখ স্প্যান উপস্থাপন করে।
ইতিহাস API প্রতি সোমবার আপডেট করা হয় এবং আগের শনিবার পর্যন্ত ডেটা ধারণ করে (স্ট্যান্ডার্ড 2-দিনের ব্যবধান অনুযায়ী)। এতে আগের 40-সপ্তাহের ডেটা রয়েছে—প্রতি সপ্তাহে একটি সংগ্রহের সময়কাল। ডিফল্টরূপে, 25টি সংগ্রহের সময় ফেরত দেওয়া হয়। অনুরোধে "collectionPeriodCount" সেট করে এটি 1 থেকে 40 এর মধ্যে একটি সংখ্যায় পরিবর্তন করা যেতে পারে৷
যেহেতু প্রতিটি সংগ্রহের সময়কাল পূর্ববর্তী 28-দিনের সমষ্টিগত ডেটা ধারণ করে, এবং সংগ্রহের সময়কাল প্রতি সপ্তাহে, এর অর্থ সংগ্রহের সময়গুলি ওভারল্যাপ হবে। এগুলি ডেটার চলমান গড়ের মতো, প্রতিটি পরবর্তী সময়ের মধ্যে তিন সপ্তাহের মূল্যের ডেটা অন্তর্ভুক্ত করা হয় এবং এক সপ্তাহ আলাদা।
উদাহরণ প্রশ্ন
POST বডিতে JSON অবজেক্ট হিসেবে ক্যোয়ারী ডেটা সহ https://chromeuxreport.googleapis.com/v1/records:queryHistoryRecord?key=[YOUR_API_KEY]" এ পোস্ট অনুরোধ ব্যবহার করে JSON অবজেক্ট হিসেবে প্রশ্নগুলি জমা দেওয়া হয়।
দৈনিক CrUX API-এর queryRecord প্রতিস্থাপন করে queryHistoryRecord এর ব্যবহার লক্ষ্য করুন।
একটি উদাহরণ শরীর হল:
{
"origin": "https://example.com",
"formFactor": "PHONE",
"metrics": [
"largest_contentful_paint",
"experimental_time_to_first_byte"
]
}
উদাহরণস্বরূপ, এটিকে নিম্নলিখিত কমান্ড লাইনের সাহায্যে curl থেকে কল করা যেতে পারে (আপনার কী দিয়ে API_KEY প্রতিস্থাপন করা):
curl -s --request POST 'https://chromeuxreport.googleapis.com/v1/records:queryHistoryRecord?key=API_KEY' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"formFactor":"PHONE","origin":"https://www.example.com","metrics":["largest_contentful_paint", "experimental_time_to_first_byte"]}'
পৃষ্ঠা-স্তরের ডেটা origin পরিবর্তে কোয়েরিতে একটি url সম্পত্তি পাস করে API-এর মাধ্যমে পাওয়া যায়:
{
"url": "https://example.com/page",
"formFactor": "PHONE",
"metrics": [
"largest_contentful_paint",
"experimental_time_to_first_byte"
]
}
যদি metrics প্রপার্টি সেট করা না থাকে তাহলে সমস্ত উপলব্ধ মেট্রিক ফেরত দেওয়া হবে:
-
cumulative_layout_shift -
first_contentful_paint -
interaction_to_next_paint -
largest_contentful_paint -
experimental_time_to_first_byte -
largest_contentful_paint_resource_type -
largest_contentful_paint_image_time_to_first_byte -
largest_contentful_paint_image_resource_load_delay -
largest_contentful_paint_image_resource_load_duration -
largest_contentful_paint_image_element_render_delay -
navigation_types -
round_trip_time -
form_factors(অনুরোধে কোনোformFactorউল্লেখ না থাকলে শুধুমাত্র রিপোর্ট করা হয়)
যদি কোন formFactor মান প্রদান করা না হয় তাহলে মানগুলি সমস্ত ফর্ম ফ্যাক্টর জুড়ে একত্রিত হবে।
আরও উদাহরণের জন্য CrUX History API নির্দেশিকা ব্যবহার করা দেখুন।
ডেটা পাইপলাইন
CrUX ডেটাসেট API-এর মাধ্যমে উপলব্ধ হওয়ার আগে ডেটা একত্রীকরণ, একত্রিত এবং ফিল্টার করার জন্য একটি পাইপলাইনের মাধ্যমে প্রক্রিয়া করা হয়।
রোলিং গড়
ক্রোম ইউএক্স রিপোর্টের ডেটা হল একত্রিত মেট্রিক্সের 28-দিনের রোলিং গড়৷ এর মানে হল যে কোনও নির্দিষ্ট সময়ে Chrome UX রিপোর্টে উপস্থাপিত ডেটা আসলে গত 28 দিনের একত্রিত ডেটা।
হিস্ট্রি এপিআই-এ অনেকগুলি সংগ্রহের সময়কাল রয়েছে, প্রতিটি এই 28 দিনের মধ্যে বিস্তৃত। যেহেতু প্রতিটি সংগ্রহের সময়কাল পূর্ববর্তী 28-দিনের সমষ্টিগত ডেটা ধারণ করে, এবং সংগ্রহের সময়কাল প্রতি সপ্তাহে, এর অর্থ সংগ্রহের সময়গুলি ওভারল্যাপ হবে। এগুলি ডেটার চলমান গড়ের মতো, প্রতিটি পরবর্তী সময়ের মধ্যে তিন সপ্তাহের মূল্যের ডেটা অন্তর্ভুক্ত করা হয় এবং এক সপ্তাহ আলাদা।
সাপ্তাহিক আপডেট
ইতিহাস API প্রতি সোমবার 04:00 UTC এর কাছাকাছি আপডেট করা হয় এবং এতে আগের শনিবার পর্যন্ত ডেটা থাকে (স্ট্যান্ডার্ড 2-দিনের ব্যবধান অনুযায়ী)। এতে আগের 40 সপ্তাহ (প্রায় 10 মাস) মূল্যের ডেটা রয়েছে, প্রতি সপ্তাহে একটি সংগ্রহের সময়কাল। মনে রাখবেন যে ডিফল্টরূপে, আমরা প্রতি টাইমসিরিজে 25টি এন্ট্রি ফেরত দিই; কিন্তু এটি collectionPeriodCount অনুরোধ প্যারামিটার নির্দিষ্ট করে ওভাররাইড করা যেতে পারে।
আপডেট সময়ের জন্য কোন পরিষেবা স্তর চুক্তি নেই; এটি প্রতিদিন সর্বোত্তম প্রচেষ্টার ভিত্তিতে পরিচালিত হয়।
স্কিমা
CrUX History API-এর জন্য একটি একক এন্ডপয়েন্ট রয়েছে যা POST HTTP অনুরোধ গ্রহণ করে। এপিআই এমন একটি record ফেরত দেয় যাতে অনুরোধ করা উৎস বা পৃষ্ঠা সম্পর্কে কর্মক্ষমতা ডেটার সাথে সম্পর্কিত এক বা একাধিক metrics থাকে।
HTTP অনুরোধ
POST https://chromeuxreport.googleapis.com/v1/records:queryHistoryRecord
URL gRPC ট্রান্সকোডিং সিনট্যাক্স ব্যবহার করে।
শরীরের অনুরোধ
CrUX History API একটি অতিরিক্ত, ঐচ্ছিক "collectionPeriodCount" ফিল্ড সহ দৈনিক CrUX API হিসাবে অনুরূপ অনুরোধ সংস্থাগুলি ব্যবহার করে:
{
"formFactor": enum (FormFactor),
"metrics": [
string
],
// Union field url_pattern can be only one of the following:
"origin": string,
"url": string,
// End of list of possible types for union field url_pattern.
"collectionPeriodCount": int32 // Optional: Number of periods to collect
}
| ক্ষেত্র | |
|---|---|
formFactor | ফর্ম ফ্যাক্টর হল একটি ক্যোয়ারী ডাইমেনশন যা ডিভাইস ক্লাস নির্দিষ্ট করে যে রেকর্ডের ডেটা অন্তর্ভুক্ত হওয়া উচিত। এই ক্ষেত্রটি দ্রষ্টব্য: যদি কোনো ফর্ম ফ্যাক্টর নির্দিষ্ট করা না থাকে, তাহলে সমস্ত ফর্ম ফ্যাক্টরগুলির সমষ্টিগত ডেটা সহ একটি বিশেষ রেকর্ড ফেরত দেওয়া হবে৷ |
metrics[] | মেট্রিক্স যে প্রতিক্রিয়া অন্তর্ভুক্ত করা উচিত. যদি কোনোটি নির্দিষ্ট না থাকে তাহলে পাওয়া কোনো মেট্রিক ফেরত দেওয়া হবে। অনুমোদিত মান: |
ইউনিয়ন ক্ষেত্র url_ pattern । url_pattern একটি রেকর্ড লুকআপের জন্য প্রধান শনাক্তকারী। এটি নিম্নলিখিতগুলির মধ্যে শুধুমাত্র একটি হতে পারে: | |
origin | উদাহরণ: |
url | উদাহরণ: |
ইউনিয়ন ফিল্ডের শেষ url_ pattern । | |
collectionPeriodCount | 1 থেকে 40 এর মধ্যে ফেরত দিতে সংগ্রহের সময়কালের সংখ্যা। ডিফল্ট হল 25। নোট করুন যদি কোনো |
উদাহরণস্বরূপ, web.dev হোমপেজের জন্য ডেস্কটপের সবচেয়ে বড় বিষয়বস্তুযুক্ত পেইন্ট মানগুলির অনুরোধ করতে:
{
"url": "https://web.dev/",
"formFactor": "DESKTOP",
"metrics": [
"largest_contentful_paint"
]
}
এই অনুরূপ অনুরোধটিতে ঐচ্ছিক collectionPeriodCount ফিল্ড অন্তর্ভুক্ত রয়েছে এবং https://web.dev মূলের জন্য মোটামুটি 10 মাসের ওয়েব পারফরম্যান্স ইতিহাস প্রদান করে 40টি টাইমসিরিজ এন্ট্রি প্রদান করবে:
{
"url": "https://web.dev/",
"formFactor": "DESKTOP",
"metrics": [
"largest_contentful_paint"
],
"collectionPeriodCount": 40
}
প্রতিক্রিয়া শরীর
সফল অনুরোধগুলি নিম্নলিখিত কাঠামোতে একটি record অবজেক্ট এবং urlNormalizationDetails সহ প্রতিক্রিয়া ফেরত দেয়:
{
"record": {
"key": {
object (Key)
},
"metrics": [
string: {
object (Metric)
}
]
},
"urlNormalizationDetails": {
object (UrlNormalization)
}
}
উদাহরণস্বরূপ, পূর্ববর্তী অনুরোধে অনুরোধের বডির প্রতিক্রিয়া হতে পারে:
{
"record": {
"key": {
"origin": "https://web.dev"
},
"metrics": {
"largest_contentful_paint": {
"histogramTimeseries": [{
"start": 0, "end": 2500, "densities": [
0.9190, 0.9203, 0.9194, 0.9195, 0.9183, 0.9187, ...
]
}, {
"start": 2500, "end": 4000, "densities": [
0.0521, 0.0513, 0.0518, 0.0518, 0.0526, 0.0527, ...
]
}, {
"start": 4000, "densities": [
0.0288, 0.0282, 0.0286, 0.0285, 0.0290, 0.0285, ...
]
}
],
"percentilesTimeseries": {
"p75s": [
1362, 1352, 1344, 1356, 1366, 1377, ...
]
}
}
},
"collectionPeriods": [{
"firstDate": { "year": 2022, "month": 7, "day": 10 },
"lastDate": { "year": 2022, "month": 8, "day": 6 }
}, {
"firstDate": { "year": 2022, "month": 7, "day": 17 },
"lastDate": { "year": 2022, "month": 8, "day": 13 }
}, {
"firstDate": { "year": 2022, "month": 7, "day": 24 },
"lastDate": { "year": 2022, "month": 8, "day": 20 }
}, {
"firstDate": { "year": 2022, "month": 7, "day": 31 },
"lastDate": { "year": 2022, "month": 8, "day": 27 }
}, {
"firstDate": { "year": 2022, "month": 8, "day": 7 },
"lastDate": { "year": 2022, "month": 9, "day": 3 }
}, {
"firstDate": { "year": 2022, "month": 8, "day": 14 },
"lastDate": { "year": 2022, "month": 9, "day": 10 }
}, {
...
}
]
}
}
চাবি
Key এই রেকর্ডটিকে অনন্য হিসাবে চিহ্নিত করে এমন সমস্ত মাত্রা সংজ্ঞায়িত করে।
{
"formFactor": enum (FormFactor),
// Union field url_pattern can be only one of the following:
"origin": string,
"url": string
// End of list of possible types for union field url_pattern.
}
| ক্ষেত্র | |
|---|---|
formFactor | ফর্ম ফ্যাক্টর হল ডিভাইস ক্লাস যা সমস্ত ব্যবহারকারী এই রেকর্ডের জন্য সাইট অ্যাক্সেস করতে ব্যবহার করে। যদি ফর্ম ফ্যাক্টর অনির্দিষ্ট হয়, তাহলে সমস্ত ফর্ম ফ্যাক্টরগুলির সমষ্টিগত ডেটা ফেরত দেওয়া হবে। |
ইউনিয়ন ক্ষেত্র url_ pattern । URL প্যাটার্ন হল সেই URL যা রেকর্ড প্রযোজ্য। url_ pattern নিম্নলিখিতগুলির মধ্যে একটি হতে পারে: | |
origin | অরিজিন নির্দিষ্ট করে যে এই রেকর্ডের জন্য। দ্রষ্টব্য: একটি উত্স নির্দিষ্ট করার সময়, সমস্ত পৃষ্ঠাগুলিতে এই উত্সের অধীনে লোডের জন্য ডেটা মূল স্তরের ব্যবহারকারীর অভিজ্ঞতা ডেটাতে একত্রিত হয়৷ |
url | দ্রষ্টব্য: একটি |
মেট্রিক্স
একটি metric হল একটি একক ওয়েব পারফরম্যান্স মেট্রিকের জন্য ব্যবহারকারীর অভিজ্ঞতার ডেটার একটি সেট, যেমন প্রথম বিষয়বস্তুপূর্ণ পেইন্ট। এটি bins একটি সিরিজ হিসাবে বাস্তব বিশ্বের Chrome ব্যবহারের একটি সারাংশ হিস্টোগ্রাম রয়েছে৷
{
"histogramTimeseries": [
{
object (Bin)
}
],
"percentilesTimeseries": {
object (Percentiles)
}
}
বা
"fractionTimeseries": {
object (Fractions)
}
| ক্ষেত্র | |
|---|---|
histogramTimeseries[] | একটি মেট্রিকের জন্য ব্যবহারকারীর অভিজ্ঞতার টাইমসিরিজ হিস্টোগ্রাম। টাইমসিরিজ হিস্টোগ্রামে কমপক্ষে একটি বিন থাকবে এবং সমস্ত বিনের ঘনত্ব ~1 পর্যন্ত যোগ হবে। সেই নির্দিষ্ট সংগ্রহের সময়ের জন্য অনুপস্থিত মানগুলিকে |
percentilesTimeseries | মেট্রিকের সাধারণ উপযোগী পার্সেন্টাইল। পারসেন্টাইলের মান প্রকার হিস্টোগ্রাম বিনের জন্য প্রদত্ত মান প্রকারের মতোই হবে। সেই নির্দিষ্ট সংগ্রহের সময়ের জন্য অনুপস্থিত মানগুলিকে |
fractionTimeseries | এই বস্তুটিতে লেবেলযুক্ত ভগ্নাংশের টাইমসিরিজ রয়েছে, যা প্রতি এন্ট্রিতে ~1 পর্যন্ত যোগ করে। ভগ্নাংশগুলিকে 4 দশমিক স্থানে বৃত্তাকার করা হয়। অনুপস্থিত এন্ট্রিগুলি সমস্ত ভগ্নাংশ জুড়ে `"NaN"` হিসাবে প্রকাশ করা হয়৷ |
বিন
একটি bin হল ডেটার একটি বিচ্ছিন্ন অংশ যা শুরু থেকে শেষ পর্যন্ত বিস্তৃত হয়, অথবা যদি শুরু থেকে ধনাত্মক অসীম পর্যন্ত কোন শেষ না দেওয়া হয়।
একটি বিনের শুরু এবং শেষের মানগুলি মেট্রিকের মান প্রকারে দেওয়া হয় যা এটি প্রতিনিধিত্ব করে। উদাহরণস্বরূপ, প্রথম কনটেন্টফুল পেইন্টটি মিলিসেকেন্ডে পরিমাপ করা হয় এবং ints হিসাবে প্রকাশ করা হয়, তাই এর মেট্রিক বিনগুলি এর শুরু এবং শেষ প্রকারের জন্য int32s ব্যবহার করবে। তবে ক্রমবর্ধমান বিন্যাস স্থানান্তর ইউনিটহীন দশমিকে পরিমাপ করা হয় এবং একটি স্ট্রিং হিসাবে এনকোড করা দশমিক হিসাবে উন্মুক্ত করা হয়, তাই এর মেট্রিক বিনগুলি এর মান প্রকারের জন্য স্ট্রিং ব্যবহার করবে।
{
"start": value,
"end": value,
"densities": [number, number, number...etc.]
}
| ক্ষেত্র | |
|---|---|
start | স্টার্ট হল ডাটা বিনের শুরু। |
end | শেষ হল ডাটা বিনের শেষ। যদি শেষ জনবহুল না হয়, তাহলে বিনের কোন শেষ নেই এবং এটি শুরু থেকে +inf পর্যন্ত বৈধ। |
densities | প্রদত্ত মেট্রিকের জন্য এই বিনের মান অভিজ্ঞ ব্যবহারকারীদের অনুপাতের একটি টাইমসিরিজ৷ ঘনত্ব 4 দশমিক স্থানে বৃত্তাকার। |
শতকরা
Percentiles একটি প্রদত্ত পরিসংখ্যানগত শতাংশে একটি মেট্রিকের সিন্থেটিক মান রয়েছে। মোট ব্যবহারকারীর সংখ্যার মধ্যে শতকরা শতাংশ ব্যবহারকারীর দ্বারা অভিজ্ঞ মেট্রিকের মান অনুমান করার জন্য এগুলি ব্যবহার করা হয়।
{
"P75": value
}
| ক্ষেত্র | |
|---|---|
p75s | 75% পৃষ্ঠা লোড হওয়া মানগুলির টাইমসিরিজ প্রদত্ত মেট্রিকটি এই মানের বা তার চেয়ে কম অনুভব করেছে৷ |
ভগ্নাংশ
Fractions লেবেলযুক্ত ভগ্নাংশের টাইমসিরিজ রয়েছে যা প্রতি এন্ট্রিতে ~1 পর্যন্ত যোগ করে। প্রতিটি লেবেল কোনো না কোনোভাবে একটি পৃষ্ঠা লোডকে বর্ণনা করে, তাই এইভাবে উপস্থাপিত মেট্রিকগুলিকে সংখ্যাসূচক মানের পরিবর্তে স্বতন্ত্র মান তৈরি করার কথা ভাবা যেতে পারে এবং ভগ্নাংশগুলি প্রকাশ করে যে একটি নির্দিষ্ট স্বতন্ত্র মান কত ঘন ঘন পরিমাপ করা হয়েছিল।
{
"label_1": { "fractions": array[fraction]},
"label_1": { "fractions": array[fraction]},
...
"label_n": { "fractions": array[fraction]}
}
অনেকটা হিস্টোগ্রাম বিনের ঘনত্বের মানের মতো, প্রতিটি fraction একটি সংখ্যা 0.0 <= value <= 1.0 , এবং তারা ~1.0 পর্যন্ত যোগ করে। যখন কোনও নির্দিষ্ট সংগ্রহের জন্য মেট্রিক উপলব্ধ না হয়, তখন সংশ্লিষ্ট এন্ট্রি ভগ্নাংশের সমস্ত অ্যারেতে "ন্যান" হবে।
| ক্ষেত্র | |
|---|---|
p75s | 75% পৃষ্ঠার লোডগুলির মানগুলির টাইমসারিজগুলি প্রদত্ত মেট্রিককে এই মানের চেয়ে বা তার চেয়ে কম অনুভব করে। |
Urlnormalization
সফল অনুসন্ধানের উচ্চতর সুযোগ অর্জনের জন্য একটি ইউআরএলকে স্বাভাবিক করার জন্য নেওয়া সাধারণকরণের ক্রিয়াগুলির প্রতিনিধিত্বকারী অবজেক্ট। এগুলি বেসিক, স্বয়ংক্রিয় পরিবর্তনগুলি যা প্রদত্ত url_pattern সন্ধান করার সময় নেওয়া হয় তা ব্যর্থ বলে জানা যায়। পুনঃনির্দেশগুলি অনুসরণ করার মতো জটিল ক্রিয়াগুলি পরিচালনা করা হয় না।
{
"originalUrl": string,
"normalizedUrl": string
}
| ক্ষেত্র | |
|---|---|
originalUrl | মূল অনুরোধ করা ইউআরএল কোনও সাধারণীকরণের ক্রিয়াকলাপের আগে। |
normalizedUrl | কোনও সাধারণীকরণের ক্রিয়াকলাপের পরে ইউআরএল। এটি একটি বৈধ ব্যবহারকারীর অভিজ্ঞতা ইউআরএল যা যুক্তিসঙ্গতভাবে সন্ধান করা যেতে পারে। |
হারের সীমা
ক্রাক্স হিস্ট্রি এপিআই একই সীমাটি ক্রাক্স এপিআইয়ের সাথে গুগল ক্লাউড প্রজেক্টের জন্য প্রতি মিনিটে 150 ক্যোয়ারির জন্য এপিআইয়ের জন্য ভাগ করে দেয়, যা বিনা মূল্যে দেওয়া হয়। এই সীমা এবং আপনার বর্তমান ব্যবহার, গুগল ক্লাউড কনসোলে দেখা যাবে। এই উদার কোটা ব্যবহারের ক্ষেত্রে বেশিরভাগ ক্ষেত্রে যথেষ্ট হওয়া উচিত এবং বর্ধিত কোটার জন্য অর্থ প্রদান করা সম্ভব নয়।