تُجري ATrace عملية تتبُّع الأداء لـ HAR باستخدام الحزمة الخارجية
tracing_android_trace.
تفعيل ميزة تتبُّع الأداء لـ HAR
لتفعيل ميزة تتبُّع الأداء للمرجع harry-app، فعِّل
ميزة Cargo harry-app-platform-specific/tracing-android.
# crates/reference/harry-app/Cargo.toml
harry-sdv = ["harry-app-platform-specific/tracing-android", ...]
إضافة عمليات تتبُّع مخصّصة إلى HAR
let custom_trace = tracing::info_span!("custom_trace_span").entered()
// code here will be traced
drop(custom_trace)

الشكل 1: واجهة مستخدم Perfetto تعرض نموذجًا لعملية تتبُّع من عملية harry (HAR)
تتبُّع الأداء في DriverUI
تستخدم DriverUI ميزة تتبُّع نظام Android، ولا يلزم إجراء أي إعدادات إضافية.
إضافة عمليات تتبُّع مخصّصة إلى DriverUI
يمكنك إضافة أحداث مخصّصة إلى رمز Kotlin باستخدام دليل المطوّرين.
جمع بيانات عملية تتبُّع
ننصحك باستخدام Torq لجمع عمليات التتبُّع على AAOS.
استخدام Torq
Torq هي أداة سطر أوامر لجمع عمليات تتبُّع الأداء على AAOS وSDV.
أنشئ نسخة طبق الأصل من مستودع Torq.
اتّبِع التعليمات الواردة في المستودع لإنشاء الأداة ثم تشغيلها:
export ANDROID_SERIAL=<your_device_serial>
# Collect a 7 second trace
torq -d 7000
جمع عملية تتبُّع موحّدة للأداء على كلا الجهازَين الوهميَين
بما أنّ ميزة "أمان الشاشة" تعمل على جهازَين وهميَين، يساعد جمع عمليات التتبُّع من كلا الجهازَين في الوقت نفسه في تحديد المشاكل.
- Torq تتيح عمليات التتبُّع الموحّدة من خلال
traced_relayفي Perfetto. - لتسجيل عملية تتبُّع موحّدة، حدِّد أولاً رقم تعريف الاتصال (cid) لكلا الجهازَين الوهميَين:
# 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
في هذا المثال، استخدِم الجهاز الوهمي SDV-Media (cid=3) كجهاز إعادة توجيه.
# 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
على سبيل المثال:

الشكل 2: واجهة مستخدم Perfetto تعرض نموذجًا لعملية تتبُّع موحّدة تتضمّن كلتا العمليتَين من كلا الجهازَين الوهميَين: harry (HAR) وcom.android.car.driverui (DriverUI).
جمع عملية تتبُّع الإقلاع
لجمع عملية تتبُّع الإقلاع من أجل تحليل أداء الإقلاع، عليك تفعيل بعض العلامات.
اضبط علامة الثبات الخاصة بـ SDV لعمليات تتبُّع الإقلاع.
export ANDROID_SERIAL=<your_device_serial> adb root adb shell setprop persist.debug.sdv.boottrace 1 adb shell setprop persist.debug.perfetto.boottrace 1اضبط مَعلمة سطر أوامر النواة
androidboot.fastboot.boottrace=enabled.
# For Cuttlefish, set when creating CVD
cvd create -extra_kernel_cmdline=androidboot.fastboot.boottrace=enabled
استخدام record_android_trace
اتّبِع الخطوات التالية:
# 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