Profillendirme verilerini alma ve analiz etme

Bu sayfada, izlerin nasıl alınacağı ve Perfetto kullanıcı arayüzünde nasıl görselleştirileceği açıklanmaktadır.

İzleri alma

Bir profil kaydedildikten sonra izler cihazınıza kaydedilir. Bu izleri analiz edebilmek için önce bunları almanız gerekir.

İzleme konumları ProfilingResult.getResultFilePath() tarafından sağlanır. İzleme konumunu nasıl alacağınızı öğrenmek için Profili yakalama başlıklı makaleyi inceleyin. İzlemenizin konumunu belirledikten sonra izlemeyi bir sunucuya yükleyebilirsiniz.

Yerel Test: ADB kullanarak izlemeleri alma

İzleri almak için adb kullanmak, performansı kontrol etmek ve yerel olarak hata ayıklamak için faydalıdır.

Redaksiyonlu izler, cihazınızdaki dosyalara kaydedilir. Kaydedilmiş bir profilin tipik yolu şöyledir:

/data/user/0/<app>/files/profiling/profile<tag><datetime>.perfetto-trace

Nerede:

  • <app> uygulama adıdır.
  • <datetime>, izlemenin alındığı tarih ve saattir.
  • <tag>, setTag kullanılarak yapılandırılan, kullanıcı tarafından sağlanan etikettir.

Redaksiyonsuz izlemeler etkinleştirilip kaydedildiyse bunları cihazdan çekmek için aşağıdaki adb komutunu kullanın:

adb pull /data/misc/perfetto-traces/profiling/<trace-name>.perfetto-trace-unredacted

İzleri görselleştirme

İzin dosyanızı bilgisayarınıza aldıktan sonra Perfetto kullanıcı arayüzünde görüntüleyebilirsiniz.

Çıkartılmış iz örneği
1.şekil: Gizlenmiş iz örneği.

Redaksiyonlu bir izlemede, OtherProcesses bölümü diğer işlemlerden gelen tüm CPU etkinliğini birleştirir. İşlemleri birleştirmek, diğer işlemlerin yaptığı şeyleri gizli tutar.

Ancak bu birleştirilmiş CPU etkinliğini görmek, kayıt sırasında sistemin aşırı yüklenip yüklenmediğini kontrol etmenize olanak tanır. Sistem etkinliğini kontrol etmek, uygulamanızın yavaş olmasının dahili bir sorundan mı yoksa sistemin genel olarak yavaş olmasından mı kaynaklandığını anlamanıza yardımcı olur.

Aşağıdaki resimde, izlemede göreceğiniz ana bölümler vurgulanmış ve kısaca açıklanmıştır:

Redaksiyonlu bir izlemenin bölümleri
Şekil 2.: Redaksiyonlu bir izlemenin bölümleri.
  1. CPU listesi: Cihazınızda bulunan tüm işlemcileri gösterir.
  2. CPU görevleri: Her bir CPU'nun hangi iş parçacıklarını yürüttüğünü gösterir.
  3. Diğer işlemler görünümü: Diğer işlemler tarafından kullanılan CPU kaynaklarını gösterir.
  4. İşlem görünümü: Uygulamanızın sürecini gösterir.
  5. İş Parçacıkları Görünümü: İşleminizde çalışan iş parçacıklarını ve iş parçacığı durumlarını (Runnable (R), Running (R), Sleeping (S), Uninterruptible Sleep (D)) gösterir. Bu durumlar doğrudan Linux İşlem Durumları ile eşlenir.
  6. İz dilimleri: Bu bölümde, uygulama geliştiriciler veya çerçeve tarafından eklenen iz açıklamaları gösterilir. Bu ek açıklamalar, Trace.beginSection ile Trace.endSection arasındaki hesaplamaları kapsar.

Perfetto kullanıcı arayüzü ve izleme görselleştirme hakkında daha fazla bilgi için Perfetto belgelerine bakın.