'\" t .\" Title: perf-timechart .\" 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\-TIMECHART" "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-timechart \- ابزاری برای مصورسازی رفتار کلی سیستم در حین یک بار کاری .SH "خلاصه دستور (SYNOPSIS)" .sp .nf .fi .SH "توضیحات (DESCRIPTION)" .sp دو حالت کارکرد برای perf timechart وجود دارد: .sp .if n \{\ .RS 4 .\} .nf دستور \*(Aqperf timechart record \*(Aq برای ضبط رویدادهای سطح سیستم یک بار کاری دلخواه\&. به‌طور پیش‌فرض timechart فقط رویدادهای زمان‌بند و پردازنده (تغییر تسک‌ها، زمان‌های اجرا، وضعیت توان پردازنده و غیره) را ضبط می‌کند، اما امکان ضبط فعالیت‌های IO (دیسک، شبکه) با استفاده از آرگومان \-I نیز وجود دارد\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf دستور \*(Aqperf timechart\*(Aq برای تبدیل یک ردگیری به یک فایل گرافیک برداری مقیاس‌پذیر (SVG)، که می‌تواند با نمایش‌دهنده‌های محبوب SVG مانند \*(AqInkscape\*(Aq مشاهده شود\&. بسته به رویدادهای موجود در فایل perf\&.data، نمودار timechart شامل رویدادهای زمان‌بند/پردازنده یا رویدادهای IO خواهد بود\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf در حالت IO، هر نوار دارای دو نمودار است: بالایی و پایینی\&. نوار بالایی رویدادهای ورودی (خواندن دیسک، بسته‌های دریافتی شبکه) را نشان می‌دهد\&. نوار پایینی رویدادهای خروجی (نوشتن دیسک، بسته‌های ارسالی شبکه) را نشان می‌دهد\&. همچنین نوارهای poll وجود دارند که نشان می‌دهند برنامه چه مقدار زمان را در فراخوان‌های سیستمی poll/epoll/select صرف کرده است\&. .fi .if n \{\ .RE .\} .SH "گزینه‌های TIMECHART (TIMECHART OPTIONS)" .PP \-o, \-\-output= .RS 4 انتخاب فایل خروجی (پیش‌فرض: output\&.svg) .RE .PP \-i, \-\-input= .RS 4 انتخاب فایل ورودی (پیش‌فرض: perf\&.data مگر اینکه stdin یک fifo باشد) .RE .PP \-w, \-\-width= .RS 4 انتخاب عرض فایل SVG (پیش‌فرض: 1000) .RE .PP \-P, \-\-power\-only .RS 4 تنها خروجی دادن بخش مصرف توان پردازنده از نمودار .RE .PP \-T, \-\-tasks\-only .RS 4 انتقال‌های وضعیت پردازنده در خروجی آورده نشوند .RE .PP \-p, \-\-process .RS 4 انتخاب فرآیندها برای نمایش، بر اساس نام یا PID .RE .PP \-f, \-\-force .RS 4 بدون شکایت، انجام بده\&. .RE .PP \-\-symfs= .RS 4 جستجو برای فایل‌های دارای نماد به‌صورت نسبی نسبت به این دایرکتوری\&. چیدمان اختیاری می‌تواند \fIhierarchy\fR (پیش‌فرض، تطبیق با مسیر کامل) یا \fIflat\fR (تنها تطبیق با نام پایه) باشد\&. این گزینه زمانی مفید است که فایل‌های اشکال‌زدایی در یک ساختار دایرکتوری مسطح ذخیره شده باشند\&. .RE .PP \-n, \-\-proc\-num .RS 4 چاپ اطلاعات تسک حداقل برای تعداد مشخص‌شده از تسک‌ها\&. .RE .PP \-t, \-\-topology .RS 4 مرتب‌سازی پردازنده‌ها بر اساس مکان‌شناسی (توپولوژی)\&. .RE .PP \-\-highlight= .RS 4 برجسته‌سازی تسک‌ها (با رنگ متفاوت) که بیش از مدت‌زمان مشخص اجرا شده‌اند یا تسک‌هایی با نام مشخص‌شده\&. اگر عدد داده شود، به عنوان تعداد نانوثانیه تفسیر می‌شود\&. اگر یک رشته غیرعددی داده شود، به عنوان نام تسک تفسیر می‌شود\&. .RE .PP \-\-io\-skip\-eagain .RS 4 رویدادهای IO مربوط به EAGAIN رسم نشوند\&. .RE .PP \-\-io\-min\-time= .RS 4 رسم رویدادهای کوچک به‌گونه‌ای که گویی به اندازه min\-time طول کشیده‌اند\&. زمانی مفید است که نیاز دارید IOهای بسیار کوچک و سریع را مشاهده کنید\&. امکان مشخص کردن پسوند ms یا us برای تعیین زمان به میلی‌ثانیه یا میکروثانیه وجود دارد\&. مقدار پیش‌فرض 1ms است\&. .RE .PP \-\-io\-merge\-dist= .RS 4 ادغام رویدادهایی که به اندازه merge\-dist نانوثانیه با هم فاصله دارند\&. این کار تعداد شکل‌ها را در SVG کاهش داده و رندر شدن آن را بهینه‌تر می‌کند\&. امکان مشخص کردن پسوند ms یا us برای تعیین زمان به میلی‌ثانیه یا میکروثانیه وجود دارد\&. مقدار پیش‌فرض 1us است\&. .RE .SH "گزینه‌های RECORD (RECORD OPTIONS)" .PP \-P, \-\-power\-only .RS 4 تنها رویدادهای مرتبط با توان ضبط شوند .RE .PP \-T, \-\-tasks\-only .RS 4 تنها رویدادهای مرتبط با تسک‌ها ضبط شوند .RE .PP \-I, \-\-io\-only .RS 4 تنها رویدادهای مرتبط با IO ضبط شوند .RE .PP \-g, \-\-callchain .RS 4 ضبط نمودار فراخوانی (زنجیره پشته/backtrace) انجام شود .RE .PP \-o, \-\-output= .RS 4 انتخاب فایل خروجی (پیش‌فرض: perf\&.data) .RE .SH "مثال‌ها (EXAMPLES)" .sp $ perf timechart record git pull .sp .if n \{\ .RS 4 .\} .nf [ perf record: Woken up 13 times to write data ] [ perf record: Captured and wrote 4\&.253 MB perf\&.data (~185801 samples) ] .fi .if n \{\ .RE .\} .sp $ perf timechart .sp .if n \{\ .RS 4 .\} .nf Written 10\&.2 seconds of trace to output\&.svg\&. .fi .if n \{\ .RE .\} .sp ضبط نمودار زمانی در سطح کل سیستم: .sp .if n \{\ .RS 4 .\} .nf $ perf timechart record .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf سپس تولید نمودار زمانی و برجسته‌سازی تسک‌های \*(Aqgcc\*(Aq: .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf $ perf timechart \-\-highlight gcc .fi .if n \{\ .RE .\} .sp ضبط رویدادهای IO در سطح کل سیستم: .sp .if n \{\ .RS 4 .\} .nf $ perf timechart record \-I .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf سپس تولید نمودار زمانی: .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf $ perf timechart .fi .if n \{\ .RE .\} .SH "همچنین ببینید (SEE ALSO)" .sp \fBperf-record\fR(1)