เผยแพร่: 7 ก.พ. 2023 อัปเดตล่าสุด: 11 เม.ย. 2025
CrUX History API ให้สิทธิ์เข้าถึงข้อมูลประสบการณ์ของผู้ใช้จริงที่ผ่านมา 6 เดือนในระดับรายละเอียดหน้าเว็บและต้นทางโดยมีความล่าช้าต่ำ
กรณีการใช้งานทั่วไป
CrUX History API ช่วยให้สามารถค้นหาเมตริกประสบการณ์ของผู้ใช้ที่ผ่านมาสําหรับ URI ที่เฉพาะเจาะจง เช่น "ดูแนวโน้ม UX ที่ผ่านมาของต้นทาง https://example.com
"
History API มีโครงสร้างเหมือนกับ CrUX API รายวัน ยกเว้นค่าจะอยู่ในอาร์เรย์และคีย์จะมีป้ายกำกับเป็นชื่อพหูพจน์ (เช่น histogramTimeseries
แทน histogram
หรือ p75s
แทน p75
)
คีย์ API ของ CrUX
เช่นเดียวกับ API รายวัน การใช้ CrUX History API ต้องใช้คีย์ Google Cloud API ที่กําหนดไว้สําหรับการใช้งาน Chrome UX Report API
คุณใช้คีย์เดียวกันกับ API รายวันและประวัติได้
การรับและใช้คีย์ API
หรือสร้างในหน้าข้อมูลเข้าสู่ระบบ
หลังจากมีคีย์ API แล้ว แอปพลิเคชันจะเพิ่มพารามิเตอร์การค้นหา key=yourAPIKey
ต่อท้าย URL คำขอทั้งหมดได้
คีย์ API ปลอดภัยสำหรับการฝังใน URL โดยไม่จำเป็นต้องเข้ารหัส
โมเดลข้อมูล
ส่วนนี้แสดงรายละเอียดโครงสร้างของข้อมูลในคำขอและการตอบกลับ
บันทึก
ข้อมูลหนึ่งๆ เกี่ยวกับหน้าเว็บหรือเว็บไซต์ ระเบียนอาจมีข้อมูลที่เจาะจงสำหรับตัวระบุและชุดค่าผสมของมิติข้อมูลหนึ่งๆ ระเบียนหนึ่งๆ อาจมีข้อมูลของเมตริกอย่างน้อย 1 รายการ
รหัสระบุ
ตัวระบุจะระบุระเบียนที่จะค้นหา ใน CrUX ตัวระบุเหล่านี้คือหน้าเว็บและเว็บไซต์
Origin
เมื่อตัวระบุเป็นต้นทาง ระบบจะรวบรวมข้อมูลทั้งหมดที่มีอยู่ในหน้าเว็บทั้งหมดในต้นทางนั้นเข้าด้วยกัน ตัวอย่างเช่น สมมติว่าแหล่งที่มา http://www.example.com
มีหน้าเว็บตามที่แสดงใน Sitemap นี้
http://www.example.com/
http://www.example.com/foo.html
http://www.example.com/bar.html
ซึ่งหมายความว่าเมื่อค้นหารายงาน UX ของ Chrome โดยตั้งค่าต้นทางเป็น http://www.example.com
ระบบจะแสดงข้อมูลของ http://www.example.com/
, http://www.example.com/foo.html
และ http://www.example.com/bar.html
โดยรวมกัน เนื่องจากหน้าเว็บทั้งหมดเหล่านั้นอยู่ภายใต้ต้นทางนั้น
URL
เมื่อตัวระบุเป็น URL ระบบจะแสดงเฉพาะข้อมูลของ URL นั้นๆ เมื่อดู Sitemap ต้นทาง http://www.example.com
อีกครั้ง
http://www.example.com/
http://www.example.com/foo.html
http://www.example.com/bar.html
หากตั้งค่าตัวระบุเป็น URL ที่มีค่า http://www.example.com/foo.html
ระบบจะแสดงเฉพาะข้อมูลของหน้านั้น
ขนาด
มิติข้อมูลจะระบุกลุ่มข้อมูลเฉพาะที่ระบบใช้รวมระเบียน เช่น รูปแบบของ PHONE
บ่งบอกว่าระเบียนมีข้อมูลเกี่ยวกับการโหลดที่เกิดขึ้นบนอุปกรณ์เคลื่อนที่
รูปแบบของอุปกรณ์
CrUX History API มีให้บริการแบบรวมตามมิติข้อมูลรูปแบบของอุปกรณ์เท่านั้น อุปกรณ์ประเภทนี้เป็นอุปกรณ์ทั่วไปที่แบ่งออกเป็น PHONE
, TABLET
และ DESKTOP
เมตริก
เรารายงานเมตริกเป็นอนุกรมเวลาของการรวมสถิติ ซึ่งได้แก่ ฮิสโตแกรม เปอร์เซ็นต์ไทล์ และเศษส่วน
ฮิสโตแกรม
เมื่อแสดงเมตริกในอาร์เรย์ฮิสโตแกรม รายการอนุกรมเวลาแต่ละรายการจะแสดงเปอร์เซ็นต์ของการโหลดหน้าเว็บที่เมตริกอยู่ในช่วง โดยคิดเป็นสัดส่วนกับทั้งหมด ระบบจะแสดงจุดข้อมูลตามลําดับวันที่ระยะเวลาการเก็บรวบรวมข้อมูลที่ API แสดงด้วย โดยจุดแรกคือระยะเวลาที่เร็วที่สุด และจุดสุดท้ายคือระยะเวลาการเก็บรวบรวมข้อมูลล่าสุด
ฮิสโตแกรม 3 กล่องสําหรับเมตริกตัวอย่างมีลักษณะดังนี้
{
"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% มีค่าเมตริกตัวอย่างระหว่าง 0-2,500 มิลลิวินาทีสําหรับระยะเวลาการเก็บรวบรวมข้อมูลครั้งแรกในประวัติ ตามด้วย 92.03%, 91.94%... หน่วยของเมตริกไม่ได้อยู่ในฮิสโตแกรมนี้ ในกรณีนี้เราจะถือว่าหน่วยเป็นมิลลิวินาที
นอกจากนี้ การโหลดหน้าเว็บ 5.21% มีค่าเมตริกตัวอย่างระหว่าง 2,500-4,000 มิลลิวินาทีในระยะการเก็บรวบรวมข้อมูลแรกในประวัติ และ 2.88% ของการโหลดหน้าเว็บมีค่ามากกว่า 4,000 มิลลิวินาทีในระยะการเก็บรวบรวมข้อมูลแรกในประวัติ
เปอร์เซ็นต์ไทล์
เมตริกอาจมีอนุกรมเวลาของเปอร์เซ็นต์ไทล์ที่เป็นประโยชน์สําหรับการวิเคราะห์เพิ่มเติมด้วย
ระบบจะแสดงจุดข้อมูลตามลําดับวันที่ระยะเวลาการเก็บรวบรวมข้อมูลที่ API แสดงด้วย โดยจุดแรกคือระยะเวลาที่เร็วที่สุด และจุดสุดท้ายคือระยะเวลาการเก็บรวบรวมข้อมูลล่าสุด
{
"percentilesTimeseries": {
"p75s": [1362, 1352, 1344, 1356, 1366, 1377]
},
}
เปอร์เซ็นต์เหล่านี้สามารถแสดงค่าเมตริกที่เฉพาะเจาะจงที่เปอร์เซ็นต์ที่กำหนดสำหรับเมตริกนั้น ค่าเหล่านี้อิงตามชุดข้อมูลที่มีอยู่ทั้งหมด ไม่ใช่ข้อมูลสุดท้ายที่จัดกลุ่ม ดังนั้นจึงไม่จำเป็นต้องตรงกับเปอร์เซ็นต์ไทล์ที่อัตราส่วนซึ่งอิงตามฮิสโตแกรมการจัดกลุ่มสุดท้าย
เศษส่วน
เมตริกอาจแสดงเป็นอนุกรมเวลาของเศษส่วนที่มีป้ายกำกับ โดยป้ายกำกับแต่ละรายการจะอธิบายการโหลดหน้าเว็บในลักษณะหนึ่งๆ ระบบจะแสดงจุดข้อมูลตามลําดับวันที่ระยะเวลาการเก็บรวบรวมข้อมูลที่ API แสดงด้วย โดยจุดแรกคือระยะเวลาที่เร็วที่สุด และจุดสุดท้ายคือระยะเวลาการเก็บรวบรวมข้อมูลล่าสุด
ตัวอย่าง
{
"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 History API ครอบคลุมเท่านั้น โดยอิงตามเกณฑ์การมีสิทธิ์ ในกรณีเหล่านี้ CrUX History API จะแสดงผล "NaN"
สําหรับความหนาแน่น histogramTimeseries
และ null
สําหรับ percentilesTimeseries
สําหรับระยะเวลาการเก็บรวบรวมที่ไม่มีข้อมูลที่มีสิทธิ์ สาเหตุที่ต่างกันคือความหนาแน่นของฮิสโตแกรมจะเป็นตัวเลขเสมอ ส่วนเปอร์เซ็นต์ไทล์อาจเป็นตัวเลขหรือสตริงก็ได้ (CLS ใช้สตริง แม้ว่าจะดูเหมือนตัวเลขก็ตาม)
เช่น หากระยะเวลาที่ 2 ไม่มีข้อมูลที่มีสิทธิ์ ข้อมูลจะแสดงดังนี้
{
"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]
},
}
สำหรับ URL หรือต้นทางที่มีสิทธิ์หรือไม่มีสิทธิ์ตามช่วงเวลา คุณอาจเห็นว่ามีรายการที่หายไปจำนวนมาก
ระยะเวลาการเก็บรวบรวม
CrUX History API มีออบเจ็กต์ collectionPeriods
ที่มีอาร์เรย์ของช่อง firstDate
และ endDate
ซึ่งแสดงวันที่เริ่มต้นและวันที่สิ้นสุดของกรอบเวลาการรวบรวมข้อมูลแต่ละกรอบ เช่น
"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 }
}
]
ระยะเวลาการเก็บรวบรวมเหล่านี้จะเรียงตามลําดับจากน้อยไปมากและแสดงช่วงวันที่ของจุดข้อมูลแต่ละจุดในส่วนอื่นๆ ของคําตอบ
History API จะอัปเดตทุกวันจันทร์และมีข้อมูลจนถึงวันเสาร์ก่อนหน้า (ตามการหน่วงเวลามาตรฐาน 2 วัน) ข้อมูลนี้มีข้อมูล 40 สัปดาห์ก่อนหน้า ซึ่งก็คือระยะเวลาการเก็บรวบรวม 1 สัปดาห์ต่อสัปดาห์ โดยค่าเริ่มต้น ระบบจะแสดงระยะเวลาการเก็บรวบรวม 25 รายการ ซึ่งสามารถเปลี่ยนแปลงได้โดยการตั้งค่า "collectionPeriodCount"
ในคำขอเป็นตัวเลขระหว่าง 1 ถึง 40
เนื่องจากระยะเวลาการเก็บรวบรวมแต่ละระยะเวลามีข้อมูลที่รวบรวมในช่วง 28 วันก่อนหน้า และระยะเวลาการเก็บรวบรวมคือต่อสัปดาห์ ระยะเวลาการเก็บรวบรวมจึงจะทับซ้อนกัน ซึ่งคล้ายกับค่าเฉลี่ยเคลื่อนที่ของข้อมูล โดยจะมีข้อมูล 3 สัปดาห์รวมอยู่ในระยะเวลาต่อๆ ไปแต่ละระยะเวลา และอีก 1 สัปดาห์จะแตกต่างกัน
ตัวอย่างคำค้นหา
ระบบจะส่งการค้นหาเป็นออบเจ็กต์ JSON โดยใช้คำขอ POST ไปยัง https://chromeuxreport.googleapis.com/v1/records:queryHistoryRecord?key=[YOUR_API_KEY]"
พร้อมข้อมูลการค้นหาที่เป็นออบเจ็กต์ JSON ในเนื้อหา POST
โปรดสังเกตการใช้ queryHistoryRecord
แทน queryRecord
ของ CrUX API รายวัน
ตัวอย่างเนื้อหามีดังนี้
{
"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"]}'
ข้อมูลระดับหน้าเว็บจะพร้อมใช้งานผ่าน API โดยส่งพร็อพเพอร์ตี้ url
ในคําค้นหาแทน origin
{
"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
Data Pipeline
ชุดข้อมูล CrUX ได้รับการประมวลผลผ่านไปป์ไลน์เพื่อรวม รวบรวม และกรองข้อมูลก่อนที่จะพร้อมใช้งานผ่าน API
ค่าเฉลี่ยต่อเนื่อง
ข้อมูลในรายงาน UX ของ Chrome คือค่าเฉลี่ยแบบต่อเนื่อง 28 วันของเมตริกที่รวบรวม ซึ่งหมายความว่าข้อมูลที่แสดงในรายงาน UX ของ Chrome ณ เวลาหนึ่งๆ คือข้อมูลในช่วง 28 วันที่ผ่านมาที่รวบรวมไว้ด้วยกัน
History API มีระยะเวลาการเก็บรวบรวมหลายช่วงเวลา โดยแต่ละช่วงเวลาจะครอบคลุม 28 วัน เนื่องจากระยะเวลาการเก็บรวบรวมแต่ละระยะเวลามีข้อมูลที่รวบรวมในช่วง 28 วันก่อนหน้า และระยะเวลาการเก็บรวบรวมคือต่อสัปดาห์ ระยะเวลาการเก็บรวบรวมจึงจะทับซ้อนกัน ซึ่งคล้ายกับค่าเฉลี่ยเคลื่อนที่ของข้อมูล โดยจะมีข้อมูล 3 สัปดาห์รวมอยู่ในระยะเวลาต่อๆ ไปแต่ละระยะเวลา และอีก 1 สัปดาห์จะแตกต่างกัน
การอัปเดตรายสัปดาห์
History API จะอัปเดตทุกวันจันทร์เวลาประมาณ 04:00 น. ตามเขตเวลา UTC และมีข้อมูลจนถึงวันเสาร์ก่อนหน้า (ตามการหน่วงเวลามาตรฐาน 2 วัน) ข้อมูลนี้ประกอบด้วยข้อมูล 40 สัปดาห์ก่อนหน้า (ประมาณ 10 เดือน) โดยแบ่งเป็นระยะเวลาการเก็บรวบรวม 1 สัปดาห์ต่อสัปดาห์ โปรดทราบว่าโดยค่าเริ่มต้น เราจะแสดงผล 25 รายการต่ออนุกรมเวลา แต่สามารถลบล้างได้โดยระบุพารามิเตอร์คำขอ collectionPeriodCount
ไม่มีข้อตกลงระดับการให้บริการสำหรับเวลาอัปเดต ระบบจะดำเนินการอย่างดีที่สุดทุกวัน
สคีมา
CrUX History API มีปลายทางเดียวที่ยอมรับคำขอ POST
HTTP API จะแสดงผล record
ซึ่งมี metrics
อย่างน้อย 1 รายการซึ่งสอดคล้องกับข้อมูลประสิทธิภาพเกี่ยวกับต้นทางหรือหน้าเว็บที่ขอ
คำขอ HTTP
POST https://chromeuxreport.googleapis.com/v1/records:queryHistoryRecord
URL ใช้ไวยากรณ์การแปลง gRPC
เนื้อความของคำขอ
CrUX History API ใช้เนื้อหาคำขอที่คล้ายกับ CrUX API รายวัน โดยมีช่อง "collectionPeriodCount"
เพิ่มเติมอีก 1 ช่องที่ไม่บังคับ
{
"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_ url_pattern คือตัวระบุหลักสำหรับการค้นหาระเบียน โดยต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
origin |
ตัวอย่าง: |
url |
ตัวอย่าง: |
สิ้นสุดฟิลด์ยูเนียน url_ |
|
collectionPeriodCount |
จำนวนระยะเวลาการเก็บรวบรวมที่จะแสดงผลอยู่ระหว่าง 1 ถึง 40 ค่าเริ่มต้นคือ 25 โปรดทราบว่าหากไม่ได้ระบุ |
เช่น หากต้องการขอค่า Largest Contentful Paint บนเดสก์ท็อปสําหรับหน้าแรกของ web.dev ให้ทําดังนี้
{
"url": "https://web.dev/",
"formFactor": "DESKTOP",
"metrics": [
"largest_contentful_paint"
]
}
คําขอที่คล้ายกันนี้จะมีช่อง collectionPeriodCount
(ไม่บังคับ) และจะให้ผลลัพธ์เป็นรายการอนุกรมเวลา 40 รายการ ซึ่งแสดงประวัติประสิทธิภาพของเว็บประมาณ 10 เดือนสําหรับต้นทาง https://web.dev
{
"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_ รูปแบบ URL คือ URL ที่ใช้กับระเบียน url_ ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
origin |
ต้นทางจะระบุต้นทางของระเบียนนี้ หมายเหตุ: เมื่อระบุต้นทาง ระบบจะรวบรวมข้อมูลการโหลดภายใต้ต้นทางนี้ในหน้าเว็บทั้งหมดเป็นข้อมูลประสบการณ์ของผู้ใช้ระดับต้นทาง |
url |
หมายเหตุ: เมื่อระบุ |
เมตริก
metric
คือชุดข้อมูลประสบการณ์ของผู้ใช้สําหรับเมตริกประสิทธิภาพของเว็บรายการเดียว เช่น First Contentful Paint โดยมีผังฮิสโตแกรมสรุปการใช้งาน Chrome ในชีวิตจริงเป็นชุด bins
{
"histogramTimeseries": [
{
object (Bin)
}
],
"percentilesTimeseries": {
object (Percentiles)
}
}
หรือ
"fractionTimeseries": {
object (Fractions)
}
ช่อง | |
---|---|
histogramTimeseries[] |
ฮิสโตแกรมอนุกรมเวลาของประสบการณ์ของผู้ใช้สําหรับเมตริก ฮิสโตแกรมอนุกรมเวลาจะมีกล่องอย่างน้อย 1 กล่องและความหนาแน่นของกล่องทั้งหมดจะรวมกันประมาณ 1 ระบบจะทำเครื่องหมายค่าที่ขาดหายไปสำหรับระยะเวลาการเก็บรวบรวมข้อมูลนั้นๆ เป็น |
percentilesTimeseries |
เปอร์เซ็นไทล์ที่มีประโยชน์ทั่วไปของเมตริก ประเภทค่าของเปอร์เซ็นต์ไทล์จะเหมือนกับประเภทค่าที่ระบุสำหรับกล่องฮิสโตแกรม ระบบจะทำเครื่องหมายค่าที่ขาดหายไปสำหรับระยะเวลาการเก็บรวบรวมข้อมูลนั้นๆ เป็น |
fractionTimeseries |
ออบเจ็กต์นี้มีอนุกรมเวลาของเศษส่วนที่มีป้ายกำกับ ซึ่งรวมกันประมาณ 1 ต่อรายการ ระบบจะปัดเศษเศษทศนิยมเป็น 4 ตำแหน่งทศนิยม ระบบจะแสดงรายการที่ขาดหายไปเป็น"NaN" ในส่วนเศษทั้งหมด |
ถัง
bin
คือส่วนของข้อมูลที่แยกจากกันซึ่งครอบคลุมตั้งแต่ต้นจนจบ หรือหากไม่ได้ระบุจุดสิ้นสุด bin
จะหมายถึงตั้งแต่ต้นจนบวกอนันต์
ค่าเริ่มต้นและค่าสิ้นสุดของกลุ่มจะแสดงในประเภทค่าของเมตริกที่กลุ่มนั้นแสดง เช่น First Contentful Paint จะวัดเป็นมิลลิวินาทีและแสดงเป็น int ดังนั้นที่เก็บเมตริกของเมตริกดังกล่าวจะใช้ int32 สำหรับประเภทเริ่มต้นและสิ้นสุด อย่างไรก็ตาม การเปลี่ยนเลย์เอาต์แบบสะสมจะวัดเป็นทศนิยมแบบไม่มีหน่วยและแสดงเป็นทศนิยมที่เข้ารหัสเป็นสตริง ดังนั้นที่เก็บเมตริกของเมตริกนี้จะใช้สตริงสำหรับประเภทค่า
{
"start": value,
"end": value,
"densities": [number, number, number...etc.]
}
ช่อง | |
---|---|
start |
Start คือจุดเริ่มต้นของที่เก็บข้อมูล |
end |
End คือจุดสิ้นสุดของที่เก็บข้อมูล หากไม่ได้ป้อนค่าของ 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% พบเมตริกที่ระบุที่ค่านี้หรือต่ำกว่า |
UrlNormalization
ออบเจ็กต์ที่แสดงถึงการดำเนินการตามมาตรฐานที่ดำเนินการเพื่อทำให้ URL เป็นมาตรฐานเพื่อให้มีโอกาสค้นหาสำเร็จมากขึ้น การเปลี่ยนแปลงเหล่านี้เป็นการเปลี่ยนแปลงอัตโนมัติพื้นฐานที่เกิดขึ้นเมื่อทราบว่าการค้นหา url_pattern
ที่ระบุไว้จะดำเนินการไม่สำเร็จ ระบบจะไม่จัดการการดำเนินการที่ซับซ้อน เช่น การติดตามการเปลี่ยนเส้นทาง
{
"originalUrl": string,
"normalizedUrl": string
}
ช่อง | |
---|---|
originalUrl |
URL ที่ขอมาครั้งแรกก่อนการดำเนินการปรับให้เป็นมาตรฐาน |
normalizedUrl |
URL หลังจากการดำเนินการปรับให้เป็นมาตรฐาน URL นี้เป็น URL ประสบการณ์ของผู้ใช้ที่ถูกต้องซึ่งสามารถค้นหาได้อย่างสมเหตุสมผล |
ขีดจำกัดอัตรา
CrUX History API มีขีดจํากัดเดียวกันกับ CrUX API สําหรับการค้นหา 150 ครั้งต่อนาทีต่อโปรเจ็กต์ Google Cloud สําหรับ API ใด API หนึ่ง ซึ่งให้บริการโดยไม่มีค่าใช้จ่าย คุณดูขีดจํากัดนี้และการใช้งานปัจจุบันได้ในคอนโซล Google Cloud โควต้าจำนวนมากนี้น่าจะเพียงพอสำหรับ Use Case ส่วนใหญ่ และคุณไม่สามารถชำระเงินเพื่อเพิ่มโควต้าได้