Karena profil ProfilingManager menggunakan format Perfetto standar dan
dapat dikueri dengan PerfettoSQL, Anda dapat menyambungkan agen coding AI dengan
kemampuan AI Perfetto untuk mengotomatiskan analisis akar masalah langsung di
ruang kerja Anda, alih-alih menavigasi linimasa secara manual di UI Perfetto
atau menulis kueri kustom terhadap Library Standar Perfetto:
- Memuat profil: Agen membuka profil yang dikumpulkan menggunakan
trace_processorPerfetto. - Menjalankan kueri diagnostik: Dipandu oleh keahlian AI Perfetto, agen
membuat kueri modul library standar (seperti
android.frames.timelineuntuk jank atauandroid.memory.heap_graph.dominator_treeuntuk kebocoran memori) dan menyempurnakan kuerinya secara iteratif. - Menghubungkan dengan kode sumber: Agen memetakan slice trace kustom, stack panggilan yang diambil sampelnya, atau mempertahankan nama class di profil langsung ke file sumber Kotlin atau Java Anda dan mengusulkan perbaikan.
Menyiapkan kemampuan AI Perfetto
Keahlian AI Perfetto open source mengajarkan agen coding cara menjalankan
trace_processor, menulis PerfettoSQL, dan mengikuti alur kerja terpandu untuk analisis
memori dan CPU Android. Setiap penginstalan memaketkan wrapper trace_processor, sehingga
Anda tidak perlu menginstal trace_processor secara terpisah:
Instal dengan AI: Jalankan perintah berikut di agen coding AI mana pun:
Following instructions from https://perfetto.dev/docs/getting-started/using-ai set up the Perfetto AI skill to be usable by any agentInstal secara manual: Ikuti petunjuk penyiapan di Menggunakan AI dengan Perfetto untuk agen Anda (seperti Claude Code, Codex, Cursor, Antigravity, atau OpenCode).
Contoh alur kerja
Tempatkan satu atau beberapa profil yang diambil di ruang kerja Anda dan minta agen AI Anda untuk menyelidiki. Anda dapat menganalisis satu profil untuk mendiagnosis masalah individual atau meneruskan beberapa profil untuk membandingkan pola dan regresi secara massal.
Menganalisis heap dump Java dan OOM
Saat Anda memberikan heap dump Java yang diambil langsung dengan
PROFILING_TYPE_JAVA_HEAP_DUMP atau secara otomatis melalui
pemicu TRIGGER_TYPE_OOM, agen AI yang menggunakan kemampuan AI Perfetto dapat
membantu Anda mengidentifikasi:
- Kebocoran memori: Objek, seperti instance
ActivityatauFragmentyang dihancurkan, yang tetap dapat dijangkau dari root GC padahal seharusnya sudah diklaim kembali. - Objek yang sangat banyak diduplikasi: Class dengan jumlah instance yang sangat tinggi dan secara kolektif menggunakan sebagian besar heap.
- Inefisiensi memori: Cache yang terlalu besar, struktur data yang redundan, atau objek dominator tunggal yang mempertahankan jumlah memori yang tidak proporsional.
Untuk menyelidiki heap dump OutOfMemoryError dan menghubungkannya dengan kode sumber aplikasi Anda, jalankan perintah seperti berikut:
Analyze the Perfetto OOM heap dump at </path/to/profile>, which corresponds to
the codebase located at </path/to/codebase> using the Perfetto AI skill and find
the root cause of the OutOfMemoryError.
Untuk melihat contoh lengkap laporan yang dihasilkan perintah ini, termasuk jalur retensi hierarki dominator, penyebab utama kode sumber, dan perbaikan yang diusulkan, lihat Mengotomatiskan investigasi OOM dengan agen AI di Studi kasus: Men-debug error OOM.
Menganalisis pelacakan sistem dan ANR
Saat Anda memberikan pelacakan sistem yang diambil langsung dengan
PROFILING_TYPE_SYSTEM_TRACE atau secara otomatis melalui
pemicu TRIGGER_TYPE_ANR, agen AI yang menggunakan kemampuan AI Perfetto dapat
membantu Anda mengidentifikasi:
- Memblokir operasi thread utama: Slice rekaman aktivitas yang berjalan lama atau panggilan sinkron yang mencegah UI thread memproses peristiwa input atau menggambar frame sebelum batas ANR.
- Bottleneck status thread: Interval saat thread utama terjebak dalam status
Sleeping(seperti memblokir I/O jaringan atau waktu tungguThread.sleep),Blocked(pertentangan kunci), atauRunnable(penundaan penjadwalan CPU). - Lonjakan CPU thread utama: Komputasi yang mahal atau loop ketat yang dieksekusi langsung di UI thread, bukan di thread latar belakang.
Untuk menyelidiki pelacakan sistem ANR dan menghubungkannya dengan kode sumber aplikasi Anda, jalankan perintah seperti berikut:
Analyze the Perfetto system trace at </path/to/trace.perfetto-trace>, which
corresponds to an ANR trace, and find the root cause of the ANR using the
Perfetto AI skill. The codebase is located at </path/to/codebase>.
Untuk melihat contoh lengkap laporan yang dihasilkan perintah ini, termasuk
perincian slice thread utama, rekonstruksi interval thread_state, dan
pemetaan kode sumber, lihat Mengotomatiskan investigasi ANR dengan agen AI
di Studi kasus: Men-debug ANR.