ATrace, harici crate'i kullanarak HAR için performans izleme gerçekleştirir
tracing_android_trace.
HAR için izlemeyi etkinleştirme
harry-app referansı için performans izlemeyi etkinleştirmek istiyorsanız Cargo özelliğini harry-app-platform-specific/tracing-android etkinleştirin.
# crates/reference/harry-app/Cargo.toml
harry-sdv = ["harry-app-platform-specific/tracing-android", ...]
HAR'a özel izlemeler ekleme
let custom_trace = tracing::info_span!("custom_trace_span").entered()
// code here will be traced
drop(custom_trace)

Şekil 1. harry işleminden (HAR) örnek bir izlemeyi gösteren Perfetto kullanıcı arayüzü
DriverUI için performans izleme
DriverUI, Android sistem izlemeyi kullanır. Ek yapılandırma gerekmez.
DriverUI'ya özel izlemeler ekleme
Geliştirici Kılavuzu'nu kullanarak Kotlin koduna özel etkinlikler ekleyebilirsiniz.
İz toplama
AAOS'te izleri toplamak için Torq'u öneririz.
Torq'u kullanma
Torq, AAOS ve SDV'de performans izlerini toplamak için kullanılan bir CLI aracıdır.
Torq deposunu klonlayın.
Derleme ve çalıştırma için depodaki talimatları uygulayın:
export ANDROID_SERIAL=<your_device_serial>
# Collect a 7 second trace
torq -d 7000
Her iki sanal makinede de birleştirilmiş performans izleme verileri toplama
Display Safety iki sanal makinede çalıştığından her iki sanal makineden de aynı anda iz toplamak sorunları belirlemeye yardımcı olur.
- Torq, Perfetto'nun
traced_relayaracılığıyla birleştirilmiş izlemeleri destekler. - Birleşik izleme yakalamak için önce her iki sanal makinenin cid'sini belirleyin:
# Get the cid for SDV Media VM. For example: 3
adb -s <sdv_media_vm_serial> shell getprop ro.sdv.vsock_local_cid
# Get the cid for SDV IVI VM. For example: 4
adb -s <sdv_ivi_vm_serial> shell getprop ro.sdv.vsock_local_cid
Bu örnekte, geçiş olarak SDV-Media VM'yi (cid=3) kullanın.
# Configure your VMs for unified tracing
torq vm configure --primary <sdv_ivi_vm_serial> --primary-cid 4 --secondary <sdv_media_vm_serial>
# Collect a 7 second trace from the SDV IVI VM, it will now collect a unified trace
torq --serial <sdv_ivi_vm_serial> -d 7000
Örneğin:

Şekil 2. Her iki sanal makineden de süreçlerin yer aldığı örnek bir Birleştirilmiş İzleme'yi gösteren Perfetto kullanıcı arayüzü: harry (HAR) ve com.android.car.driverui (DriverUI).
Başlatma izi toplama
Başlatma performansını analiz etmek için başlatma izi toplamak üzere birkaç işareti etkinleştirmeniz gerekir.
Başlatma izleri için SDV'ye özgü kalıcılık işaretini ayarlayın.
export ANDROID_SERIAL=<your_device_serial> adb root adb shell setprop persist.debug.sdv.boottrace 1 adb shell setprop persist.debug.perfetto.boottrace 1Çekirdek cmdline parametresini
androidboot.fastboot.boottrace=enabledolarak ayarlayın.
# For Cuttlefish, set when creating CVD
cvd create -extra_kernel_cmdline=androidboot.fastboot.boottrace=enabled
record_android_trace cihazını kullan
Aşağıdakileri yapın:
# Set your adb device serial
export ANDROID_SERIAL=<your_device_serial>
# Run record_android_trace from the Android repo
cd /<your_repo_path>
build/envsetup.sh
$ANDROID_BUILD_TOP/external/perfetto/tools/record_android_trace --config $ANDROID_BUILD_TOP/system/software_defined_vehicle/core_services/samples/tracing/config/trace_cfg.pbtx