perfetto
, aşağıdaki kullanıcılardan performans bilgileri toplamanıza olanak tanıyan bir araçtır:
Android cihazlar:
Android Debug Bridge (ADB).
perfetto
aracını adb shell perfetto ...
komutunu kullanarak yapabilirsiniz.
perfetto
, çeşitli yöntemler kullanıyor
cihazınızdan performans izlerini toplamak üzere aşağıdaki gibi kaynaklar:
- Çekirdekteki bilgiler için
ftrace
- Hizmetler ve uygulamalardaki kullanıcı alanı ek açıklaması için
atrace
- Hizmetlerin ve uygulamaların yerel bellek kullanım bilgileri için
heapprofd
Bu sayfada, perfetto
yönteminin nasıl çağrılacağı ve
sağlayabilirsiniz. Daha fazla bilgi için
perfetto
dokümanları.
Sözdizimi
Bu bölümde, farklı modlar için perfetto
çağrısı yapmak üzere ADB'nin nasıl kullanılacağı açıklanmaktadır
bir iz oluşturalım.
Veri kaynağı seçimi
perfetto
, veri kaynaklarını belirleyen aşağıdaki iki modu içerir
şunları yapmak için kullanılır:
- açık mod: Veri kaynaklarının yalnızca bir alt kümesini (özellikle
atrace
) seçebilirsiniz veftrace
. Ancak bu mod,systrace
. - normal mod: yapılandırmasını bir protokol arabelleğine alır ve
farklı veri kaynaklarını kullanarak
perfetto
işlevlerinden daha fazla yararlanabilirsiniz.atrace
veftrace
arasında.
Genel seçenekler
Aşağıdaki tabloda, perfetto
etiketlerinden herhangi birinde kullanıldığında kullanılabilen seçenekler
mod:
Option | Açıklama |
---|---|
--background |
|
perfetto , komut satırı arayüzünden hemen çıkar ve devam eder
arka planda kaydediyor musunuz? |
--background-wait | -D
|
--background ile benzerdir ancak tüm işlemler için (30 saniyeye kadar) bekler
veri kaynaklarının hangileri olduğunu kontrol edin. Çık
başarılı bir onay varsa kod sıfırdır.
aksi takdirde sıfır olmayan bir değer (hata veya zaman aşımı) belirlenebilir.
|
--alert-id
|
Bu izlemeyi tetikleyen uyarının kimliği. |
--config-id
|
Tetikleyici yapılandırmasının kimliği. |
--config-uid
|
Yapılandırmayı kaydeden uygulamanın UID'si. |
--subscription-id
|
Bu izlemeyi tetikleyen aboneliğin kimliği. |
--out OUT_FILE |
|
Not:
çıktı dosyası olarak kaydedebilirsiniz. Genellikle dosyalar
|
--upload
|
Tamamlandığında, izi
Proto izleme yapılandırmasında IncidentReportConfig mesajı var. |
--no-guardrails
|
Etkinleştirilirken aşırı kaynak kullanımına karşı korumaları devre dışı bırakır.
Test sırasında --upload işareti. |
--reset-guardrails
|
Test için güvenlik barilerinin ve çıkışların kalıcı durumunu sıfırlar. |
--rsave-for-bugreport
|
bugreport_score içeren bir iz varsa > 0 çalışıyor,
izlemeyi bir dosyaya kaydeder. Tamamlandığında yol çıkışını verir.
|
--query
|
Hizmet durumunu sorgular ve okunabilir metin olarak yazdırır. |
--query-raw
|
--query etiketine benzer, ancak
tracing_service_state.proto. |
--help | -h
|
perfetto aracı için yardım metnini yazdırır.
|
Açık mod
perfetto
özelliğini açık modda kullanmak için genel söz dizimi aşağıdaki gibidir:
adb shell perfetto [ --time TIMESPEC ] [ --buffer SIZE ] [ --size SIZE ] [ ATRACE_CAT | FTRACE_GROUP/FTRACE_NAME | FTRACE_GROUP/* ]... --out FILE
Aşağıdaki tabloda, perfetto
özelliğini kullanırken kullanılabilecek seçenekler listelenmiştir:
açık mod:
Option | Açıklama |
---|---|
--time TIME[s|m|h] |
|
İz süresini saniye, dakika veya saat olarak belirtir.
Örneğin, --time 1m 1 dakikalık iz süresini belirtir.
Varsayılan süre 10 saniyedir.
|
--buffer SIZE[mb|gb] |
|
Halka arabellek boyutunu megabayt (mb) veya gigabayt (gb) cinsinden belirtir.
Varsayılan parametre: --buffer 32mb .
|
--size SIZE[mb|gb] |
|
Maksimum dosya boyutunu megabayt (mb) veya gigabayt (gb) cinsinden belirtir. Ölçüt
varsayılan ayar olarak perfetto yalnızca bellek içi halka arabelleği kullanır.
|
--app | -a
|
Android (atrace) uygulama adı |
Bu seçeneklerin ardından bir etkinlik tanımlayıcı listesi gelir:
Etkinlik | Açıklama |
---|---|
ATRACE_CAT |
İz kaydetmek istediğiniz atrace kategorilerini belirtir.
Örneğin, aşağıdaki komut, atrace kullanarak Window Manager'ı izler:
adb shell perfetto --out FILE wm
Diğer kategorileri kaydetmek için şuraya bakın:
liste
|
FTRACE_GROUP/FTRACE_NAME |
İz kaydetmek istediğiniz ftrace etkinliklerini belirtir.
Örneğin, aşağıdaki komut sched/sched_switch etkinliklerini izler:
adb shell perfetto --out FILE sched/sched_switch |
Normal mod
perfetto
normal modda kullanımıyla ilgili genel söz dizimi aşağıdaki gibidir:
adb shell perfetto [ --txt ] --config CONFIG_FILE --out FILE
Aşağıdaki tabloda, perfetto
özelliğini kullanırken kullanılabilecek seçenekler listelenmiştir:
normal mod:
Option | Açıklama |
---|---|
--config CONFIG_FILE | -c CONFIG_FILE
|
Bir yapılandırma dosyasının yolunu belirtir. Normal modda bazı
yapılandırmalar, bir yapılandırma protokolü arabelleğinde kodlanabilir. Bu dosya
Şurada tanımlanan protokol arabellek şemasına uygun olmalıdır:
AOSP trace_config.proto .
Veri kaynaklarını
|
--txt
|
perfetto öğesine yapılandırma dosyasını pbtxt olarak ayrıştırması için talimat verir. Bu
işareti yalnızca yerel test amaçlıdır ve
üretim için etkinleştirin. |
Desteklenen veri kaynakları
Bu bölümde, perfetto
uygulamasının içerik oluşturmak için kullandığı farklı kaynaklar açıklanmaktadır
izler.
ftrace
ftrace
veri kaynağı, perfetto
ürününün çekirdekteki etkinlikleri almasına olanak tanır.
Şu ayarı yaparak bu kaynağı etkinleştirin:
ftrace_config
arasında yer alır.
Etkinleştirilebilecek etkinlikler şunlardır:
-
sched/sched_switch
sched/sched_wakeup
sched/sched_wakeup_new
sched/sched_process_exec
sched/sched_process_exit
sched/sched_process_fork
sched/sched_process_free
sched/sched_process_hang
sched/sched_process_wait
Dosya sistemi etkinlikleri:
Cihazınıza, işletim sistemi sürümünüze veya çekirdeğinize bağlı olarak daha fazla etkinlik gerçekleşebilir kullanılabilir. Daha fazla bilgi için yapılandırma proto'larına bakın.
İşlem İstatistikleri
İşlem istatistikleri veri kaynağı, nasıl yönetildiğini öğreneceğiz.
process_stats_config
ayarlayarak bu kaynağı etkinleştirin
ve sys_stats_config
arasında yer alır.
perfetto
tarafından oluşturulan veriler şunları içerir:
-
/proc/meminfo
/proc/vmstat
/proc/stat
-
/proc/\<pid\>/status
/proc/\<pid\>/oom_score_adj
Cihazınıza, işletim sistemi sürümüne ve çekirdeğe bağlı olarak daha fazla etkinlik
kullanılabilir. Daha fazla bilgi edinmek için sys_stats
ile ilgili yapılandırma protokolüne bakın
ve process_stats
.
heapprofd
heapprofd
, yerel bellek kullanımının nedenlerini örneklemenize olanak tanır.
heapprofd_config
ayarlayarak bu kaynağı etkinleştirin
arasında yer alır. Bu ayar ProfilePackets
üretir,
(çağrı yığınının Java çerçeveleri dahil)
heapprofd
hizmetinin nasıl kullanılacağı ile ilgili daha fazla bilgiyi şu adreste bulabilirsiniz:
perfetto.dev
Diğer kaynaklar
Cihazınıza, işletim sistemi sürümünüze ve çekirdeğinize bağlı olarak kullanılabilir. Daha fazla bilgi edinmek için veri kaynağı yapılandırma proto'ları hakkında daha fazla bilgi edinin.
perfetto
hakkında daha fazla bilgiyi şu adreste bulabilirsiniz:
perfetto.dev olarak değiştirin.