اضبط سلوك Microbenchmark باستخدام وسيطات أدوات القياس التالية. يمكنك إضافتها إلى إعدادات Gradle أو تطبيقها مباشرةً عند تنفيذ اختبار الأجهزة من سطر الأوامر. لضبط هذه الوسيطات لجميع عمليات تشغيل الاختبارات في "استوديو Android" وواجهة سطر الأوامر، أضِفها إلى testInstrumentationRunnerArguments:
android {
defaultConfig {
// ...
testInstrumentationRunnerArguments["androidx.benchmark.dryRunMode.enable"] = "true"
}
}
يمكنك أيضًا إعداد وسيطات أدوات القياس عند تشغيل مقاييس الأداء من Android Studio. لتغيير الوسيطات، اتّبِع الخطوات التالية:
- عدِّل إعداد التشغيل من خلال النقر على تعديل واختيار الإعداد الذي تريد تعديله.
الشكل 1. عدِّل إعدادات التشغيل. - عدِّل وسيطات القياس من خلال النقر على
بجانب حقل وسيطات القياس.
الشكل 2. عدِّل وسيط القياس. - انقر على وأضِف وسيطة القياس المطلوبة.
الشكل 3. أضِف وسيطة القياس.
إذا كنت تجري اختبار الأداء من سطر الأوامر، استخدِم -P
android.testInstrumentationRunnerArguments.[name of the argument]:
./gradlew :benchmark:connectedAndroidTest -P android.testInstrumentationRunnerArguments.androidx.benchmark.profiling.mode=StackSamplingإذا كنت تستدعي أمرًا خاصًا بأداة مباشرةً (وهو ما قد يحدث في بيئات اختبار الدمج المتواصل)، مرِّر الوسيط إلى am instrument باستخدام -e:
adb shell am instrument -e androidx.benchmark.profiling.mode StackSampling -w com.example.macrobenchmark/androidx.benchmark.junit4.AndroidBenchmarkRunnerلمزيد من المعلومات عن ضبط مقاييس الأداء في CI، يُرجى الاطّلاع على قياس الأداء في CI.
androidx.benchmark.cpuEventCounter.enable (تجريبي)
تحسب هذه السمة أحداث وحدة المعالجة المركزية المحدّدة في androidx.benchmark.cpuEventCounter.events.
يتطلّب ذلك إذن الوصول إلى الجذر.
- نوع الوسيطة: قيمة منطقية
- القيمة التلقائية: false
androidx.benchmark.cpuEventCounter.events (تجريبي)
تحدّد هذه السمة أنواع أحداث وحدة المعالجة المركزية التي سيتم احتسابها. لاستخدام هذه السمة، يجب ضبط androidx.benchmark.cpuEventCounter.enable على true.
- نوع الوسيطة: قائمة بسلاسل مفصولة بفواصل
- الخيارات المتاحة:
InstructionsCPUCyclesL1DReferencesL1DMissesBranchInstructionsBranchMissesL1IReferencesL1IMisses
- الإعداد التلقائي:
InstructionsأوCpuCyclesأوBranchMisses
androidx.benchmark.dryRunMode.enable
تتيح لك تشغيل اختبارات الأداء في حلقة واحدة للتحقّق من عملها بشكلٍ سليم.
ويعني ذلك ما يلي:
- لا يتم فرض أخطاء الإعداد (على سبيل المثال، لتسهيل إجراء اختبارات صحة منتظمة على المحاكيات)
- لا يتم تشغيل اختبار الأداء إلا في حلقة واحدة، بدون عملية إعداد مسبق
- لا يتم تسجيل القياسات وعمليات التتبُّع لتقليل وقت التشغيل
يؤدي ذلك إلى تحسين معدل نقل البيانات في الاختبار والتحقّق من صحة منطق قياس الأداء مقارنةً بصحة الإصدار والقياس.
- نوع الوسيطة: قيمة منطقية
- الإعداد التلقائي هو:
false
androidx.benchmark.iterations
تضبط هذه السمة عدد القياسات التي يتم إجراؤها. لا يحدّد هذا المقياس عدد مرات التكرار التي يتم تنفيذها بشكل مباشر، لأنّ كل قياس عادةً ما يتم تشغيله عدة مرات، ويتم تحديد عدد مرات التكرار بشكل ديناميكي استنادًا إلى وقت التشغيل أثناء عملية الإحماء.
- نوع الوسيطة: عدد صحيح
- الإعداد التلقائي هو:
50
androidx.benchmark.killExistingPerfettoRecordings
تتوقّف أداة Microbenchmark تلقائيًا عن تسجيل أي بيانات حالية في Perfetto (أداة تتبُّع النظام) عند بدء عملية تتبُّع جديدة للحد من التداخل. لإيقاف هذا السلوك، استخدِم
false.
- نوع الوسيطة: قيمة منطقية
- الإعداد التلقائي هو:
true
androidx.benchmark.output.enable
يتيح كتابة ملف JSON الخاص بالنتائج في وحدة التخزين الخارجية.
- نوع الوسيطة: قيمة منطقية
- الإعداد التلقائي هو:
true
androidx.benchmark.profiling.mode
يسمح بتسجيل ملفات التتبُّع أثناء تشغيل مقاييس الأداء. راجِع إنشاء ملف تعريف لاختبار أداء صغير للاطّلاع على الخيارات المتاحة.
يُرجى العِلم أنّ بعض إصدارات نظام التشغيل Android لا تتيح تتبُّع الطرق بدون أن تتأثّر القياسات اللاحقة. تعرض مكتبة Microbenchmark استثناءً لمنع حدوث ذلك، لذا استخدِم الوسيطة التلقائية لتسجيل عمليات تتبُّع الطرق فقط عندما يكون من الآمن إجراء ذلك. راجِع المشكلة رقم 316174880.
- نوع الوسيطة: سلسلة
- الخيارات المتاحة:
MethodTracingStackSamplingNone
- القيمة التلقائية: إصدار آمن من
MethodTracingلا يسجّل إلا تتبُّع طريقة إذا كان الجهاز قادرًا على ذلك بدون التأثير في القياسات.
androidx.benchmark.suppressErrors
تقبل هذه السمة قائمة مفصولة بفواصل من الأخطاء التي يجب تحويلها إلى تحذيرات.
- نوع الوسيطة: قائمة سلاسل
- الخيارات المتاحة:
DEBUGGABLELOW-BATTERYEMULATORCODE-COVERAGEUNLOCKEDSIMPLEPERFACTIVITY-MISSING
- القيمة التلقائية: قائمة فارغة
additionalTestOutputDir
تضبط هذه السمة مكان حفظ تقارير قياس الأداء بتنسيق JSON ونتائج تحديد المشاكل على الجهاز.
- نوع الوسيطة: سلسلة مسار الملف
- القيمة التلقائية: الدليل الخارجي لحزمة APK التجريبية
المستمع
قد تحصل على نتائج غير متسقة في اختبار الأداء إذا تم تنفيذ عمل غير ذي صلة في الخلفية أثناء تشغيل اختبار الأداء.
لإيقاف العمل في الخلفية أثناء قياس الأداء، اضبط نوع وسيطة أداة القياس listener
على androidx.benchmark.junit4.SideEffectRunListener.
- نوع الوسيطة: سلسلة
- الخيارات المتاحة:
androidx.benchmark.junit4.SideEffectRunListener
- القيمة التلقائية: لم يتم تحديدها
مُقترَحة لك
- ملاحظة: يتم عرض نص الرابط عندما تكون JavaScript غير مفعّلة.
- وسيطات أدوات Macrobenchmark
- إنشاء ملف تعريف لأداة Microbenchmark
- إنشاء ملفات تعريف أساسية {:#creating-profile-rules}