Studi Kasus

Datadog memberikan jutaan insight performa mendalam dengan ProfilingManager

Waktu baca: 4 menit

Regresi performa terkenal sulit direproduksi, sehingga regresi menjadi hambatan besar bagi developer seluler. Meskipun sinyal seperti rasio ANR menunjukkan apa masalah yang terjadi dalam produksi, menentukan baris kode spesifik yang menyebabkan masalah performa secara historis memerlukan reproduksi manual yang menyeluruh atau eksperimen coba-coba spekulatif.

Datadog berkolaborasi dengan Google untuk mengurangi masalah ini dengan mengintegrasikan ProfilingManager API (tersedia di perangkat Android 15+) ke platform Real User Monitoring (RUM) dan Continuous Profiling. Integrasi ini mengubah alur kerja proses debug, sehingga memungkinkan developer melampaui gejala tingkat permukaan untuk dapat mendeteksi alasan di balik hambatan performa.

Dengan memanfaatkan API tingkat sistem ini, Datadog kini memproses jutaan profil produksi setiap minggu di seluruh dunia menurut data internal Datadog pada Juni 2026. Hal ini memberi tim engineering tingkat visibilitas baru ke dalam performa dunia nyata, sekaligus mempertahankan overhead runtime yang rendah untuk pemantauan performa skala produksi.

Dampak ProfilingManager

ProfilingManager adalah layanan sistem yang diperkenalkan di Android 15 yang memungkinkan aplikasi mengumpulkan data performa secara terprogram seperti sampel stack panggilan, rekaman aktivitas kolom, dan heap dump memori langsung dari lingkungan produksi. Kemampuan ini mengalihkan paradigma engineering dari reproduksi manual reaktif ke analisis lapangan proaktif.

AANDDM_DataDog_Quote_01.png

Misalnya, aplikasi komunikasi Google menggunakan rekaman aktivitas lapangan untuk menyelidiki mengapa waktu cold start-nya lebih lambat pada hardware yang lebih baru dan lebih canggih. Dengan mempelajari rekaman aktivitas yang dikumpulkan di lapangan dan membandingkan rekaman aktivitas di berbagai jenis perangkat, engineer menemukan masalah penjadwalan tersembunyi: layanan text-to-speech latar belakang dipersiapkan secara tidak perlu selama startup aplikasi. Rekaman aktivitas menunjukkan bahwa proses latar belakang ini memonopoli inti CPU besar berperforma tertinggi perangkat, sehingga memaksa thread utama aplikasi untuk tidur selama pemanasan awal terjadi.

Menyelesaikan tantangan visibilitas tingkat kode Android

Sebelum penerapan ProfilingManager, Pemantauan Pengguna Nyata (RUM) Datadog berfokus pada kesehatan aplikasi tingkat tinggi dan telemetri tingkat sesi untuk menilai perjalanan pengguna. Tim engineering dapat memantau sinyal performa Android seperti waktu hingga tampilan awal, rasio ANR, beban CPU, dan frame yang terhenti. Insight ini mencakup interaksi terperinci, seperti latensi jaringan, peristiwa sentuh, dan masalah pada thread utama. Namun, meskipun data ini secara efektif menyoroti hambatan performa yang muncul di lapangan, data ini tidak memberikan jalur yang jelas untuk mengidentifikasi penyebab utama kegagalan ini.

AANDDM_DataDog_Quote_02.png

Untuk mengatasi hal ini, Datadog memerlukan mesin pembuatan profil yang mampu merekam rekaman aktivitas Android langsung dari perangkat dalam produksi dengan dampak performa yang minimal. Setelah mengevaluasi pendekatan alternatif, seperti menulis pemroses rekaman aktivitas mereka sendiri menggunakan Android Debug API, tim memilih ProfilingManager karena merupakan solusi yang paling berperforma dari opsi pembuatan profil yang mereka evaluasi dan memindahkan overhead keputusan pengambilan sampel ke OS.

ProfilingManager mendukung berbagai metode pengumpulan, termasuk rekaman aktivitas CPU, pengambilan sampel stack panggilan, analisis memori melalui heap dump Java dan profil heap native. Hal ini memungkinkan developer membuat profil build produksi, mengupload file rekaman aktivitas ke penyimpanan eksternal, dan meninjaunya di UI penganalisis rekaman aktivitas Perfetto. Sebagai penyedia SaaS, Datadog mengupload, memvisualisasikan, dan menganalisis profil yang dikumpulkan melalui SDK-nya, sehingga memberikan tampilan terpadu tentang kesehatan aplikasi. 

