เรากำลังโฮสต์ REST API ที่เขียนด้วย Python บน Azure Functions และใช้งาน เข้าสู่ระบบ
เพื่อตรวจสอบมัน
บางครั้ง ผลลัพธ์ที่คาดไว้อาจไม่แสดงใน Application Insights
นี่คือตัวอย่างของลักษณะที่ควรจะเป็น:
2021-10-26T18:44:13Z [รายละเอียด] กำลังส่งรหัสคำขอ:64be8d30-a3ff-41d0-a653-de20c48db85a
2021-10-26T18:44:13Z [แบบละเอียด] การโพสต์รหัสการร้องขอ:64be8d30-a3ff-41d0-a653-de20c48db85a บน workerId:834c70c0-d3bd-4dab-89b6-c8cb77c2f6a7
2021-10-26T18:44:13Z [ข้อมูล] ************************************** **************************
2021-10-26T18:44:13Z [ข้อมูล] AzureResourceClient เริ่มต้นใน: 0 มิลลิวินาที
2021-10-26T18:44:13Z [ข้อมูล] ตัวจับเวลา: INIT เวลาที่ผ่านไป: 228 มิลลิวินาที
2021-10-26T18:44:13Z [ข้อมูล] คำขอ: 581aa19c-05c3-4e3a-a47b-13c6523c141c
2021-10-26T18:44:13Z [ข้อมูล] วิธีการ & URL: ...
2021-10-26T18:44:13Z [ข้อมูล] USER & COMPANY: ...
2021-10-26T18:44:13Z [ข้อมูล] ขอบริษัท: ...
2021-10-26T18:44:13Z [ข้อมูล] COLLECTION & ITEM: ...
2021-10-26T18:44:13Z [ข้อมูล] ACTION: ...
2021-10-26T18:44:13Z [ข้อมูล] AzureResourceClient คำขอทั้งหมดที่สร้างขึ้น: 2, x-ms-request-charge สะสม: 4.16 (เฉลี่ย 2.08 ต่อคำขอ)
2021-10-26T18:44:13Z [ข้อมูล] ตัวจับเวลา: เวลาที่ผ่านไปหลัก: 229 มิลลิวินาที
2021-10-26T18:44:13Z [ข้อมูล] ดำเนินการ 'Functions.main' (สำเร็จแล้ว, Id=581aa19c-05c3-4e3a-a47b-13c6523c141c, Duration=246ms)
และนี่คือตัวอย่างผลลัพธ์ที่ถูกตัดทอน:
2021-10-26T18:44:13Z [รายละเอียด] กำลังส่งรหัสคำขอ:fd430857-1f0c-47c9-9ec8-47dcb17c767c
2021-10-26T18:44:13Z [แบบละเอียด] การโพสต์รหัสการร้องขอ:fd430857-1f0c-47c9-9ec8-47dcb17c767cบนรหัสผู้ปฏิบัติงาน:834c70c0-d3bd-4dab-89b6-c8cb77c2f6a7
2021-10-26T18:44:13Z [ข้อมูล] ************************************** **************************
2021-10-26T18:44:13Z [ข้อมูล] AzureResourceClient เริ่มต้นใน: 0 มิลลิวินาที
2021-10-26T18:44:13Z [ข้อมูล] ตัวจับเวลา: INIT เวลาที่ผ่านไป: 290 มิลลิวินาที
2021-10-26T18:44:13Z [ข้อมูล] คำขอ: 64be8d30-a3ff-41d0-a653-de20c48db85a
... แค่นั้นแหละ. มันก็หยุด การเรียก API เสร็จสิ้นอย่างถูกต้อง เราไม่มีเหตุผลที่จะเชื่อว่ามีข้อผิดพลาดหรือข้อยกเว้น
เราคิดว่าปัญหาอาจเกี่ยวข้องกับ stdout ที่ไม่ถูกล้าง แต่กำลังโทรอยู่ logging.StreamHandler(สตรีม=sys.stdout).flush()
ก่อนส่งคืนการตอบกลับ HTTP ไม่มีผล
เราจะมั่นใจได้อย่างไรว่า ทั้งหมด ของผลลัพธ์ที่คาดหวังทำให้เป็น Application Insights หรือไม่
โบนัส: เอาต์พุตมักจะล่าช้าหลายสิบวินาที (ในบางกรณีหลายนาที) เราจะมั่นใจได้อย่างไรว่าเอาต์พุตการบันทึกพร้อมใช้งานทันทีและตามลำดับการดำเนินการ