ثبت ردیابی سیستم در خط فرمان

فرمان systrace ابزار Systrace را فراخوانی می‌کند، که به شما امکان می‌دهد اطلاعات زمان‌بندی را در همه فرایندهای درحال اجرا در دستگاهتان در سطح سیستم جمع‌آوری و بررسی کنید.

این سند نحوه تولید گزارش‌های Systrace را از خط فرمان توضیح می‌دهد. در دستگاه‌هایی که از Android 9 (سطح میانای برنامه‌سازی کاربردی ۲۸) یا بالاتر استفاده می‌کنند، می‌توانید بااستفاده از برنامه سیستم «ردگیری سیستم»، گزارش‌های Systrace نیز تولید کنید.

برای اجرای systrace، مراحل زیر را تکمیل کنید:

  1. از «استودیو Android»، جدیدترین ابزارهای کیت توسعه نرم‌افزار Android را بارگیری و نصب کنید.
  2. Python را نصب کنید و آن را در متغیر محیطی PATH ایستگاه کاری‌تان قرار دهید.
  3. android-sdk/platform-tools/ را به متغیر محیطی PATH اضافه کنید. این دایرکتوری حاوی باینری «پل اشکال‌زدایی Android»‏ (adb) است که توسط برنامه systrace فراخوانی می‌شود.
  4. دستگاهی را که Android نسخه ۴.۳ (سطح میانای برنامه‌سازی کاربردی ۱۸) یا بالاتر دارد بااستفاده از اتصال اشکال‌زدایی USB به سیستم توسعه‌تان متصل کنید.

فرمان systrace در بسته «ابزارهای کیت توسعه نرم‌افزار Android» ارائه شده است و در android-sdk/platform-tools/systrace/ قرار دارد.

نحو

برای تولید گزارش HTML برای برنامه، باید systrace را از خط فرمان بااستفاده از نحو زیر اجرا کنید:

python systrace.py [options] [categories]

برای مثال، فرمان زیر systrace را برای ضبط فعالیت دستگاه و تولید گزارش HTML با نام mynewtrace.html فراخوانی می‌کند. این فهرست دسته‌ها، فهرست پیش‌فرض مناسبی برای اکثر دستگاه‌ها است.

$ python systrace.py -o mynewtrace.html sched freq idle am wm gfx view \
    binder_driver hal dalvik camera input res memory

نکته: اگر می‌خواهید نام تکالیف را در خروجی ردیابی ببینید، باید دسته sched را در پارامترهای فرمان خود بگنجانید.

برای مشاهده فهرست دسته‌هایی که دستگاه متصل‌شده شما پشتیبانی می‌کند، فرمان زیر را اجرا کنید:

$ python systrace.py --list-categories

اگر هیچ دسته یا گزینه‌ای را مشخص نکنید، systrace گزارشی تولید می‌کند که شامل همه دسته‌های دردسترس است و از تنظیمات پیش‌فرض استفاده می‌کند. دسته‌های موجود به دستگاه متصل‌شده‌ای که استفاده می‌کنید بستگی دارد.

گزینه‌های سراسری

گزینه‌های سراسری شرح
-h | --help پیام راهنما را نشان می‌دهد.
-l | --list-categories دسته‌های ردیابی دردسترس برای دستگاه متصل‌شده شما را فهرست می‌کند.

فرمان‌ها و گزینه‌های فرمان

فرمان‌ها و گزینه‌ها شرح
-o file گزارش ردیابی HTML را در file مشخص‌شده بنویسید. اگر این گزینه را مشخص نکنید، systrace گزارشتان را در همان فهرست راهنمای systrace.py ذخیره می‌کند و نام آن را trace.html می‌گذارد.
-t N | --time=N ردیابی فعالیت دستگاه به‌مدت N ثانیه. اگر این گزینه را مشخص نکنید، systrace از شما می‌خواهد با فشار دادن کلید Enter از خط فرمان، ردیابی را پایان دهید.
-b N | --buf-size=N از اندازه میان‌گیر ردیابی N کیلوبایت استفاده کنید. این گزینه به شما امکان می‌دهد اندازه کل داده‌های جمع‌آوری‌شده درطول ردیابی را محدود کنید.
-k functions
| --ktrace=functions
فعالیت توابع هسته خاص را که در فهرستی جداشده با کاما مشخص شده‌اند ردیابی می‌کند.
-a app-name
| --app=app-name
ردیابی را برای برنامه‌ها فعال کنید، که به‌صورت فهرست جداشده با ویرگول از نام‌های پردازش مشخص شده است. برنامه‌ها باید حاوی فراخوانی‌های ابزار ردیابی از کلاس Trace باشند. هرزمان که برنامه را نمایه می‌کنید باید این گزینه را مشخص کنید—بسیاری از کتابخانه‌ها، مانند RecyclerView، شامل فراخوانی‌های ابزار ردیابی هستند که هنگام فعال کردن ردیابی در سطح برنامه، اطلاعات مفیدی ارائه می‌دهند. برای اطلاعات بیشتر، به تعریف رویدادهای سفارشی مراجعه کنید.

برای ردیابی همه برنامه‌ها در دستگاهی که Android 9 (سطح میانای برنامه‌سازی کاربردی ۲۸) یا بالاتر را اجرا می‌کند، نویسه عام "*" را به‌همراه علامت نقل‌قول ارسال کنید.

--from-file=file-path ایجاد گزارش HTML تعاملی از فایل، مانند فایل‌های TXT که شامل داده‌های ردیابی خام است، به‌جای اجرای ردیابی زنده.
-e device-serial
| --serial=device-serial
ردیابی را در دستگاه متصل خاصی که با شماره سریال دستگاه شناسایی می‌شود انجام دهید.
categories اطلاعات ردیابی را برای فرایندهای سیستمی که مشخص می‌کنید، مانند gfx برای فرایندهای سیستمی که گرافیک را رندر می‌کنند، اضافه کنید. می‌توانید systrace را با فرمان -l اجرا کنید تا فهرست سرویس‌های دردسترس برای دستگاه متصل‌شده‌تان را ببینید.