İzleme günlüklerini Traceview ile inceleme

Traceview kullanımdan kaldırıldı. Android Studio 3.2 veya sonraki bir sürümü kullanıyorsanız bunun yerine CPU Profil Aracı'nı kullanarak uygulamanızın Debug sınıfıyla yakalanan .trace dosyasını denetlemeniz, yeni yöntem izlerini kaydetmeniz, .trace dosyaları kaydetmeniz ve uygulamanızın işlemlerinin gerçek zamanlı CPU kullanımını incelemeniz gerekir.

Traceview, iz günlüklerinin grafik temsillerini sağlayan bir araçtır. Bu günlükleri, kodunuza Debug sınıfıyla uygulayarak oluşturabilirsiniz. Bu izleme yöntemi son derece hassastır. Çünkü kodun içinde iz verilerini günlüğe tam olarak nerede başlatmak ve durdurmak istediğinizi belirtebilirsiniz. Bu iz günlüklerini henüz oluşturmadıysanız ve bağlı cihazınızdan yerel makinenize kaydetmediyseniz Uygulamanıza enstrümantasyon ile izleme günlükleri oluşturma bölümüne gidin. Traceview'ı kullanarak bu günlükleri incelemek, uygulamanızda hata ayıklamanıza ve performans profilini çıkarmanıza yardımcı olur.

İpucu: İzleme günlüğü dosyalarınızın grafik çağrı yığını diyagramlarını oluşturmak için komut satırından dmtracedump kullanabilirsiniz.

Uygulamanızı Debug sınıfıyla kullanarak kaydettiğiniz iz günlüklerini görüntülemeniz gerekmiyorsa uygulamanızın iş parçacıklarını incelemek ve yöntem izlerini kaydetmek için Android Studio 3.0 ve sonraki sürümlerde bulunan CPU profil aracını kullanabilirsiniz.

Traceview kullanarak izleme günlüğü açma

Android Studio'dan Traceview ile bir iz günlüğü açmak için aşağıdaki adımları uygulayın:

  1. Android Device Monitor'ü başlatın.
  2. Android Device Monitor'da File > Open File'ı (Dosya > Dosya Aç) seçin.
  3. İncelemek istediğiniz .trace dosyasına gidin.
  4. 'ı tıklayın.

Not: Kod daraltma özelliği etkinleştirilmiş bir uygulamanın (ör. sürüm derlemesi) iz günlüklerini görüntülemeye çalışıyorsanız bazı yöntem ve üye adları karartılmış olabilir. Karartılmamış orijinal adları bulmak için ProGuard mapping.txt dosyasını kullanabilirsiniz. Bu dosya hakkında daha fazla bilgi için Karartılmış yığın izlemenin kodunu çözme bölümüne bakın.

Not: Komut satırından traceview çalıştırma özelliği kullanımdan kaldırılmıştır.

Traceview'e genel bakış

Traceview, bir iz günlüğünü açtıktan sonra aşağıdaki iki bölmeyi kullanarak günlük verilerini görüntüler:

  • Her iş parçacığının bir yönteme girdiğini ve yöntemden ne zaman çıktığını açıklayan zaman çizelgesi bölmesi
  • İzleme günlüğü süresince her bir iş parçacığının yürütülmesini özetleyen bir profil bölmesi

Aşağıdaki bölümlerde izleme görünümü çıkış bölmeleri hakkında ek bilgiler sağlanmaktadır.

Zaman çizelgesi bölmesi

Şekil 1'de zaman çizelgesi bölmesinin yakından görünümü gösterilmektedir. Her iş parçacığının yürütmesi kendi satırında gösterilir ve geçen süre sağa doğru artar. Her yöntem farklı renklerle gösterilir. İlk satırın altındaki ince çizgiler, seçilen yöntemin alt öğelerini (girişten çıkışa) gösterir.

İzleme zaman çizelgesi bölmesi

Şekil 1. Traceview zaman çizelgesi bölmesi.

Profil bölmesi

Şekil 2'de gösterildiği gibi profil bölmesinde, izleme günlüğü süresince sistemin yürüttüğü her yöntem ve bu yöntemlerin yürütülmesi için harcanan süre yer alır. Başka bir yöntemi çağıran yönteme üst öğe, üst yöntemin çağırdığı yöntemler ise alt öğeleri olarak adlandırılır. Tıklayarak bir yöntem seçtiğinizde, bu yöntem hem üst öğelerini hem de alt öğelerini iki ayrı düğüm altında görüntüler.

Tabloda, her yöntem (üst düzey düğüm) için hem kapsayıcı hem de özel süreler (milisaniye cinsinden) ve toplam sürenin yüzdesi gösterilir. Özel süre, yöntemin kendi kodunu yürütmek için harcanan süredir. Dahil edilen süre ise yöntemin kendi kodunu yürütmek için harcanan süre ile alt öğelerini yürütmek için harcanan süreyi ifade eder. Zamanlama bilgileri de CPU süresi ve gerçek zamanlı olarak raporlanır. CPU süresi yalnızca iş parçacığının CPU zamanını aktif olarak kullandığı süreyi dikkate alır ve gerçek zamanlı, iş parçacığının etkin veya uyku modunda olmasına bakılmaksızın uygulamanızın bir yönteme girdiği andan bu yöntemden çıktığı ana kadar mutlak zamanlama bilgileri sağlar.

Profil bölmesindeki her üst düzey düğüm için tablodaki Aramalar + Gelenler, Aramalar/Toplam sütunu (şekil 2'de gösterilmemiştir) yönteme yapılan çağrı sayısını ve yinelenen aramaların sayısını bildirir. Üst ve alt yöntemler için bu sütun, yöntemin üst düzey düğümdeki yöntemin alt veya üst öğesi olduğu çağrıların sayısını gösterir.

İzleme profili bölmesi.

2. Şekil. İzleme profili bölmesi.

İzlemeyle ilgili bilinen sorunlar

İzleme günlüğü kaydı, iş parçacıklarını iyi işlemez ve bu da aşağıdaki sorunlara neden olur:

  • Profil oluşturma sırasında bir iş parçacığı çıkarsa iş parçacığı adı yayınlanmaz (Android 5.1 ve sonraki sürümlerde düzeltilir).
  • Sanal makine, ileti dizisi kimliklerini yeniden kullanır. Bir iş parçacığı durur ve başka bir iş parçacığı başlatırsa aynı kimliği alabilir.