API ประวัติ CrUX

CrUX History API ให้สิทธิ์เวลาในการตอบสนองต่ำสำหรับข้อมูลประสบการณ์ของผู้ใช้จริงที่ผ่านมานาน 6 เดือนที่รายละเอียดในหน้าเว็บและต้นทาง

Use Case ทั่วไป

CrUX History API ช่วยให้ค้นหาเมตริกประสบการณ์ของผู้ใช้ในอดีตสำหรับ URI ที่เจาะจงได้ เช่น "ดูเทรนด์ UX ย้อนหลังสำหรับต้นทาง https://example.com"

History API มีโครงสร้างเหมือนกับ CrUX API แบบรายวัน ยกเว้นค่าที่ให้ในอาร์เรย์ และคีย์จะมีป้ายกำกับเป็นคำพหูพจน์ (เช่น histogramTimeseries แทน histogram หรือ p75s แทน p75)

คีย์ API CrUX

การใช้ CrUX History API ต้องใช้คีย์ API ของ Google Cloud เช่นเดียวกับ API รายวัน คุณสามารถใช้คีย์เดียวกันสำหรับ API รายวันและ API ของประวัติ

คุณสามารถสร้างข้อมูลเข้าสู่ระบบได้ในหน้าข้อมูลเข้าสู่ระบบ และจัดสรรไว้สำหรับการใช้งาน Chrome UX Report API

หลังจากมีคีย์ API แล้ว แอปพลิเคชันจะเพิ่มพารามิเตอร์การค้นหา key=[YOUR_API_KEY] ต่อท้าย 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 แสดงผล โดยจุดแรกคือช่วงเวลาแรกสุดและจุดสุดท้ายคือระยะเวลาการรวบรวมข้อมูลล่าสุด

ฮิสโตแกรม Bin สามตัวอย่างสำหรับเมตริกตัวอย่างมีลักษณะดังนี้

