'\" t .\" Title: perf-ftrace .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 09/04/2026 .\" Manual: perf Manual .\" Source: perf .\" Language: Persian .\" .TH "PERF\-FTRACE" "1" "09/04/2026" "perf" "perf Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" perf\-ftrace \- واسط ساده برای قابلیت‌های ftrace در هسته .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fIperf ftrace\fR {trace|latency|profile} .fi .SH "توضیحات (DESCRIPTION)" .sp دستور \fIperf ftrace\fR مجموعه‌ای از زیردستورها را فراهم می‌کند که از زیرساخت ftrace هسته استفاده می‌کنند\&. .sp .if n \{\ .RS 4 .\} .nf دستور \*(Aqperf ftrace trace\*(Aq یک واسط ساده برای ftrace است\&. در حال حاضر تنها از ردیابی تک‌رشته‌ای پشتیبانی می‌کند و صرفاً trace_pipe را به صورت متنی خوانده و به خروجی استاندارد (stdout) می‌نویسد\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf دستور \*(Aqperf ftrace latency\*(Aq تاخیر اجرای یک تابع مشخص را محاسبه کرده (اختیاری با BPF) و آن را به شکل یک نمودار فراوانی (هیستوگرام) نمایش می‌دهد\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf دستور \*(Aqperf ftrace profile\*(Aq یک نمایه اجرایی برای هر تابع شامل زمان کل، میانگین، حداکثر زمان و تعداد فراخوانی‌ها نمایش می‌دهد\&. .fi .if n \{\ .RE .\} .sp گزینه‌های زیر برای perf ftrace به کار می‌روند\&. .SH "گزینه‌های عمومی (COMMON OPTIONS)" .PP \-p, \-\-pid= .RS 4 ردیابی روی شناسه فرآیند (PID) موجود (فهرست جداشده با کاما)\&. .RE .PP \-\-tid= .RS 4 ردیابی روی شناسه رشته (TID) موجود (فهرست جداشده با کاما)\&. .RE .PP \-a, \-\-all\-cpus .RS 4 اجبار به جمع‌آوری داده در سطح کل سیستم\&. اسکریپت‌هایی که بدون اجرا می‌شوند معمولاً به‌طور پیش‌فرض از \-a استفاده می‌کنند، در حالی که اسکریپت‌های اجراشده با معمولاً چنین نیستند \- این گزینه امکان اجرای حالت دوم را در حالت سراسری سیستم فراهم می‌کند\&. .RE .PP \-C, \-\-cpu= .RS 4 ردیابی فقط برای فهرست پردازنده‌های ارائه‌شده\&. چندین پردازنده را می‌توان به‌صورت فهرستی جداشده با کاما و بدون فاصله مشخص کرد، مانند: 0,1\&. بازه‌های پردازنده‌ها با \- مشخص می‌شوند: 0\-2\&. پیش‌فرض، ردیابی روی همه پردازنده‌های آنلاین است\&. .RE .PP \-v, \-\-verbose .RS 4 افزایش سطح جزئیات پیام‌ها\&. .RE .SH "گزینه‌های \FIPERF FTRACE TRACE\FR (OPTIONS FOR \FIPERF FTRACE TRACE\FR)" .PP \-t, \-\-tracer= .RS 4 ردیاب مورد استفاده هنگامی که هیچ‌کدام از گزینه‌های \-G یا \-F مشخص نشده باشند: function_graph یا function\&. .RE .PP \-F, \-\-funcs .RS 4 فهرست کردن توابع موجود برای ردیابی\&. این گزینه یک الگو را می‌پذیرد تا فقط توابع مورد نظر فهرست شوند\&. .RE .PP \-D, \-\-delay .RS 4 زمان انتظار (میلی‌ثانیه) پیش از آغاز ردیابی پس از شروع برنامه\&. .RE .PP \-m, \-\-buffer\-size .RS 4 تنظیم اندازه بافر ردیابی به ازای هر پردازنده؛ انتظار می‌رود یک عدد با نویسه واحد الصاق‌شده \- B/K/M/G باشد\&. .RE .PP \-\-inherit .RS 4 ردیابی فرآیندهای فرزند ایجادشده توسط هدف مورد نظر\&. .RE .PP \-T, \-\-trace\-funcs= .RS 4 انتخاب ردیاب function و تنظیم فیلتر تابع روی تابع داده‌شده (یا یک الگوی glob)\&. با استفاده بیش از یک بار از این گزینه می‌توان چندین تابع را مشخص کرد\&. آرگومان تابع می‌تواند یک الگوی glob نیز باشد\&. این مقدار به \fIset_ftrace_filter\fR در tracefs ارسال خواهد شد\&. .RE .PP \-N, \-\-notrace\-funcs= .RS 4 انتخاب ردیاب function و عدم ردیابی توابع ارائه‌شده در آرگومان\&. همانند گزینه \-T، این گزینه می‌تواند بیش از یک بار برای مشخص کردن چندین تابع (یا الگوهای glob) استفاده شود\&. این مقدار به \fIset_ftrace_notrace\fR در tracefs ارسال خواهد شد\&. .RE .PP \-\-func\-opts .RS 4 فهرست گزینه‌های مجاز برای تنظیم: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} call\-graph \- نمایش رد پشته هسته برای ردیاب تابع (function tracer)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} irq\-info \- نمایش اطلاعات بافتار وقفه (irq) برای ردیاب تابع\&. .RE .RE .PP \-G, \-\-graph\-funcs= .RS 4 انتخاب ردیاب function_graph و تنظیم فیلتر گراف روی تابع داده‌شده (یا یک الگوی glob)\&. این گزینه برای ردیابی توابعی که از درون تابع داده‌شده اجرا می‌شوند مفید است\&. این گزینه می‌تواند بیش از یک بار برای مشخص کردن چندین تابع به کار رود\&. این مقدار به \fIset_graph_function\fR در tracefs ارسال خواهد شد\&. .RE .PP \-g, \-\-nograph\-funcs= .RS 4 انتخاب ردیاب function_graph و تنظیم فیلتر عدم ردیابی گراف روی تابع داده‌شده (یا یک الگوی glob)\&. همانند گزینه \-G، این گزینه فقط برای ردیاب function_graph کاربرد دارد و ردیابی را برای توابعی که از تابع داده‌شده اجرا می‌شوند غیرفعال می‌کند\&. این گزینه می‌تواند بیش از یک بار برای مشخص کردن چندین تابع استفاده شود\&. این مقدار به \fIset_graph_notrace\fR در tracefs ارسال خواهد شد\&. .RE .PP \-\-graph\-opts .RS 4 فهرست گزینه‌های مجاز برای تنظیم: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} args \- نمایش آرگومان‌های تابع\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} retval \- نمایش مقدار بازگشتی تابع\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} retval\-hex \- نمایش مقدار بازگشتی تابع در قالب هگزادسیمال\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} retaddr \- نمایش آدرس بازگشت تابع\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} nosleep\-time \- اندازه‌گیری زمان صرف‌شده روی پردازنده (on-CPU) فقط برای ردیاب function_graph\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} noirqs \- نادیده گرفتن توابعی که درون وقفه رخ می‌دهند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} verbose \- نمایش نام فرآیندها، شناسه‌ها (PID)، برچسب‌های زمانی و موارد دیگر\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} thresh= \- تنظیم آستانه مدت‌زمان ردیابی بر حسب میکروثانیه\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} depth= \- تنظیم حداکثر عمق برای دنبال کردن توسط ردیاب گراف تابع\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} tail \- چاپ نام تابع در پایان آن\&. .RE .RE .SH "گزینه‌های \FIPERF FTRACE LATENCY\FR (OPTIONS FOR \FIPERF FTRACE LATENCY\FR)" .PP \-T, \-\-trace\-funcs= .RS 4 تنظیم نام تابع برای دریافت نمودار فراوانی (هیستوگرام)\&. برخلاف perf ftrace trace، این گزینه تنها اجازه مشخص کردن یک تابع را برای محاسبه هیستوگرام می‌دهد\&. .RE .PP \-e, \-\-events= .RS 4 تنظیم جفت رویدادها برای دریافت نمودار فراوانی\&. نمودار فراوانی بر اساس اختلاف زمانی میان دو رویداد از یک رشته محاسبه می‌شود\&. این گزینه نیازمند گزینه \-b/\-\-use\-bpf است\&. .RE .PP \-b, \-\-use\-bpf .RS 4 استفاده از BPF برای اندازه‌گیری تاخیر تابع به جای استفاده از ftrace (به صورت داخلی از ردیاب function_graph استفاده می‌کند)\&. .RE .PP \-n, \-\-use\-nsec .RS 4 استفاده از نانوثانیه به جای میکروثانیه به عنوان واحد پایه نمودار فراوانی\&. .RE .PP \-\-bucket\-range= .RS 4 دامنه هر بازه (bucket) بر حسب میلی‌ثانیه یا نانوثانیه (با توجه به \-n/\-\-use\-nsec)؛ پیش‌فرض در حالت log2() است\&. .RE .PP \-\-min\-latency= .RS 4 حداقل تاخیر برای شروع اولین بازه، بر حسب میلی‌ثانیه یا نانوثانیه (با توجه به \-n/\-\-use\-nsec)\&. .RE .PP \-\-max\-latency= .RS 4 حداکثر تاخیر برای شروع آخرین بازه، بر حسب میلی‌ثانیه یا نانوثانیه (با توجه به \-n/\-\-use\-nsec)\&. اگر مقدار واردشده منجر به بیش از ۲۲ بازه شود، این تنظیم نادیده گرفته می‌شود\&. .RE .SH "گزینه‌های \FIPERF FTRACE PROFILE\FR (OPTIONS FOR \FIPERF FTRACE PROFILE\FR)" .PP \-T, \-\-trace\-funcs= .RS 4 تنظیم فیلتر تابع روی تابع داده‌شده (یا یک الگوی glob)\&. با استفاده بیش از یک بار از این گزینه می‌توان چندین تابع را مشخص کرد\&. آرگومان تابع می‌تواند یک الگوی glob نیز باشد\&. این مقدار به \fIset_ftrace_filter\fR در tracefs ارسال خواهد شد\&. .RE .PP \-N, \-\-notrace\-funcs= .RS 4 عدم ردیابی توابع ارائه‌شده در آرگومان\&. همانند گزینه \-T، این گزینه می‌تواند بیش از یک بار برای مشخص کردن چندین تابع (یا الگوهای glob) استفاده شود\&. این مقدار به \fIset_ftrace_notrace\fR در tracefs ارسال خواهد شد\&. .RE .PP \-G, \-\-graph\-funcs= .RS 4 تنظیم فیلتر گراف روی تابع داده‌شده (یا یک الگوی glob)\&. این گزینه برای ردیابی توابعی که از درون تابع داده‌شده اجرا می‌شوند مفید است\&. این گزینه می‌تواند بیش از یک بار برای مشخص کردن چندین تابع به کار رود\&. این مقدار به \fIset_graph_function\fR در tracefs ارسال خواهد شد\&. .RE .PP \-g, \-\-nograph\-funcs= .RS 4 تنظیم فیلتر عدم ردیابی گراف روی تابع داده‌شده (یا یک الگوی glob)\&. همانند گزینه \-G، این گزینه فقط برای ردیاب function_graph کاربرد دارد و ردیابی را برای توابعی که از تابع داده‌شده اجرا می‌شوند غیرفعال می‌کند\&. این گزینه می‌تواند بیش از یک بار برای مشخص کردن چندین تابع استفاده شود\&. این مقدار به \fIset_graph_notrace\fR در tracefs ارسال خواهد شد\&. .RE .PP \-m, \-\-buffer\-size .RS 4 تنظیم اندازه بافر ردیابی به ازای هر پردازنده؛ انتظار می‌رود یک عدد با نویسه واحد الصاق‌شده \- B/K/M/G باشد\&. .RE .PP \-s, \-\-sort= .RS 4 مرتب‌سازی نتیجه بر اساس فیلد داده‌شده\&. مقادیر موجود عبارتند از: total، avg، max، count، name\&. مقدار پیش‌فرض \fItotal\fR است\&. .RE .PP \-\-graph\-opts .RS 4 فهرست گزینه‌های مجاز برای تنظیم: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} nosleep\-time \- اندازه‌گیری زمان صرف‌شده روی پردازنده (on-CPU) فقط برای ردیاب function_graph\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} noirqs \- نادیده گرفتن توابعی که درون وقفه رخ می‌دهند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} thresh= \- تنظیم آستانه مدت‌زمان ردیابی بر حسب میکروثانیه\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} depth= \- تنظیم حداکثر عمق برای دنبال کردن توسط ردیاب گراف تابع\&. .RE .RE .SH "همچنین ببینید (SEE ALSO)" .sp \fBperf-record\fR(1), \fBperf-trace\fR(1)