ATrace melakukan pelacakan performa untuk HAR menggunakan crate eksternal
tracing_android_trace.
Mengaktifkan pelacakan untuk HAR
Untuk mengaktifkan pelacakan performa untuk referensi harry-app, aktifkan
fitur Cargo harry-app-platform-specific/tracing-android.
# crates/reference/harry-app/Cargo.toml
harry-sdv = ["harry-app-platform-specific/tracing-android", ...]
Menambahkan rekaman aktivitas kustom ke HAR
let custom_trace = tracing::info_span!("custom_trace_span").entered()
// code here will be traced
drop(custom_trace)

Gambar 1. UI Perfetto yang menampilkan contoh rekaman aktivitas dari proses harry (HAR)
Pelacakan performa untuk DriverUI
DriverUI menggunakan perekaman aktivitas sistem Android; tidak diperlukan konfigurasi tambahan.
Menambahkan rekaman aktivitas kustom ke DriverUI
Anda dapat menambahkan peristiwa kustom ke kode Kotlin menggunakan Panduan Developer.
Mengumpulkan rekaman aktivitas
Sebaiknya gunakan Torq untuk mengumpulkan rekaman aktivitas di AAOS.
Menggunakan Torq
Torq adalah alat CLI untuk mengumpulkan rekaman aktivitas performa di AAOS dan SDV.
Buat clone repositori Torq.
Ikuti petunjuk di repositori untuk membangun lalu menjalankan:
export ANDROID_SERIAL=<your_device_serial>
# Collect a 7 second trace
torq -d 7000
Kumpulkan rekaman aktivitas performa terpadu di kedua VM
Karena Keamanan Layar berjalan di dua VM, mengumpulkan rekaman aktivitas dari kedua VM secara bersamaan akan membantu mengidentifikasi masalah.
- Torq mendukung rekaman aktivitas terpadu melalui
traced_relayPerfetto. - Untuk merekam rekaman aktivitas terpadu, identifikasi terlebih dahulu cid untuk kedua VM:
# 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
Dalam contoh ini, gunakan VM SDV-Media (cid=3) sebagai relay.
# 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
Contoh:

Gambar 2. UI Perfetto yang menampilkan contoh Unified Trace dengan kedua proses
dari kedua VM: harry (HAR) dan com.android.car.driverui (DriverUI).
Mengumpulkan rekaman aktivitas booting
Untuk mengumpulkan rekaman aktivitas booting untuk menganalisis performa booting, Anda harus mengaktifkan beberapa tanda.
Tetapkan tanda persistensi khusus SDV untuk rekaman aktivitas booting.
export ANDROID_SERIAL=<your_device_serial> adb root adb shell setprop persist.debug.sdv.boottrace 1 adb shell setprop persist.debug.perfetto.boottrace 1Tetapkan parameter cmdline kernel
androidboot.fastboot.boottrace=enabled.
# For Cuttlefish, set when creating CVD
cvd create -extra_kernel_cmdline=androidboot.fastboot.boottrace=enabled
Gunakan record_android_trace
Lakukan hal berikut:
# 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