API ประวัติ CrUX

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

กรณีการใช้งานทั่วไป

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

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

คีย์ API ของ CrUX

การใช้ CrUX History API จำเป็นต้องมีคีย์ Google Cloud API เช่นเดียวกับ 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 บ่งชี้ว่าระเบียนมีข้อมูลเกี่ยวกับการโหลดที่เกิดขึ้นในอุปกรณ์เคลื่อนที่

API ประวัติ CrUX พร้อมใช้งานรวมตามมิติข้อมูลรูปแบบของอุปกรณ์เท่านั้น นี่คือคลาสทั่วไปของอุปกรณ์ที่แบ่งออกเป็น PHONE, TABLET และ DESKTOP

เมตริก

เรารายงานเมตริกเป็นอนุกรมเวลาของการรวมสถิติ ซึ่งได้แก่ ฮิสโตแกรม เปอร์เซ็นไทล์ และเศษส่วน

ฮิสโตแกรม

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

ฮิสโตแกรม bin 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]
  },
}

เปอร์เซ็นไทล์เหล่านี้สามารถแสดงค่าเมตริกเฉพาะที่เปอร์เซ็นไทล์ที่ระบุสำหรับเมตริกนั้นๆ ผลลัพธ์เหล่านี้ขึ้นอยู่กับชุดข้อมูลทั้งหมดที่มีอยู่ ไม่ใช่ข้อมูลแบบ Bined ทั้งหมด ดังนั้นจึงไม่จำเป็นต้องตรงกับเปอร์เซ็นไทล์ที่ประมาณค่าตามฮิสโตแกรมแบบ Binned ขั้นสุดท้าย

เศษส่วน

เมตริกอาจแสดงเป็นอนุกรมเวลาของเศษส่วนที่ติดป้ายกำกับ ป้ายกำกับแต่ละป้ายจะอธิบายการโหลดหน้าเว็บในวิธีที่เฉพาะเจาะจง จุดข้อมูลจะแสดงตามลำดับของวันที่ระยะเวลาการเก็บรวบรวมซึ่ง 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 หรือต้นทางที่เข้าหรือไม่ออกจากการมีสิทธิ์ในช่วงเวลาหนึ่ง คุณอาจสังเกตเห็นรายการที่ขาดหายไปหลายรายการ

ระยะเวลาการรวบรวม

API ประวัติ CrUX มีออบเจ็กต์ 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 }
      }
    ]

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

API ของประวัติจะอัปเดตทุกวันจันทร์และมีข้อมูลจนถึงวันเสาร์ที่ผ่านมา (ตามเวลาหน่วง 2 วันมาตรฐาน) ซึ่งประกอบด้วยข้อมูลในช่วง 25 สัปดาห์ก่อนหน้า ซึ่งก็คือระยะเวลาการรวบรวมข้อมูล 1 ครั้งต่อสัปดาห์

เนื่องจากแต่ละระยะเวลาการเก็บรวบรวมมีข้อมูลที่รวบรวมไว้ในช่วง 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
  • first_input_delay
  • interaction_to_next_paint
  • largest_contentful_paint
  • experimental_time_to_first_byte
  • 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 สัปดาห์แตกต่างกัน

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

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

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

API ประวัติ CrUX จะใช้เนื้อหาคำขอเดียวกันกับ 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)

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

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

percentilesTimeseries

object (Percentiles)

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

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

fractionTimeseries

object (Fractions)

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

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

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

Bin

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

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

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

(integer | string)

Start คือจุดเริ่มต้นของ Bin ข้อมูล

end

(integer | string)

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

densities

array[number]

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

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

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

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

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

array[(integer | string)]

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

เศษส่วน

Fractions มีอนุกรมเวลาของเศษส่วนที่มีป้ายกำกับที่รวมกันได้ ~1 ครั้งต่อ 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 ประสบการณ์ของผู้ใช้ที่ถูกต้องซึ่งสามารถค้นหาได้อย่างสมเหตุสมผล

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

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