{
  "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 วันมาตรฐาน) ซึ่งประกอบด้วยข้อมูลในช่วง 25 สัปดาห์ก่อนหน้า โดยรวบรวมข้อมูล 1 ช่วงต่อสัปดาห์

เนื่องจากระยะเวลาการเก็บข้อมูลแต่ละช่วงมีข้อมูลรวมในช่วง 28 วันที่ผ่านมาและระยะเวลาการเก็บข้อมูลเป็นรายสัปดาห์ ระยะเวลาการเก็บข้อมูลจึงทับซ้อนกัน กราฟเหล่านี้คล้ายกับค่าเฉลี่ยการย้ายข้อมูล โดยข้อมูลรวมระยะเวลาสามสัปดาห์ในแต่ละช่วงเวลาหลังจากนั้น และ 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
  • first_input_delay
  • interaction_to_next_paint
  • largest_contentful_paint
  • experimental_time_to_first_byte
  • navigation_types
  • form_factors (รายงานเมื่อไม่ได้ระบุ formFactor ในคำขอเท่านั้น)

หากไม่ได้ระบุค่า formFactor ระบบจะรวบรวมค่าตามรูปแบบของอุปกรณ์ทั้งหมด

ดูตัวอย่างการค้นหาเพิ่มเติมได้จากการใช้ CrUX History API

Data Pipeline

ชุดข้อมูล CrUX จะได้รับการประมวลผลผ่านไปป์ไลน์เพื่อรวม รวบรวม และกรองข้อมูลก่อนที่จะพร้อมใช้งานผ่าน API

รายได้เฉลี่ยต่อเนื่อง

ข้อมูลในรายงาน UX ของ Chrome คือเมตริกรวมเฉลี่ยต่อเนื่อง 28 วัน ซึ่งหมายความว่าข้อมูลที่แสดงในรายงาน UX ของ Chrome ในช่วงเวลาหนึ่งๆ คือข้อมูลของช่วง 28 วันที่ผ่านมาซึ่งรวมไว้ด้วยกัน

History API มีระยะเวลาการเก็บรวบรวมข้อมูลจำนวนหนึ่ง โดยแต่ละช่วงมีระยะเวลา 28 วันดังกล่าว เนื่องจากระยะเวลาการเก็บข้อมูลแต่ละช่วงมีข้อมูลรวมในช่วง 28 วันที่ผ่านมาและระยะเวลาการเก็บข้อมูลเป็นรายสัปดาห์ ระยะเวลาการเก็บข้อมูลจึงทับซ้อนกัน กราฟเหล่านี้คล้ายกับค่าเฉลี่ยการย้ายข้อมูล โดยข้อมูลรวมระยะเวลาสามสัปดาห์ในแต่ละช่วงเวลาหลังจากนั้น และ 1 สัปดาห์แตกต่างกัน

อัปเดตรายสัปดาห์

History API จะอัปเดตทุกวันจันทร์ในเวลาประมาณ 04:00 น. (UTC) และมีข้อมูลไปจนถึงวันเสาร์ก่อนหน้า (ตามเวลาหน่วง 2 วันตามมาตรฐาน) ชุดข้อมูลประกอบด้วยข้อมูลในช่วง 25 สัปดาห์ก่อนหน้า (ประมาณ 6 เดือน) โดยมีระยะเวลาการรวบรวมข้อมูล 1 ช่วงต่อสัปดาห์

ไม่มีข้อตกลงระดับการให้บริการสำหรับเวลาการอัปเดต และจะดำเนินการอย่างดีที่สุดทุกวัน

สคีมา

จะมีปลายทางเดียวสำหรับ CrUX History API ซึ่งยอมรับคำขอ HTTP ของ POST API จะแสดงผล record ซึ่งมี metrics อย่างน้อย 1 รายการที่สอดคล้องกับข้อมูลประสิทธิภาพเกี่ยวกับต้นทางหรือหน้าเว็บที่ขอ

คำขอ HTTP

POST https://chromeuxreport.googleapis.com/v1/records:queryHistoryRecord

URL ใช้ไวยากรณ์การแปลง gRPC

เนื้อหาของคำขอ

CrUX History API ใช้เนื้อหาคำขอเดียวกันกับ CrUX API รายวัน ยกเว้นว่าจะไม่รองรับช่องคำขอ effectiveConnectionType

เช่น หากต้องการขอค่า Largest Contentful Paint บนเดสก์ท็อปของหน้าแรกของ web.dev ให้ทำดังนี้

{
  "origin": "https://web.dev/",
  "formFactor": "DESKTOP",
  "metrics": [
    "largest_contentful_paint"
  ]
}

เนื้อหาการตอบกลับ

คำขอที่สำเร็จจะแสดงการตอบกลับด้วยออบเจ็กต์ 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

enum (FormFactor)

รูปแบบของอุปกรณ์คือคลาสอุปกรณ์ที่ผู้ใช้ทุกคนใช้เพื่อเข้าถึงเว็บไซต์สำหรับระเบียนนี้

หากไม่ได้ระบุรูปแบบของอุปกรณ์ ระบบจะส่งคืนค่าข้อมูลรวมจากอุปกรณ์รูปแบบทั้งหมด

ฟิลด์สหภาพ url_pattern รูปแบบ URL คือ URL ที่ใช้ระเบียนดังกล่าว url_pattern ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
origin

string

Origin จะระบุต้นทางสำหรับระเบียนนี้

หมายเหตุ: เมื่อระบุต้นทาง ข้อมูลสำหรับการโหลดภายใต้ต้นทางนี้สำหรับหน้าเว็บทั้งหมดจะรวมอยู่ในข้อมูลประสบการณ์ของผู้ใช้ระดับต้นทาง

url

string

url ระบุ URL ที่เจาะจงสำหรับระเบียนนี้

หมายเหตุ: เมื่อระบุ url ระบบจะรวมเฉพาะข้อมูลของ URL ที่ระบุเท่านั้น

เมตริก

metric คือชุดข้อมูลประสบการณ์ของผู้ใช้สำหรับเมตริกประสิทธิภาพของเว็บรายการเดียว เช่น First Contentful Paint ซึ่งมีฮิสโตแกรมสรุปการใช้งาน Chrome ในชีวิตจริงเป็นชุดของ bins

{
  "histogramTimeseries": [
    {
      object (Bin)
    }
  ],
  "percentilesTimeseries": {
    object (Percentiles)
  }
}

หรือ

"fractionTimeseries": {
  object (Fractions)
}
ช่อง
histogramTimeseries[]

object (Bin)

ฮิสโตแกรมอนุกรมเวลาของประสบการณ์ของผู้ใช้สําหรับเมตริกหนึ่งๆ ฮิสโตแกรมอนุกรมเวลาจะมี Bin อย่างน้อย 1 ถัง และความหนาแน่นของ Bin ทั้งหมดจะรวมกันได้ประมาณ 1

ค่าที่หายไปสำหรับระยะเวลาการรวบรวมนั้นๆ จะมีการทำเครื่องหมายเป็น "NaN"

percentilesTimeseries

object (Percentiles)

เปอร์เซ็นไทล์ที่มีประโยชน์โดยทั่วไปของเมตริก ประเภทค่าสำหรับเปอร์เซ็นไทล์จะเหมือนกับประเภทค่าที่ระบุสำหรับถังฮิสโตแกรม

ค่าที่หายไปสำหรับระยะเวลาการรวบรวมนั้นๆ จะมีการทำเครื่องหมายเป็น null

fractionTimeseries

object (Fractions)

ออบเจ็กต์นี้มีอนุกรมเวลาของเศษส่วนที่ติดป้ายกำกับ ซึ่งรวมกันได้สูงสุด ~1 ต่อรายการ

ระบบจะปัดเศษเศษส่วนเป็นทศนิยม 4 ตำแหน่ง

รายการที่ขาดหายไปจะแสดงเป็น "NaN"" ในเศษส่วนทั้งหมด

Bin

bin เป็นส่วนของข้อมูลที่แยกออกมาต่างหากจากต้นจนจบ หรือในกรณีที่ไม่มีการกำหนดจุดสิ้นสุดตั้งแต่ต้นจนถึงค่าอนันต์ที่เป็นบวก

ค่าเริ่มต้นและวันที่สิ้นสุดของ Bin จะระบุไว้ในประเภทค่าของเมตริกที่แสดง เช่น First Contentful Paint วัดเป็นหน่วยมิลลิวินาทีและแสดงในรูปแบบ int ดังนั้นถังเมตริกจะใช้ int32s สำหรับประเภทการเริ่มต้นและสิ้นสุด อย่างไรก็ตาม การเปลี่ยนแปลงเลย์เอาต์แบบสะสมจะวัดเป็นทศนิยมที่ไม่มีหน่วย และแสดงเป็นทศนิยมที่เข้ารหัสเป็นสตริง ถังเมตริกจะใช้สตริงสำหรับประเภทค่า

{
  "start": value,
  "end": value,
  "densities": [number, number, number...etc.]
}
ช่อง
start

(integer | string)

Start คือจุดเริ่มต้นของถังขยะข้อมูล

end

(integer | string)

End คือจุดสิ้นสุดของถังขยะข้อมูล หากไม่มีการเติมค่าปลายทาง bin จะไม่มีจุดสิ้นสุดและมีผลใช้ได้ตั้งแต่เริ่มต้นถึง +inf

densities

array[number]

อนุกรมเวลาของสัดส่วนของผู้ใช้ที่ประสบกับค่า Bin นี้สำหรับเมตริกที่ระบุ

ความหนาแน่นจะปัดเศษเป็นทศนิยม 4 ตำแหน่ง

เปอร์เซ็นไทล์

Percentiles มีค่าสังเคราะห์ของเมตริกที่เปอร์เซ็นไทล์ทางสถิติที่ระบุ และใช้ในการประมาณค่าของเมตริกตามเปอร์เซ็นต์ของผู้ใช้จากจำนวนผู้ใช้ทั้งหมด

{
  "P75": value
}
ช่อง
p75s

array[(integer | string)]

อนุกรมเวลาของค่าที่ 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

array[(integer | string)]

อนุกรมเวลาของค่าที่ 75% ของการโหลดหน้าเว็บพบเมตริกที่ระบุเท่ากับหรือต่ำกว่าค่านี้

UrlNormalization

ออบเจ็กต์ที่เป็นตัวแทนการดำเนินการปรับให้เป็นมาตรฐานซึ่งทำเพื่อกำหนดให้ URL เป็นมาตรฐานเพื่อเพิ่มโอกาสในการค้นหาสำเร็จ นี่คือการเปลี่ยนแปลงอัตโนมัติง่ายๆ ที่เกิดขึ้นเมื่อค้นหา url_pattern ที่ระบุอาจล้มเหลว แต่จะไม่จัดการการดำเนินการที่ซับซ้อน เช่น การเปลี่ยนเส้นทางต่อไปนี้

{
  "originalUrl": string,
  "normalizedUrl": string
}
ช่อง
originalUrl

string

URL เดิมที่ขอไปก่อนการดำเนินการปรับให้เป็นมาตรฐาน

normalizedUrl

string

URL หลังจากการดำเนินการปรับให้เป็นมาตรฐาน URL นี้เป็น URL สำหรับประสบการณ์ของผู้ใช้ที่ถูกต้องซึ่งสามารถค้นหาได้มากพอ

ขีดจำกัดอัตรา

CrUX History API ใช้ขีดจํากัดเดียวกันกับ CrUX API สําหรับการค้นหา 150 รายการต่อนาทีต่อโปรเจ็กต์ Google Cloud สําหรับทั้ง 2 API ซึ่งให้บริการแบบไม่มีค่าใช้จ่าย ดูขีดจำกัดนี้และการใช้งานปัจจุบันได้ใน Google Cloud Console โควต้าขนาดใหญ่นี้น่าจะเพียงพอสำหรับกรณีการใช้งานส่วนใหญ่ และไม่สามารถจ่ายเงินสำหรับโควต้าที่เพิ่มขึ้นได้