Dengan memusatkan telemetri fidelitas tinggi dalam API pengamatan terpadu, ProfilingManager memungkinkan Datadog dan kliennya memantau, menyelidiki, dan memperbaiki regresi performa Android yang kompleks secara proaktif melalui keunggulan teknis utama:

  • Diagnostik sesi terperinci: ProfilingManager meningkatkan kemampuan proses debug dengan memberikan data rekaman aktivitas tingkat OS langsung, sehingga mengatasi tantangan visibilitas dan penyelarasan yang biasanya terjadi pada pencatatan aktivitas kustom dengan layanan sistem. Untuk mempelajari lebih lanjut, developer dapat mendownload rekaman aktivitas ini dari Datadog untuk menyelidiki lebih lanjut di alat visualisasi seperti UI Perfetto.
  • Pemicu telemetri otomatis: Dengan memanfaatkan peristiwa sistem native untuk memulai perekaman aktivitas pada titik pengoptimalan utama, Datadog mengurangi kebutuhan untuk membuat logika pengumpulan kustom. Meskipun peluncuran awal berfokus pada sinyal APP_FULLY_DRAWN, sudah ada rencana untuk memperluas kemampuan pengamatan ini agar mencakup pemicu ANROOM, dan COLD_START.
  • Snapshot rekaman aktivitas proaktif: Dengan berinteraksi langsung dengan layanan Perfetto tingkat sistem (yang direkam aktivitasnya), ProfilingManager menggunakan model perekaman latar belakang proaktif yang dirancang untuk merekam masalah yang tidak dapat diprediksi. Hal ini memastikan bahwa developer menerima visualisasi yang tepat dari peristiwa yang menyebabkan anomali performa, sehingga menawarkan tingkat insight yang melampaui apa yang mungkin dilakukan melalui instrumentasi manual.
  • Deteksi hambatan dalam skala besar: Datadog dapat mensintesis telemetri dari seluruh basis pelanggan global Datadog untuk mengungkap regresi yang hanya muncul dalam konfigurasi hardware unik dan lingkungan jaringan yang bervariasi.
  • Stabilitas resource yang diterapkan sistem: API memanfaatkan pengumpulan rekaman aktivitas pengambilan sampel untuk memastikan dampak performa dan pengalaman pengguna tidak terlihat.
  • Kontrol data di perangkat: ProfilingManager memfilter informasi yang tidak relevan dari proses lain di perangkat sebelum profil dikirimkan ke aplikasi. Hal ini meminimalkan ukuran file dan memastikan bahwa hanya data yang relevan dengan proses aplikasi yang diberikan.

Memproses jutaan profil mingguan untuk mengoptimalkan aplikasi dunia nyata

Mengintegrasikan API pembuatan profil tingkat sistem ke dalam SDK pemantauan global memerlukan penyelesaian tantangan infrastruktur. Karena ProfilingManager menghasilkan rekaman aktivitas performa yang sangat mendetail, tim engineering Datadog harus membuat pipeline yang mampu mengurai dan menganalisis profil ini di sisi server dalam skala besar. Selain pengumpulan profil, Datadog juga menekankan pentingnya menyeimbangkan frekuensi pengambilan sampel dengan mengumpulkan cukup data untuk menghasilkan insight yang bermakna tentang aplikasi Anda. Datadog mengandalkan pembatasan kapasitas bawaan ProfilingManager sebagai perlindungan stabilitas penting, yang mencegah permintaan telemetri yang berlebihan membebani perangkat pengguna. 

Tim telah memprofilkan aplikasi Android native Datadog sendiri dan aplikasi sejumlah pengguna awal selama berbulan-bulan, mengumpulkan jutaan profil untuk memastikan pengalaman peluncuran yang cepat dan bebas error serta menyempurnakan algoritma deteksi performa mereka. Saat ini, integrasi produksi diskalakan dengan lancar di berbagai perangkat Android. 

Kesimpulan

Dengan mengintegrasikan Android ProfilingManager API, Datadog berhasil menutup kesenjangan visibilitas antara sistem backend dan aplikasi klien seluler untuk pelanggannya. Dengan memproses jutaan profil setiap minggu dengan overhead perangkat yang dapat diabaikan, Datadog membekali developer Android dengan insight tingkat kode yang diperlukan untuk mendiagnosis bug performa yang kompleks secara instan, sehingga membantu developer membuat aplikasi yang lebih lancar dan meningkatkan sinyal performa aplikasi mereka di Google Play Store. Untuk menerapkan ProfilingManager API langsung ke framework pengamatan performa Anda, lihat dokumentasi kami.

Pada masa mendatang, Datadog berencana menjadikan data pembuatan profil Android sebagai input utama bagi agen pengodean untuk menyelesaikan hambatan performa secara mandiri, sehingga menutup loop umpan balik antara deteksi dan perbaikan. Datadog berupaya membuat pembuatan profil Android dapat diakses secara luas oleh developer.

Untuk mulai menggunakan fitur pemantauan pengguna real Datadog yang didukung oleh ProfilingManager, buka Pemantauan Pengguna Real Seluler Datadog.

Lanjutkan membaca