ข้อจำกัดในการสร้างโปรไฟล์

มีหลายสถานการณ์ที่คอลเล็กชันโปรไฟล์อาจไม่เป็นไปตามที่คาดไว้ ดังนี้

  • การรวบรวมโปรไฟล์ล้มเหลวเนื่องจากเกิดข้อผิดพลาดภายใน หากเกิดกรณีนี้ขึ้น API ของ ProfilingResult จะแจ้งให้คุณทราบเกี่ยวกับข้อผิดพลาด
  • การรวบรวมโปรไฟล์ไม่สำเร็จเนื่องจากมีการจำกัดอัตรา ดูข้อมูลเพิ่มเติมได้ที่ วิธีการทำงานของการจำกัดอัตรา
  • การรวบรวมโปรไฟล์สำเร็จ แต่แอปจะไม่ได้รับการแจ้งเตือนทันที ซึ่งอาจเกิดขึ้นได้หากแอปขัดข้องระหว่างการรวบรวมโปรไฟล์เป็นเวลานาน หาก แอปปิดลง ระบบจะหยุดและบันทึกโปรไฟล์โดยอัตโนมัติ แอปจะได้รับแจ้งเกี่ยวกับโปรไฟล์ที่รวบรวมเมื่อรีสตาร์ทและลงทะเบียน Listener ทั่วไปด้วย ProfilingManager

วิธีการทำงานของการจำกัดอัตรา

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

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

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

เครื่องมือจำกัดอัตราจะใช้ระยะเวลา 3 ช่วง ได้แก่

  • ต่อชั่วโมง: มีต้นทุนสูงสุดที่อนุญาตต่อชั่วโมง
  • ต่อวัน: มีต้นทุนสูงสุดที่อนุญาตต่อวัน
  • ต่อสัปดาห์: มีค่าใช้จ่ายสูงสุดที่อนุญาตต่อสัปดาห์

เครื่องมือจำกัดอัตราจะกำหนดต้นทุนรวมที่ใช้ได้ภายในแต่ละช่วงเวลา เหล่านี้ เช่น แอปอาจได้รับอนุญาตให้บันทึกโปรไฟล์ X ต่อชั่วโมง Y ต่อวัน และ Z ต่อสัปดาห์ หากแอปของคุณใช้งานถึงขีดจำกัดในช่วงเวลาใดก็ตาม คำขอโปรไฟล์ในอนาคตจะทำให้เกิดERROR_FAILED_RATE_LIMIT_PROCESS ข้อผิดพลาด

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