Canonical ได้แนะนำ etrace, ยูทิลิตี้ ออกแบบมาเพื่อติดตามกิจกรรมระหว่างการดำเนินการแอปพลิเคชัน โปรแกรมมีลักษณะคล้ายกับยูทิลิตี้ strace และ ltrace และยังใช้ ptrace ที่รันไทม์
วัตถุประสงค์ หลัก etrace กำลังแก้ไขข้อบกพร่องและวิเคราะห์แอปพลิเคชันที่เริ่มต้น จากสแน็ปยูทิลิตี้ช่วยให้คุณประเมินได้อย่างรวดเร็วว่าโปรแกรมและไฟล์ใดที่ใช้เมื่อรันแพ็คเกจสแน็ป
มีคำสั่งสองคำสั่ง "exec" และ "file" สำหรับข้อมูลเกี่ยวกับวิธีการเข้าถึงไฟล์และเรียกใช้กระบวนการอื่น ๆ ในกรณีแรกจะมีการตรวจสอบการทำงานของการเรียกระบบที่เกี่ยวข้องกับไฟล์และในกรณีที่สองตระกูลการโทรของระบบบริหารจะถูกดักฟัง
Etrace เป็นแอปพลิเคชันการติดตามทั่วไปซึ่งมีประโยชน์สำหรับการวัดและการแก้ไขจุดบกพร่องในวงกว้างสามประการ:
- แอปพลิเคชันใช้เวลานานเท่าใดในการแสดงหน้าต่าง (กราฟิก / UI) บนหน้าจอ
- ลำดับของงานที่สร้างและดำเนินการโดยโปรแกรมหลักในช่วงเวลาดำเนินการ รายการไฟล์ที่เข้าถึงระหว่างการทำงานของโปรแกรม
เมตริกเหล่านี้สามารถใช้เพื่อแก้ไขปัญหาที่อาจเกิดขึ้นได้ ในการจับภาพและทำความเข้าใจว่าแพ็กเกจพยายามที่จะหยุดหรือพบปัญหาคอขวดด้านประสิทธิภาพในทันที
แน่นอน ยังใช้งานได้กับแพ็คเกจ linux ดั้งเดิมหรือโปรแกรมปฏิบัติการใด ๆแม้ว่าจะมีฟังก์ชันการทำงานแบบสำเร็จรูปที่ลดลงเล็กน้อย (เช่นไม่ได้ติดตั้งแพ็กเกจเนทีฟใหม่) แต่คุณยังสามารถรวบรวมข้อมูลแอปและวัดระยะเวลาในการแสดงหน้าต่างได้
ยูทิลิตี้นี้ยังสามารถใช้เพื่อระบุปัญหาคอขวด ประสิทธิภาพในแอปพลิเคชันกราฟิกที่ใช้ X11 และแสดงระยะเวลาที่แอปพลิเคชันจะเริ่มต้นก่อนที่จะเริ่มแสดงผลหน้าต่าง
นอกจากนี้ยังมีตัวเลือกเฉพาะสแน็ป "–reinstall-snap" และ "–clean-snap-user-data" ซึ่งช่วยให้คุณสามารถติดตั้งแพ็กเกจ snap ใหม่เพื่อทำการวัดโดยไม่ใช้แคชหรือลบข้อมูลผู้ใช้ที่เกี่ยวข้องกับแพ็กเกจ ก่อนที่จะเรียกใช้
การใช้งานพื้นฐาน
Etrace มีให้ในรูปแบบแพ็คเกจดังนั้นเราต้องติดตั้งก่อน เนื่องจาก etrace ถูกใช้เพื่อรันโปรแกรมตามอำเภอใจรวมถึงแพ็กเกจ snap อื่น ๆ และแม้แต่แพ็คเกจลินุกซ์แบบเดิมจึงต้องการสิทธิ์ทั้งระบบผ่านการล็อกแบบคลาสสิกซึ่งสามารถยอมรับได้โดยใช้แฟล็ก –classic เมื่อคำสั่งต่อไปนี้ถูกเรียกใช้
ในการติดตั้ง etrace:
snap install etrace --candidate --classic
กรณีการใช้งาน etrace แรก คือการวัดว่าแอพพลิเคชั่นกราฟิกใช้เวลานานแค่ไหนในการแสดงหน้าต่างบนหน้าจอ
เริ่มต้นด้วยปลั๊กอินง่ายๆเครื่องคิดเลข gnome และวนรอบ 10 ครั้งเพื่อดูว่าการดำเนินการนี้ใช้เวลานานแค่ไหน โปรดทราบว่าคุณต้องติดตั้งเครื่องคิดเลข gnome - ติดตั้งเครื่องคิดเลข gnome ที่นี่เราใช้อ็อพชัน –no-trace เนื่องจากเราไม่ต้องการสแต็กการติดตามแบบเต็มเราแค่ต้องการให้ etrace วัดระยะเวลาในการเริ่มต้น เราจะเข้าสู่ความสามารถในการติดตามอย่างเต็มรูปแบบในภายหลัง
etrace --repeat = 10 exec --use-snap-run --no-trace gnome-calculator --cmd-stderr = /dev/null Total startup time: 1.531152957s Total startup time: 513.948576ms Total startup time: 512.980061ms Total startup time: 515.576753ms Total startup time: 508.354472ms Total startup time: 515.734329ms Total startup time: 508.414271ms Total startup time: 514.258788ms Total startup time: 508.407346ms Total startup time: 511.950964ms
นอกจากนี้ Canonical ประกาศการใช้งานการสนับสนุน snap สำหรับ อัลกอริธึมการบีบอัด LZO อัลกอริทึม LZO มุ่งเน้นไปที่การบรรลุความเร็วในการคลายการบีบอัดสูงสุดโดยมีค่าใช้จ่ายในการเพิ่มขนาดของไฟล์ที่ได้ เมื่อทดสอบแพ็กเกจด้วย Chromium การใช้ LZO แทนอัลกอริทึม XZ เริ่มต้นจะช่วยให้คุณเร่งความเร็วในการเปิดตัวแพ็กเกจ snap 2-3 ครั้งโดยลดเวลาที่ต้องใช้ในการคลายการบีบอัดรูปภาพ SquashFS
โดยเฉพาะอย่างยิ่งการเปิดตัว Chromium ครั้งแรกที่ติดตั้งจากแพ็คเกจ deb ปกติจะใช้เวลาประมาณ 1,7 วินาที
การเปิดตัวครั้งแรกจาก snap เมื่อใช้ XZ จะใช้เวลา 8.1 วินาทีและเมื่อใช้ LZO - 3.1 วินาที ในการรีบูตด้วยข้อมูลที่แคชไว้เวลาเริ่มต้นคือ 0,6, 0,7 และ 0,6 วินาที ตามลำดับ
ขนาดของแพ็คเกจ snap เพิ่มขึ้นจาก 150MB เป็น 250MB ด้วย LZO