Datadog ให้ข้อมูลเชิงลึกด้านประสิทธิภาพเชิงลึกนับล้านรายการด้วย ProfilingManager
อ่าน 4 นาที
การถดถอยของประสิทธิภาพเป็นปัญหาที่ทราบกันดีว่าจำลองได้ยากมาก ซึ่งทำให้การถดถอยเป็นอุปสรรคสำคัญสำหรับนักพัฒนาแอปบนอุปกรณ์เคลื่อนที่ แม้ว่าสัญญาณต่างๆ เช่น อัตรา ANR จะบ่งชี้ว่าปัญหาใดเกิดขึ้นในเวอร์ชันที่ใช้งานจริง แต่การระบุบรรทัดโค้ดที่เฉพาะเจาะจงซึ่งทำให้เกิดปัญหาด้านประสิทธิภาพในอดีตจำเป็นต้องมีการจำลองด้วยตนเองอย่างละเอียดหรือการทดลองแบบลองผิดลองถูก
Datadog ได้ร่วมมือกับ Google เพื่อลดความไม่สะดวกนี้ด้วยการผสานรวม ProfilingManager API (พร้อมใช้งานในอุปกรณ์ Android 15 ขึ้นไป) เข้ากับแพลตฟอร์มการตรวจสอบผู้ใช้จริง (RUM) และการสร้างโปรไฟล์อย่างต่อเนื่อง การผสานรวมนี้จะเปลี่ยนเวิร์กโฟลว์การแก้ไขข้อบกพร่อง ซึ่งช่วยให้นักพัฒนาซอฟต์แวร์สามารถเจาะลึกสาเหตุที่ทำให้เกิดจุดคอขวดด้านประสิทธิภาพได้ แทนที่จะดูแค่เพียงลักษณะปัญหาที่เกิดขึ้น
การใช้ประโยชน์จาก API ระดับระบบนี้ทำให้ตอนนี้ Datadog ประมวลผลโปรไฟล์การใช้งานจริงหลายล้านรายการต่อสัปดาห์ทั่วโลกตามข้อมูลภายในของ Datadog ในเดือนมิถุนายน 2026 ซึ่งช่วยให้ทีมวิศวกรมองเห็นประสิทธิภาพในโลกแห่งความเป็นจริงได้ในระดับใหม่ ขณะเดียวกันก็ยังคงค่าใช้จ่ายในการรันไทม์ต่ำสำหรับการตรวจสอบประสิทธิภาพในระดับการผลิต
ผลกระทบของ ProfilingManager
ProfilingManager เป็นบริการของระบบที่เปิดตัวใน Android 15 ซึ่งช่วยให้แอปสามารถรวบรวมข้อมูลประสิทธิภาพโดยอัตโนมัติ เช่น ตัวอย่างสแต็กการเรียกใช้ การติดตามฟิลด์ และการทิ้งฮีปหน่วยความจำได้โดยตรงจากสภาพแวดล้อมการผลิต ความสามารถนี้เปลี่ยนกระบวนทัศน์ด้านวิศวกรรมจากการทำซ้ำด้วยตนเองเชิงรับเป็นการวิเคราะห์ภาคสนามเชิงรุก
ตัวอย่างเช่น แอปการสื่อสารของ Google ใช้การติดตามภาคสนามเพื่อตรวจสอบว่าเหตุใดเวลา Cold Start จึงช้ากว่าในฮาร์ดแวร์รุ่นใหม่ที่มีประสิทธิภาพมากกว่า การเจาะลึกร่องรอยที่รวบรวมจากภาคสนามและเปรียบเทียบร่องรอยในอุปกรณ์ประเภทต่างๆ ทำให้วิศวกรค้นพบปัญหาการจัดกำหนดการที่ซ่อนอยู่ นั่นคือมีการเตรียมบริการแปลงข้อความเป็นคำพูดในเบื้องหลังล่วงหน้าโดยไม่จำเป็นในระหว่างการเริ่มต้นแอป การติดตามพบว่ากระบวนการเบื้องหลังนี้ใช้คอร์ CPU ขนาดใหญ่ที่มีประสิทธิภาพสูงสุดของอุปกรณ์แต่เพียงผู้เดียว ซึ่งบังคับให้เทรดหลักของแอปเข้าสู่โหมดสลีประหว่างการอุ่นเครื่อง
การแก้ปัญหาความท้าทายด้านระดับโค้ดของ Android
ก่อนที่จะใช้ ProfilingManager การตรวจสอบผู้ใช้จริง (RUM) ของ Datadog มุ่งเน้นที่สถานะแอปพลิเคชันระดับสูงและการวัดและส่งข้อมูลทางไกลระดับเซสชันเพื่อประเมินเส้นทางของผู้ใช้ ทีมวิศวกรสามารถตรวจสอบสัญญาณประสิทธิภาพของ Android เช่น เวลาในการแสดงผลครั้งแรก, อัตรา ANR, โหลด CPU และเฟรมที่หยุดนิ่ง ข้อมูลเชิงลึกเหล่านี้ครอบคลุมไปถึงการโต้ตอบแบบละเอียด เช่น เวลาในการตอบสนองของเครือข่าย เหตุการณ์การแตะ และการหยุดทำงานของชุดข้อความหลัก อย่างไรก็ตาม แม้ว่าข้อมูลนี้จะไฮไลต์ได้อย่างมีประสิทธิภาพว่าคอขวดด้านประสิทธิภาพใดที่เกิดขึ้นในฟิลด์ แต่ก็ไม่ได้ให้เส้นทางที่ชัดเจนในการระบุสาเหตุหลักของความล้มเหลวเหล่านี้
Datadog จึงต้องการเครื่องมือสร้างโปรไฟล์ที่สามารถบันทึกการติดตามของ Android จากอุปกรณ์ในการใช้งานจริงได้โดยตรงโดยมีผลกระทบต่อประสิทธิภาพน้อยที่สุด หลังจากประเมินแนวทางอื่น เช่น การเขียนโปรแกรมประมวลผลการติดตามของตนเองโดยใช้ Android Debug API ทีมก็เลือก ProfilingManager เนื่องจากเป็นโซลูชันการสร้างโปรไฟล์ที่มีประสิทธิภาพสูงสุดในตัวเลือกการสร้างโปรไฟล์ที่ทีมประเมิน และยังช่วยลดภาระค่าใช้จ่ายในการตัดสินใจเกี่ยวกับการสุ่มตัวอย่างไปยังระบบปฏิบัติการได้อีกด้วย
ProfilingManager รองรับวิธีการรวบรวมข้อมูลที่หลากหลาย รวมถึงการติดตาม CPU, การสุ่มตัวอย่างสแต็กการเรียกใช้, การวิเคราะห์หน่วยความจำผ่านฮีปดัมป์ของ Java และโปรไฟล์ฮีปดั้งเดิม ซึ่งช่วยให้นักพัฒนาแอปสามารถสร้างโปรไฟล์บิลด์เวอร์ชันที่ใช้งานจริง อัปโหลดไฟล์การติดตามไปยังที่เก็บข้อมูลภายนอก และตรวจสอบไฟล์เหล่านั้นใน UI ของเครื่องมือวิเคราะห์การติดตาม Perfetto ในฐานะผู้ให้บริการ SaaS ทาง Datadog จะอัปโหลด แสดงภาพ และวิเคราะห์โปรไฟล์เหล่านี้ที่รวบรวมผ่าน SDK ของตนเอง เพื่อให้มุมมองแบบรวมของสถานะแอปพลิเคชัน
การรวมการวัดและส่งข้อมูลทางไกลที่มีรายละเอียดเสมือนจริงสูงไว้ใน API ความสามารถในการสังเกตแบบรวมช่วยให้ ProfilingManager ช่วย Datadog และไคลเอ็นต์สามารถตรวจสอบ สืบสวน และแก้ไขการเกิดปัญหาซ้ำของประสิทธิภาพ Android ที่ซับซ้อนได้อย่างเชิงรุกผ่านข้อได้เปรียบทางเทคนิคที่สำคัญ ดังนี้
- การวินิจฉัยเซสชันแบบละเอียด: ProfilingManager ช่วยเพิ่มความสามารถในการแก้ไขข้อบกพร่องด้วยการส่งข้อมูลการติดตามระดับระบบปฏิบัติการโดยตรง ซึ่งช่วยแก้ปัญหาด้านระดับการมองเห็นและการจัดแนวที่มักพบในการบันทึกที่กำหนดเองด้วยบริการของระบบ หากต้องการเจาะลึกยิ่งขึ้น นักพัฒนาแอปสามารถดาวน์โหลดการติดตามเหล่านี้จาก Datadog เพื่อตรวจสอบเพิ่มเติมในเครื่องมือแสดงภาพ เช่น Perfetto UI
- ทริกเกอร์การวัดและส่งข้อมูลทางไกลอัตโนมัติ: การใช้ประโยชน์จากเหตุการณ์ของระบบดั้งเดิมเพื่อเริ่มการบันทึกการติดตามที่จุดการเพิ่มประสิทธิภาพที่สำคัญช่วยให้ Datadog ลดความจำเป็นในการสร้างตรรกะการรวบรวมที่กำหนดเอง แม้ว่าการเปิดตัวครั้งแรกจะมุ่งเน้นที่สัญญาณ APP_FULLY_DRAWN แต่ก็มีแผนที่จะขยายความสามารถในการสังเกตนี้ให้ครอบคลุมทริกเกอร์ ANR, OOM และ COLD_START อยู่แล้ว
- ภาพรวมการติดตามเชิงรุก: ProfilingManager ใช้โมเดลการบันทึกเบื้องหลังเชิงรุกที่ออกแบบมาเพื่อบันทึกปัญหาที่คาดเดาไม่ได้โดยการเชื่อมต่อโดยตรงกับบริการ Perfetto ระดับระบบ (traced) ซึ่งช่วยให้มั่นใจได้ว่านักพัฒนาแอปจะได้รับการแสดงภาพเหตุการณ์ที่นำไปสู่ความผิดปกติของประสิทธิภาพอย่างแม่นยำ ซึ่งจะให้ข้อมูลเชิงลึกในระดับที่สูงกว่าการวัดผลด้วยตนเอง
- การตรวจหาจุดคอขวดในวงกว้าง: Datadog สามารถสังเคราะห์การวัดและส่งข้อมูลจากฐานลูกค้าทั่วโลกของ Datadog เพื่อค้นหาการเกิดปัญหาซ้ำที่เกิดขึ้นภายใต้การกำหนดค่าฮาร์ดแวร์ที่ไม่ซ้ำกันและสภาพแวดล้อมเครือข่ายที่เปลี่ยนแปลงได้เท่านั้น
- ความเสถียรของทรัพยากรที่บังคับใช้โดยระบบ: API ใช้ประโยชน์จากการรวบรวมการติดตามการสุ่มตัวอย่างเพื่อให้มั่นใจว่าประสิทธิภาพและประสบการณ์ของผู้ใช้จะไม่ได้รับผลกระทบ
- การควบคุมข้อมูลในอุปกรณ์: ProfilingManager จะกรองข้อมูลที่ไม่เกี่ยวข้องออกจากกระบวนการอื่นๆ ในอุปกรณ์ก่อนที่จะส่งโปรไฟล์ไปยังแอป ซึ่งจะช่วยลดขนาดไฟล์และรับประกันว่าระบบจะให้เฉพาะข้อมูลที่เกี่ยวข้องกับกระบวนการของแอปเท่านั้น
การประมวลผลโปรไฟล์รายสัปดาห์หลายล้านรายการเพื่อเพิ่มประสิทธิภาพแอปในโลกแห่งความเป็นจริง
การผสานรวม API การจัดโปรไฟล์ระดับระบบเข้ากับ SDK การตรวจสอบส่วนกลางจำเป็นต้องแก้ปัญหาความท้าทายด้านโครงสร้างพื้นฐาน เนื่องจาก ProfilingManager สร้างการติดตามประสิทธิภาพที่มีรายละเอียดสูง ทีมวิศวกรของ Datadog จึงต้องสร้างไปป์ไลน์ที่สามารถแยกวิเคราะห์และวิเคราะห์โปรไฟล์เหล่านี้ในฝั่งเซิร์ฟเวอร์ได้ในระดับที่ปรับขนาดได้ นอกเหนือจากการรวบรวมโปรไฟล์แล้ว Datadog ยังเน้นความสำคัญของการปรับความถี่ในการสุ่มตัวอย่างให้สมดุลกับการรวบรวมข้อมูลให้เพียงพอเพื่อสร้างข้อมูลเชิงลึกที่มีความหมายเกี่ยวกับแอปพลิเคชันของคุณ Datadog อาศัยการจำกัดอัตราคำขอในตัวของ ProfilingManager เป็นการป้องกันความเสถียรที่สำคัญ ซึ่งจะช่วยป้องกันไม่ให้คำขอการวัดและส่งข้อมูลทางไกลมากเกินไปทำให้เกิดภาระหนักกับอุปกรณ์ของผู้ใช้
ทีมได้ทำการสร้างโปรไฟล์แอปพลิเคชัน Android ดั้งเดิมของ Datadog เองและแอปพลิเคชันของผู้ใช้กลุ่มแรกๆ มาเป็นเวลาหลายเดือน โดยรวบรวมโปรไฟล์นับล้านเพื่อให้มั่นใจว่าการเปิดตัวจะรวดเร็วและไม่มีข้อผิดพลาด รวมถึงเพื่อปรับแต่งอัลกอริทึมการตรวจหาประสิทธิภาพ ปัจจุบันการผสานรวมการผลิตจะปรับขนาดได้อย่างราบรื่นในอุปกรณ์ Android ที่หลากหลาย
บทสรุป
การผสานรวม API ของ ProfilingManager ของ Android ช่วยให้ Datadog ปิดช่องว่างด้านการมองเห็นระหว่างระบบแบ็กเอนด์และแอปพลิเคชันไคลเอ็นต์บนอุปกรณ์เคลื่อนที่สำหรับลูกค้าได้สำเร็จ Datadog ประมวลผลโปรไฟล์หลายล้านรายการทุกสัปดาห์โดยมีค่าใช้จ่ายของอุปกรณ์เพียงเล็กน้อย จึงช่วยให้นักพัฒนาแอป Android ได้รับข้อมูลเชิงลึกระดับโค้ดที่จำเป็นต่อการวินิจฉัยข้อบกพร่องด้านประสิทธิภาพที่ซับซ้อนได้ทันที ซึ่งจะช่วยให้นักพัฒนาแอปสร้างแอปพลิเคชันที่ราบรื่นยิ่งขึ้นและปรับปรุงสัญญาณประสิทธิภาพของแอปใน Play Store หากต้องการใช้ ProfilingManager API ในเฟรมเวิร์กความสามารถในการสังเกตประสิทธิภาพโดยตรง โปรดดูเอกสารประกอบ
ในอนาคต Datadog ตั้งเป้าที่จะทำให้ข้อมูลการจัดทำโปรไฟล์ Android เป็นอินพุตชั้นยอดสำหรับเอเจนต์การเขียนโค้ด เพื่อแก้ไขปัญหาคอขวดด้านประสิทธิภาพได้โดยอัตโนมัติ ซึ่งจะปิดลูปความคิดเห็นระหว่างการตรวจหาและการแก้ไข Datadog กำลังพยายามทำให้นักพัฒนาแอปเข้าถึงการทำโปรไฟล์ Android ได้อย่างกว้างขวาง
หากต้องการเริ่มต้นใช้งานฟีเจอร์การตรวจสอบผู้ใช้จริงของ Datadog ที่ขับเคลื่อนโดย ProfilingManager โปรดไปที่ การตรวจสอบผู้ใช้จริงบนอุปกรณ์เคลื่อนที่ของ Datadog
-
กรณีศึกษาKarrot เป็นแอปตลาดกลางแบบเพียร์ทูเพียร์ที่ขับเคลื่อนโดยชุมชนในพื้นที่ซึ่งช่วยให้ผู้ใช้ซื้อ ขาย และแลกเปลี่ยนไอเทมกับผู้ใช้รายอื่นๆ ที่ได้รับการยืนยันแล้วได้ นับตั้งแต่เปิดตัวในเกาหลีใต้เมื่อปี 2015 แพลตฟอร์มนี้ได้ขยายไปยังตลาดทั่วโลกและมีผู้ใช้ที่ลงทะเบียนกว่า 43 ล้านคน
Thomas Ezan, Tracy Agyemang • อ่าน 2 นาที -
ฮาวทูแม้ว่าประสิทธิภาพของแอปมักจะเทียบเท่ากับ UI ที่ราบรื่นและเวลาเริ่มต้นที่รวดเร็ว แต่หน่วยความจำก็เป็นรากฐานที่เงียบซึ่งเมตริกที่มองเห็นได้เหล่านี้สร้างขึ้น เราเห็นการเปลี่ยนแปลงที่หน่วยความจำของอุปกรณ์มีความสำคัญมากกว่าที่เคย
Alice Yuan, Ajesh Pai, Fung Lam • อ่าน 10 นาที -
กรณีศึกษาเมื่อเร็วๆ นี้ FotMob มีผู้ใช้ Wear OS เพิ่มขึ้นมากที่สุดในวันเดียวในกลุ่มผู้ชมที่ติดตั้งแอปในช่วง 5 ปีที่ผ่านมา โดยเพิ่มขึ้น 2-3 เท่าของค่าเฉลี่ยรายวัน เคล็ดลับ ขั้นตอนการติดตั้งข้ามอุปกรณ์ที่ง่ายดายซึ่งช่วยให้ผู้ใช้ค้นพบแอป Wear OS ได้โดยตรงจากโทรศัพท์
Garan Jenkin • อ่าน 3 นาที
รับข้อมูลเชิงลึกด้านการพัฒนาแอป Android ล่าสุดส่งตรงถึงกล่องจดหมายของคุณทุกสัปดาห์