Bloomberg มี memray แบบโอเพ่นซอร์ส ซึ่งเป็นเครื่องมือสำหรับสร้างโปรไฟล์หน่วยความจำในแอปพลิเคชัน Python โปรแกรมติดตามการดำเนินการจัดสรรหน่วยความจำใน Python และนำเสนออินเทอร์เฟซแบบภาพสำหรับการวิเคราะห์และเพิ่มประสิทธิภาพการใช้หน่วยความจำของส่วนต่าง ๆ ของโค้ด รวมถึงปลั๊กอินที่เขียนด้วย C/C++ สามารถสร้างรายงานแบบโต้ตอบหรือสร้างในรูปแบบ HTML ได้ ประกอบด้วยอินเทอร์เฟซ CLI สำหรับจัดการโปรไฟล์และไลบรารีที่สามารถใช้เพื่อติดตามการทำงานของหน่วยความจำในโปรเจ็กต์ของบริษัทอื่น รหัสนี้เผยแพร่ภายใต้ลิขสิทธิ์ Apache 2.0 รองรับการทำงานบนแพลตฟอร์ม Linux เท่านั้น
คุณสมบัติหลัก:
- แอปพลิเคชัน: ระบุสาเหตุของการใช้หน่วยความจำสูงในแอปพลิเคชัน ค้นหาหน่วยความจำรั่ว และระบุโค้ดที่มีการจัดสรรหน่วยความจำมากเกินไป
- ติดตามการเรียกใช้ฟังก์ชันทั้งหมดที่เกี่ยวข้องกับการใช้หน่วยความจำทั้งหมด ปริมาณการใช้ภายในฟังก์ชัน และจำนวนการดำเนินการจัดสรรหน่วยความจำ ความสามารถในการประมาณ Call Stack ได้อย่างแม่นยำ
- การประมวลผลการเรียกไปยังไลบรารีด้วย C/C++ และการบัญชีสำหรับการใช้หน่วยความจำในโมดูลดั้งเดิม รองรับการวิเคราะห์โครงการโดยใช้ตัวเลขและแพนด้า
- ค่าใช้จ่ายน้อยที่สุดและผลกระทบเล็กน้อยต่อประสิทธิภาพของแอปพลิเคชันที่วิเคราะห์ ตัวเลือกในการปิดใช้งานการติดตามโค้ดเนทีฟเพื่อปรับปรุงประสิทธิภาพ
- ความพร้อมใช้งานของรายงานการใช้หน่วยความจำจำนวนมาก รวมถึงกราฟลำดับชั้นแบบภาพและแลดเดอร์ (กราฟเปลวไฟ)
- ความสามารถในการทำงานกับเธรดและวิเคราะห์หน่วยความจำในบริบทของแต่ละเธรด รองรับทั้งเธรด Python และเธรดดั้งเดิม เช่น เธรด C++ ที่ใช้ในโมดูล C/C++
- ความเป็นไปได้ของการบูรณาการกับ pytest และการจัดเตรียมคำอธิบายประกอบ pytest ที่กำหนดขีดจำกัดการใช้หน่วยความจำ หากเกินขีดจำกัด คำเตือนจะถูกสร้างขึ้นในระหว่างการทดสอบ
ที่มา: opennet.ru