| PERF-FTRACE(1) | perf Manual | PERF-FTRACE(1) |
نام (NAME)
perf-ftrace - واسط ساده برای قابلیتهای ftrace در هسته
خلاصه دستور (SYNOPSIS)
perf ftrace {trace|latency|profile} <command>
توضیحات (DESCRIPTION)
دستور perf ftrace مجموعهای از زیردستورها را فراهم میکند که از زیرساخت ftrace هسته استفاده میکنند.
دستور 'perf ftrace trace' یک واسط ساده برای ftrace است. در حال حاضر تنها از ردیابی تکرشتهای پشتیبانی میکند و صرفاً trace_pipe را به صورت متنی خوانده و به خروجی استاندارد (stdout) مینویسد.
دستور 'perf ftrace latency' تاخیر اجرای یک تابع مشخص را محاسبه کرده (اختیاری با BPF) و آن را به شکل یک نمودار فراوانی (هیستوگرام) نمایش میدهد.
دستور 'perf ftrace profile' یک نمایه اجرایی برای هر تابع شامل زمان کل، میانگین، حداکثر زمان و تعداد فراخوانیها نمایش میدهد.
گزینههای زیر برای perf ftrace به کار میروند.
گزینههای عمومی (COMMON OPTIONS)
-p, --pid=
ردیابی
روی شناسه
فرآیند (PID)
موجود
(فهرست
جداشده با
کاما).
--tid=
ردیابی
روی شناسه
رشته (TID)
موجود
(فهرست
جداشده با
کاما).
-a, --all-cpus
اجبار به
جمعآوری
داده در سطح
کل سیستم.
اسکریپتهایی
که بدون <command>
اجرا
میشوند
معمولاً
بهطور
پیشفرض از -a
استفاده
میکنند،
در حالی که
اسکریپتهای
اجراشده با
<command> معمولاً
چنین
نیستند - این
گزینه
امکان
اجرای حالت
دوم را در
حالت
سراسری
سیستم
فراهم
میکند.
-C, --cpu=
ردیابی
فقط برای
فهرست
پردازندههای
ارائهشده.
چندین
پردازنده
را میتوان
بهصورت
فهرستی
جداشده با
کاما و بدون
فاصله مشخص
کرد، مانند:
0,1. بازههای
پردازندهها
با - مشخص
میشوند: 0-2.
پیشفرض،
ردیابی روی
همه
پردازندههای
آنلاین
است.
-v, --verbose
افزایش
سطح جزئیات
پیامها.
گزینههای PERF FTRACE TRACE (OPTIONS FOR PERF FTRACE TRACE)
-t, --tracer=
ردیاب
مورد
استفاده
هنگامی که
هیچکدام
از
گزینههای -G
یا -F مشخص
نشده باشند:
function_graph یا function.
-F, --funcs
فهرست
کردن توابع
موجود برای
ردیابی. این
گزینه یک
الگو را
میپذیرد
تا فقط
توابع مورد
نظر فهرست
شوند.
-D, --delay
زمان
انتظار
(میلیثانیه)
پیش از آغاز
ردیابی پس
از شروع
برنامه.
-m, --buffer-size
تنظیم
اندازه
بافر
ردیابی به
ازای هر
پردازنده؛
انتظار
میرود <size> یک
عدد با
نویسه واحد
الصاقشده -
B/K/M/G باشد.
--inherit
ردیابی
فرآیندهای
فرزند
ایجادشده
توسط هدف
مورد نظر.
-T, --trace-funcs=
انتخاب
ردیاب function و
تنظیم
فیلتر تابع
روی تابع
دادهشده
(یا یک الگوی
glob). با
استفاده
بیش از یک
بار از این
گزینه
میتوان
چندین تابع
را مشخص کرد.
آرگومان
تابع
میتواند
یک الگوی glob
نیز باشد.
این مقدار
به set_ftrace_filter در tracefs
ارسال
خواهد شد.
-N, --notrace-funcs=
انتخاب
ردیاب function و
عدم ردیابی
توابع
ارائهشده
در آرگومان.
همانند
گزینه -T، این
گزینه
میتواند
بیش از یک
بار برای
مشخص کردن
چندین تابع
(یا الگوهای
glob) استفاده
شود. این
مقدار به
set_ftrace_notrace در tracefs
ارسال
خواهد شد.
--func-opts
فهرست
گزینههای
مجاز برای
تنظیم:
•call-graph -
نمایش رد
پشته هسته
برای ردیاب
تابع (function tracer).
•irq-info -
نمایش
اطلاعات
بافتار
وقفه (irq) برای
ردیاب
تابع.
-G, --graph-funcs=
انتخاب
ردیاب function_graph و
تنظیم
فیلتر گراف
روی تابع
دادهشده
(یا یک الگوی
glob). این گزینه
برای
ردیابی
توابعی که
از درون
تابع
دادهشده
اجرا
میشوند
مفید است.
این گزینه
میتواند
بیش از یک
بار برای
مشخص کردن
چندین تابع
به کار رود.
این مقدار
به set_graph_function در tracefs
ارسال
خواهد شد.
-g, --nograph-funcs=
انتخاب
ردیاب function_graph و
تنظیم
فیلتر عدم
ردیابی
گراف روی
تابع
دادهشده
(یا یک الگوی
glob). همانند
گزینه -G، این
گزینه فقط
برای ردیاب
function_graph کاربرد
دارد و
ردیابی را
برای
توابعی که
از تابع
دادهشده
اجرا
میشوند
غیرفعال
میکند. این
گزینه
میتواند
بیش از یک
بار برای
مشخص کردن
چندین تابع
استفاده
شود. این
مقدار به
set_graph_notrace در tracefs
ارسال
خواهد شد.
--graph-opts
فهرست
گزینههای
مجاز برای
تنظیم:
•args - نمایش
آرگومانهای
تابع.
•retval - نمایش
مقدار
بازگشتی
تابع.
•retval-hex -
نمایش
مقدار
بازگشتی
تابع در
قالب
هگزادسیمال.
•retaddr -
نمایش آدرس
بازگشت
تابع.
•nosleep-time -
اندازهگیری
زمان
صرفشده
روی
پردازنده (on-CPU)
فقط برای
ردیاب function_graph.
•noirqs -
نادیده
گرفتن
توابعی که
درون وقفه
رخ
میدهند.
•verbose -
نمایش نام
فرآیندها،
شناسهها (PID)،
برچسبهای
زمانی و
موارد
دیگر.
•thresh=<n> -
تنظیم
آستانه
مدتزمان
ردیابی بر
حسب
میکروثانیه.
•depth=<n> -
تنظیم
حداکثر عمق
برای دنبال
کردن توسط
ردیاب گراف
تابع.
•tail - چاپ
نام تابع در
پایان آن.
گزینههای PERF FTRACE LATENCY (OPTIONS FOR PERF FTRACE LATENCY)
-T, --trace-funcs=
تنظیم
نام تابع
برای
دریافت
نمودار
فراوانی
(هیستوگرام).
برخلاف perf ftrace trace،
این گزینه
تنها اجازه
مشخص کردن
یک تابع را
برای
محاسبه
هیستوگرام
میدهد.
-e, --events=
تنظیم
جفت
رویدادها
برای
دریافت
نمودار
فراوانی.
نمودار
فراوانی بر
اساس
اختلاف
زمانی میان
دو رویداد
از یک رشته
محاسبه
میشود. این
گزینه
نیازمند
گزینه -b/--use-bpf
است.
-b, --use-bpf
استفاده
از BPF برای
اندازهگیری
تاخیر تابع
به جای
استفاده از
ftrace (به صورت
داخلی از
ردیاب function_graph
استفاده
میکند).
-n, --use-nsec
استفاده
از
نانوثانیه
به جای
میکروثانیه
به عنوان
واحد پایه
نمودار
فراوانی.
--bucket-range=
دامنه هر
بازه (bucket) بر
حسب
میلیثانیه
یا
نانوثانیه
(با توجه به
-n/--use-nsec)؛
پیشفرض در
حالت log2() است.
--min-latency=
حداقل
تاخیر برای
شروع اولین
بازه، بر
حسب
میلیثانیه
یا
نانوثانیه
(با توجه به
-n/--use-nsec).
--max-latency=
حداکثر
تاخیر برای
شروع آخرین
بازه، بر
حسب
میلیثانیه
یا
نانوثانیه
(با توجه به
-n/--use-nsec). اگر
مقدار
واردشده
منجر به بیش
از ۲۲ بازه
شود، این
تنظیم
نادیده
گرفته
میشود.
گزینههای PERF FTRACE PROFILE (OPTIONS FOR PERF FTRACE PROFILE)
-T, --trace-funcs=
تنظیم
فیلتر تابع
روی تابع
دادهشده
(یا یک الگوی
glob). با
استفاده
بیش از یک
بار از این
گزینه
میتوان
چندین تابع
را مشخص کرد.
آرگومان
تابع
میتواند
یک الگوی glob
نیز باشد.
این مقدار
به set_ftrace_filter در tracefs
ارسال
خواهد شد.
-N, --notrace-funcs=
عدم
ردیابی
توابع
ارائهشده
در آرگومان.
همانند
گزینه -T، این
گزینه
میتواند
بیش از یک
بار برای
مشخص کردن
چندین تابع
(یا الگوهای
glob) استفاده
شود. این
مقدار به
set_ftrace_notrace در tracefs
ارسال
خواهد شد.
-G, --graph-funcs=
تنظیم
فیلتر گراف
روی تابع
دادهشده
(یا یک الگوی
glob). این گزینه
برای
ردیابی
توابعی که
از درون
تابع
دادهشده
اجرا
میشوند
مفید است.
این گزینه
میتواند
بیش از یک
بار برای
مشخص کردن
چندین تابع
به کار رود.
این مقدار
به set_graph_function در tracefs
ارسال
خواهد شد.
-g, --nograph-funcs=
تنظیم
فیلتر عدم
ردیابی
گراف روی
تابع
دادهشده
(یا یک الگوی
glob). همانند
گزینه -G، این
گزینه فقط
برای ردیاب
function_graph کاربرد
دارد و
ردیابی را
برای
توابعی که
از تابع
دادهشده
اجرا
میشوند
غیرفعال
میکند. این
گزینه
میتواند
بیش از یک
بار برای
مشخص کردن
چندین تابع
استفاده
شود. این
مقدار به
set_graph_notrace در tracefs
ارسال
خواهد شد.
-m, --buffer-size
تنظیم
اندازه
بافر
ردیابی به
ازای هر
پردازنده؛
انتظار
میرود <size> یک
عدد با
نویسه واحد
الصاقشده -
B/K/M/G باشد.
-s, --sort=
مرتبسازی
نتیجه بر
اساس فیلد
دادهشده.
مقادیر
موجود
عبارتند از:
total، avg، max، count، name.
مقدار
پیشفرض total
است.
--graph-opts
فهرست
گزینههای
مجاز برای
تنظیم:
•nosleep-time -
اندازهگیری
زمان
صرفشده
روی
پردازنده (on-CPU)
فقط برای
ردیاب function_graph.
•noirqs -
نادیده
گرفتن
توابعی که
درون وقفه
رخ
میدهند.
•thresh=<n> -
تنظیم
آستانه
مدتزمان
ردیابی بر
حسب
میکروثانیه.
•depth=<n> -
تنظیم
حداکثر عمق
برای دنبال
کردن توسط
ردیاب گراف
تابع.
همچنین ببینید (SEE ALSO)
| 09/04/2026 | perf |