The Android Developer Challenge is back! Submit your idea before December 2.

Memeriksa log pelacakan dengan Traceview

Traceview sudah tidak digunakan lagi. Jika menggunakan Android Studio 3.2 atau yang lebih baru, sebaiknya gunakan CPU Profiler untuk memeriksa file .trace yang diambil dengan melengkapi aplikasi Anda dengan class Debug, merekam pelacakan metode baru, menyimpan file .trace, dan memeriksa penggunaan CPU real-time dari proses aplikasi.

Traceview adalah fitur yang menyediakan representasi grafis dari log pelacakan. Log tersebut bisa Anda peroleh dengan melengkapi kode dengan class Debug. Metode pelacakan ini sangat akurat karena dapat menentukan lokasi persis yang Anda inginkan dalam kode untuk memulai dan berhenti membuat log pelacakan. Jika belum membuat log pelacakan ini dan menyimpannya dari perangkat yang terhubung ke komputer lokal Anda, buka Menghasilkan log pelacakan dengan melengkapi aplikasi Anda. Memeriksa log tersebut menggunakan Traceview membantu Anda melakukan proses debug aplikasi dan membuat profil performanya.

Tips: Anda dapat menggunakan dmtracedump dari command line untuk membuat diagram stack panggilan grafis dari file log pelacakan Anda.

Jika tidak perlu melihat log pelacakan yang telah direkam dengan melengkapi aplikasi dengan class Debug, Anda dapat menggunakan CPU profiler yang termasuk dalam Android Studio 3.0 dan yang lebih baru untuk memeriksa thread aplikasi serta merekam pelacakan metode.

Membuka log pelacakan menggunakan Traceview

Untuk membuka log pelacakan dengan Traceview dari Android Studio, lanjutkan seperti berikut:

  1. Mulai Android Device Monitor.
  2. Di Android Device Monitor, pilih File > Open File.
  3. Buka file .trace yang ingin diperiksa.
  4. Klik Open.

Catatan: Jika Anda mencoba melihat log pelacakan aplikasi yang dibuat dengan ProGuard dalam status aktif (build mode rilis), beberapa metode dan nama anggota mungkin disamarkan. Anda dapat menggunakan file Proguard mapping.txt untuk mengetahui nama-nama asli yang tidak disamarkan. Untuk informasi selengkapnya mengenai file ini, lihat dokumentasi Proguard.

Catatan: Menjalankan traceview dari command line sudah tidak digunakan lagi.

Ringkasan Traceview

Setelah membuka log pelacakan, Traceview menampilkan data log menggunakan dua panel berikut:

  • Panel linimasa yang mendeskripsikan waktu setiap thread masuk dan keluar dari suatu metode
  • Panel profil yang meringkas eksekusi setiap thread selama periode log pelacakan

Bagian di bawah ini memberikan informasi tambahan tentang panel output traceview.

Panel linimasa

Gambar 1 menunjukkan tampilan dekat panel linimasa. Setiap eksekusi thread ditampilkan di barisnya masing-masing, dengan waktu berlalu yang meningkat ke kanan. Setiap metode ditampilkan dengan berbagai warna. Garis tipis di bawah baris pertama menunjukkan turunan (dari masuk hingga keluar) metode yang dipilih.

Panel linimasa Traceview

Gambar 1. Panel linimasa Traceview.

Panel profil

Seperti yang ditunjukkan pada gambar 2, panel profil memberikan daftar setiap metode yang dijalankan sistem selama periode log pelacakan dan waktu yang dihabiskan untuk menjalankan metode-metode tersebut. Sebuah metode yang memanggil metode lain disebut sebagai induk, dan metode yang dipanggil induk disebut sebagai turunan. Ketika Anda memilih metode dengan mengkliknya, metode tersebut akan menampilkan induk dan turunan di bawah dua node yang terpisah.

Untuk setiap metode (node tingkat atas), tabel menunjukkan waktu inklusif dan eksklusif (dalam milidetik) serta persentase total waktu. Waktu eksklusif adalah waktu yang dihabiskan untuk menjalankan kode metodenya sendiri, sementara waktu inklusif adalah waktu yang dihabiskan untuk menjalankan kode metodenya sendiri ditambah waktu yang dihabiskan untuk menjalankan turunannya. Informasi pengaturan waktu juga dilaporkan dalam waktu CPU dan real-time. Waktu CPU hanya mempertimbangkan waktu saat thread aktif menggunakan waktu CPU, sementara real-time memberikan informasi pengaturan waktu absolut sejak aplikasi Anda memasuki suatu metode hingga keluar dari metode tersebut—terlepas dari apakah thread aktif atau tidur.

Untuk setiap node tingkat atas di panel profil, kolom Calls + Rec, Calls/Total dalam tabel (tidak diperlihatkan dalam gambar 2) melaporkan jumlah panggilan ke metode dan jumlah panggilan berulang. Atau, untuk metode induk dan turunan, kolom ini menampilkan jumlah panggilan saat metode tersebut menjadi turunan atau induk dari metode dalam node tingkat atas.

Panel profil Traceview.

Gambar 2. Panel profil Traceview.

Masalah umum Traceview

Pembuatan log Traceview tidak menangani thread dengan baik, sehingga menghasilkan masalah berikut:

  • Jika thread keluar selama pembuatan profil, nama thread tidak akan ditampilkan (diperbaiki di Android 5.1 dan yang lebih baru);
  • VM menggunakan kembali ID thread. Jika thread berhenti dan yang lainnya memulai, beberapa thread tersebut mungkin mendapatkan ID yang sama.