กรณีศึกษา
Datadog ให้ข้อมูลเชิงลึกด้านประสิทธิภาพเชิงลึกนับล้านรายการด้วย ProfilingManager
ใช้เวลาอ่าน 4 นาที
การถดถอยของประสิทธิภาพเป็นปัญหาที่จำลองได้ยากมาก ซึ่งทำให้การถดถอยเป็นคอขวดขนาดใหญ่สำหรับนักพัฒนาแอปบนอุปกรณ์เคลื่อนที่ แม้ว่าสัญญาณต่างๆ เช่น อัตรา ANR จะบ่งบอกถึงปัญหา อะไร ที่เกิดขึ้นในเวอร์ชันที่ใช้งานจริง แต่การระบุบรรทัดโค้ดที่เฉพาะเจาะจงซึ่งทำให้เกิดปัญหาด้านประสิทธิภาพนั้นในอดีตจำเป็นต้องมีการจำลองด้วยตนเองอย่างละเอียดหรือการทดลองแบบลองผิดลองถูก
Datadog ได้ร่วมมือกับ Google เพื่อลดความยุ่งยากนี้ด้วยการผสานรวม ProfilingManager API (พร้อมใช้งานในอุปกรณ์ Android 15 ขึ้นไป) เข้ากับแพลตฟอร์ม Real User Monitoring (RUM) และ Continuous Profiling การผสานรวมนี้จะเปลี่ยนเวิร์กโฟลว์การแก้ไขข้อบกพร่อง โดยช่วยให้นักพัฒนาแอปสามารถก้าวข้ามอาการระดับพื้นผิวไปสู่การตรวจหา สาเหตุ ที่อยู่เบื้องหลังคอขวดด้านประสิทธิภาพได้
Datadog ใช้ประโยชน์จาก API ระดับระบบนี้ในการประมวลผลโปรไฟล์เวอร์ชันที่ใช้งานจริงนับล้านรายการต่อสัปดาห์ทั่วโลก ตามข้อมูลภายในของ Datadog ในเดือนมิถุนายน 2026 ซึ่งจะช่วยให้ทีมวิศวกรรมมองเห็นประสิทธิภาพในโลกแห่งความเป็นจริงได้ในระดับใหม่ ขณะเดียวกันก็ยังคงค่าใช้จ่ายในการรันไทม์ต่ำสำหรับการตรวจสอบประสิทธิภาพในระดับเวอร์ชันที่ใช้งานจริง
ผลกระทบของ ProfilingManager
ProfilingManager เป็นบริการของระบบที่เปิดตัวใน Android 15 ซึ่งช่วยให้แอปเก็บรวบรวมข้อมูลประสิทธิภาพ เช่น ตัวอย่างสแต็กการเรียกใช้ การติดตามฟิลด์ และการดัมพ์ฮีปหน่วยความจำจากสภาพแวดล้อมเวอร์ชันที่ใช้งานจริงได้โดยทางโปรแกรม ความสามารถนี้จะเปลี่ยนกระบวนทัศน์ด้านวิศวกรรมจากการจำลองด้วยตนเองเชิงรับเป็นการวิเคราะห์ฟิลด์เชิงรุก
ตัวอย่างเช่น แอปการสื่อสารของ Google ใช้การติดตามฟิลด์เพื่อตรวจสอบว่าเหตุใดเวลา Cold Start จึงช้าลงในฮาร์ดแวร์รุ่นใหม่ที่มีประสิทธิภาพมากขึ้น วิศวกรได้เจาะลึกการติดตามที่เก็บรวบรวมจากฟิลด์และเปรียบเทียบการติดตามในอุปกรณ์ประเภทต่างๆ และพบปัญหาการจัดกำหนดการที่ซ่อนอยู่ นั่นคือ ระบบกำลังอุ่นเครื่องล่วงหน้าบริการแปลงข้อความเป็นคำพูดในเบื้องหลังโดยไม่จำเป็นระหว่างการเริ่มต้นแอป การติดตามเผยให้เห็นว่ากระบวนการเบื้องหลังนี้กำลังผูกขาดคอร์ CPU ขนาดใหญ่ที่มีประสิทธิภาพสูงสุดของอุปกรณ์ ซึ่งบังคับให้เธรดหลักของแอปต้องหยุดทำงานชั่วคราวขณะที่เกิดการอุ่นเครื่องล่วงหน้า
การแก้ปัญหาความท้าทายในการมองเห็นระดับโค้ดของ Android
ก่อนการใช้งาน ProfilingManager แพลตฟอร์ม Real User Monitoring (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 ที่หลากหลาย
บทสรุป
ด้วยการผสานรวม ProfilingManager API ของ Android แพลตฟอร์ม Datadog ได้ปิดช่องว่างในการมองเห็นระหว่างระบบแบ็กเอนด์และแอปพลิเคชันไคลเอ็นต์บนอุปกรณ์เคลื่อนที่สำหรับลูกค้าได้สำเร็จ Datadog ประมวลผลโปรไฟล์นับล้านรายการต่อสัปดาห์โดยมีค่าใช้จ่ายในการทำงานของอุปกรณ์น้อยมาก ซึ่งช่วยให้นักพัฒนาแอป Android ได้รับข้อมูลเชิงลึกระดับโค้ดที่จำเป็นในการวินิจฉัยข้อบกพร่องด้านประสิทธิภาพที่ซับซ้อนได้ทันที ช่วยให้นักพัฒนาแอปสร้างแอปพลิเคชันที่ราบรื่นยิ่งขึ้นและปรับปรุงสัญญาณประสิทธิภาพของแอปใน Play Store หากต้องการใช้ ProfilingManager API ในเฟรมเวิร์กความสามารถในการสังเกตประสิทธิภาพโดยตรง โปรดดู เอกสารประกอบ
ในอนาคต Datadog ตั้งเป้าที่จะทำให้ข้อมูลการสร้างโปรไฟล์ของ Android เป็นอินพุตระดับเฟิร์สคลาสสำหรับเอเจนต์การเขียนโค้ดเพื่อแก้ไขคอขวดด้านประสิทธิภาพโดยอัตโนมัติ ซึ่งจะปิดลูปความคิดเห็นระหว่างการตรวจหาและการแก้ไข Datadog กำลังพยายามทำให้การสร้างโปรไฟล์ของ Android เข้าถึงได้โดยทั่วไปสำหรับนักพัฒนาแอป
หากต้องการเริ่มต้นใช้งานฟีเจอร์การตรวจสอบผู้ใช้จริงของ Datadog ซึ่งขับเคลื่อนโดย ProfilingManager โปรดไปที่ Datadog Mobile Real User Monitoring
อ่านต่อ
-
กรณีศึกษา
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 ส่งตรงถึงกล่องจดหมายของคุณ ทุกสัปดาห์