| PERF-INJECT(1) | perf Manual | PERF-INJECT(1) |
نام (NAME)
perf-inject - فیلتری برای تقویت جریان رویدادها با اطلاعات تکمیلی
خلاصه دستور (SYNOPSIS)
perf inject <options>
توضیحات (DESCRIPTION)
دستور perf-inject یک جریان رویداد perf-record را میخواند و آن را مجدداً به stdout هدایت میکند. در هر نقطهای کد پردازش میتواند رویدادهای دیگری را به جریان رویداد تزریق کند - در این مورد build-idها (گزینهٔ -b) خوانده شده و در صورت نیاز به جریان رویداد تزریق میشوند.
شناسههای ساخت (Build-idها) تنها نخستین استفاده از perf-inject هستند - بالقوه هر چیزی که برای تقویت جریان رویدادها با اطلاعات تکمیلی به پردازش در فضای کاربری نیاز دارد، میتواند از این قابلیت بهره ببرد.
گزینهها (OPTIONS)
-b, --build-ids
--buildid-all
--known-build-ids=
-v, --verbose
-i, --input=
-o, --output=
-s, --sched-stat
-k, --vmlinux=<file>
--ignore-vmlinux
--kallsyms=<file>
--itrace
i سنتز رویدادهای instructions
y سنتز رویدادهای cycles
b سنتز رویدادهای branches
c سنتز رویدادهای branches (تنها فراخوانیها / calls)
r سنتز رویدادهای branches (تنها بازگشتها / returns)
x سنتز رویدادهای transactions
w سنتز رویدادهای ptwrite
p سنتز رویدادهای power (شامل رویدادهای PSB برای Intel PT)
o سنتز سایر رویدادهای ثبتشده به دلیل استفاده
از aux-output (به perf record مراجعه کنید)
I سنتز رویدادهای وقفه یا مشابه (ناهمگام)
(مانند Intel PT Event Trace)
e سنتز رویدادهای error
d ایجاد یک گزارش اشکالزدایی (debug log)
f سنتز رویدادهای حافظه نهان سطح اول (first level cache)
m سنتز رویدادهای حافظه نهان سطح آخر (last level cache)
M سنتز رویدادهای حافظه (memory)
t سنتز رویدادهای TLB
a سنتز رویدادهای دسترسی از راه دور (remote access)
g سنتز یک زنجیره فراخوانی (استفاده همراه با i یا x)
G سنتز یک زنجیره فراخوانی روی رکوردهای رویداد موجود
l سنتز آخرین مدخلهای انشعاب (last branch) (استفاده همراه با i یا x)
L سنتز آخرین مدخلهای انشعاب روی رکوردهای رویداد موجود
s صرفنظر کردن از تعداد اولیهٔ مشخصی از رویدادها
q رمزگشایی سریعتر (با جزئیات کمتر)
A تقریب IPC
Z ترجیح بر نادیده گرفتن برچسبهای زمانی (رمزگشایی اصطلاحاً "timeless")
T استفاده از رد برچسب زمانی بهعنوان زمان هسته
حالت پیشفرض همهٔ رویدادها است؛ یعنی مشابه --itrace=iybxwpe، بهجز در perf script که به صورت --itrace=ce است.
علاوه بر این، دوره (پیشفرض 100000، بهجز در perf script که 1 است) برای رویدادهای instructions میتواند بر حسب واحدهای زیر مشخص شود:
i دستورالعملها (instructions) t تیکها (ticks) ms میلیثانیه (milliseconds) us میکروثانیه (microseconds) ns نانوثانیه (پیشفرض) (nanoseconds)
همچنین اندازهٔ زنجیره فراخوانی (پیشفرض 16، حداکثر 1024) برای رویدادهای instructions یا transactions میتواند مشخص شود.
همچنین میتوان تعداد مدخلهای آخرین انشعاب (پیشفرض ۶۴، حداکثر ۱۰۲۴) را برای رویدادهای دستورالعملها (instructions) یا تراکنشها (transactions) مشخص کرد.
مشابه گزینههای g و l، اندازه را میتوان برای گزینههای G و L نیز تعیین کرد. در x86، توجه داشته باشید که در صورت ثبت دادهها با PEBS بزرگ، گزینههای G و L عملکرد ضعیفی دارند. برای جزئیات به صفحه راهنمای linkperf:perf-intel-pt[1] مراجعه کنید.
همچنین امکان صرفنظر کردن از رویدادهای تولیدشده (instructions، branches، transactions، ptwrite، power) در ابتدا وجود دارد. این ویژگی برای نادیده گرفتن کد مقداردهی اولیه مفید است.
--itrace=i0nss1000000
از یک میلیون دستورالعمل نخست صرفنظر میکند.
گزینه 'e' میتواند با پرچمهایی دنبال شود که بر گزارش شدن یا نشدن
خطاها تأثیر میگذارند. پیش از هر پرچم باید یک '+' یا '-' قرار گیرد.
این پرچمها عبارتند از:
o overflow (سرریز)
l trace data lost (از دست رفتن دادههای ردگیری)
در صورت پشتیبانی، گزینه 'd' میتواند با پرچمهایی همراه شود که تعیین میکنند
کدام پیامهای اشکالزدایی ثبت شوند یا نشوند. پیش از هر پرچم باید
'+' یا '-' قرار گیرد. این پرچمها عبارتند از:
a همه رویدادهای perf
e خروجی تنها هنگام بروز خطا (اندازه قابل پیکربندی است - linkperf:perf-config[1] را ببینید)
o ارسال خروجی به stdout
در صورت پشتیبانی، گزینه 'q' میتواند برای افزایش اثر تکرار شود.
--strip
-j, --jit
-f, --force
--vm-time-correlation[=OPTIONS]
--guest-data=<path>,<pid>[,<time offset>[,<time scale>]]
--convert-callchain
--guestmount=<path>
$ mkdir ~/guestmount $ cd ~/guestmount $ sshfs -o allow_other,direct_io -p 5551 localhost:/ 8888/ $ sshfs -o allow_other,direct_io -p 5552 localhost:/ 9999/ $ perf inject --guestmount=~/guestmount
perf-record(1), perf-report(1), perf-archive(1), perf-intel-pt(1)
| 09/04/2026 | perf |