.\" Automatically generated by Pandoc 3.10.2 .\" .TH "JFR" "1" "2026" "JDK 25.0.4.1" "JDK Commands" .SH "نام (NAME)" jfr \- ابزار بررسی و تحلیل فایل‌های ضبط وقایع پرواز جاوا (JDK Flight Recorder) (نسخه ۲۵) .SH "خلاصه دستور (SYNOPSIS)" برای چاپ محتویات یک فایل ضبط وقایع پرواز در خروجی استاندارد: .PP \f[CR]jfr\f[R] \f[CR]print\f[R] [\f[I]options\f[R]] \f[I]file\f[R] .PP برای نمایش داده‌های تجمیعی رویدادها در خروجی استاندارد: .PP \f[CR]jfr\f[R] \f[CR]view\f[R] [\f[I]options\f[R]] \f[I]file\f[R] .PP برای پیکربندی یک فایل تنظیمات \f[CR].jfc\f[R]: .PP \f[CR]jfr\f[R] \f[CR]configure\f[R] [\f[I]options\f[R]] .PP برای چاپ اطلاعات متاداده درباره رویدادهای ضبط وقایع پرواز: .PP \f[CR]jfr\f[R] \f[CR]metadata\f[R] [\f[I]file\f[R]] .PP برای مشاهده آمار خلاصه یک فایل ضبط وقایع پرواز: .PP \f[CR]jfr\f[R] \f[CR]summary\f[R] \f[I]file\f[R] .PP برای حذف رویدادها از یک فایل ضبط وقایع پرواز: .PP \f[CR]jfr\f[R] \f[CR]scrub\f[R] [\f[I]options\f[R]] \f[I]file\f[R] .PP برای سرهم‌بندی فایل‌های تکه‌ای (چانک) در یک فایل ضبط وقایع پرواز: .PP \f[CR]jfr\f[R] \f[CR]assemble\f[R] \f[I]repository\f[R] \f[I]file\f[R] .PP برای تجزیه یک فایل ضبط وقایع پرواز به فایل‌های تکه‌ای (چانک): .PP \f[CR]jfr\f[R] \f[CR]disassemble\f[R] [\f[I]options\f[R]] \f[I]file\f[R] .TP \f[I]options\f[R] اختیاری: گزینه‌های خط فرمان را مشخص می‌کند که با فاصله از هم جدا می‌شوند. برای مشاهده توضیحات گزینه‌های موجود، به بخش‌های مربوط به زیرفرمان‌ها مراجعه کنید. .TP \f[I]file\f[R] نام فایل هدف ضبط وقایع پرواز (\f[CR].jfr\f[R]) را مشخص می‌کند. .TP \f[I]repository\f[R] مکان فایل‌های تکه‌ای (چانک) را مشخص می‌کند که قرار است در یک فایل ضبط وقایع پرواز سرهم‌بندی شوند. .SH "توضیحات (DESCRIPTION)" دستور \f[CR]jfr\f[R] ابزاری برای تعامل با فایل‌های ضبط وقایع پرواز (\f[CR].jfr\f[R]) فراهم می‌کند. وظیفه اصلی آن فیلتر کردن، خلاصه‌سازی و خروجی دادن فایل‌های ضبط وقایع پرواز در قالبی قابل خواندن برای انسان است. همچنین از پاک‌سازی (scrubbing)، ادغام و تفکیک فایل‌های ضبط پشتیبانی می‌کند. .PP فایل‌های ضبط وقایع پرواز به صورت فایل‌هایی با قالب باینری ایجاد و ذخیره می‌شوند. داشتن ابزاری که بتواند محتویات را از یک فایل ضبط استخراج کرده، آن‌ها را دستکاری کند و به قالبی خوانا برای انسان تبدیل نماید، به توسعه‌دهندگان در اشکال‌زدایی مشکلات کارایی برنامه‌های جاوا کمک می‌کند. .SS "زیرفرمان‌ها (Subcommands)" دستور \f[CR]jfr\f[R] دارای چندین زیرفرمان است: .IP \(bu 2 \f[CR]print\f[R] .IP \(bu 2 \f[CR]view\f[R] .IP \(bu 2 \f[CR]configure\f[R] .IP \(bu 2 \f[CR]metadata\f[R] .IP \(bu 2 \f[CR]summary\f[R] .IP \(bu 2 \f[CR]scrub\f[R] .IP \(bu 2 \f[CR]assemble\f[R] .IP \(bu 2 \f[CR]disassemble\f[R] .SS "زیرفرمان jfr print" از زیرفرمان \f[CR]jfr print\f[R] برای چاپ محتویات یک فایل ضبط وقایع پرواز در خروجی استاندارد استفاده کنید. .PP نحو دستور: .PP \f[CR]jfr print\f[R] [\f[CR]\-\-xml\f[R]|\f[CR]\-\-json\f[R]|\f[CR]\-\-exact\f[R]] [\f[CR]\-\-categories\f[R] <\f[I]filters\f[R]>] [\f[CR]\-\-events\f[R] <\f[I]filters\f[R]>] [\f[CR]\-\-stack\-depth\f[R] <\f[I]depth\f[R]>] <\f[I]file\f[R]> .PP که در آن: .TP \f[CR]\-\-xml\f[R] فایل ضبط را با قالب XML چاپ می‌کند. .TP \f[CR]\-\-json\f[R] فایل ضبط را با قالب JSON چاپ می‌کند. .TP \f[CR]\-\-exact\f[R] اعداد و برچسب‌های زمانی را با دقت کامل و خوانایی مناسب چاپ می‌کند. .TP \f[CR]\-\-categories\f[R] <\f[I]filters\f[R]> رویدادهای منطبق با یک نام دسته‌بندی را انتخاب می‌کند. فیلتر یک فهرست جداشده با کاما از نام‌های ساده و/یا واجد شرایط (qualified) و/یا الگوهای glob نقل‌قول‌شده است. .TP \f[CR]\-\-events\f[R] <\f[I]filters\f[R]> رویدادهای منطبق با یک نام رویداد را انتخاب می‌کند. فیلتر یک فهرست جداشده با کاما از نام‌های ساده و/یا واجد شرایط و/یا الگوهای glob نقل‌قول‌شده است. .TP \f[CR]\-\-stack\-depth\f[R] <\f[I]depth\f[R]> تعداد فریم‌ها در ردگیری پشته (stack traces) که مقدار پیش‌فرض آن ۵ است. .TP <\f[I]file\f[R]> مکان فایل ضبط (\f[CR].jfr\f[R]). .PP قالب پیش‌فرض برای چاپ محتویات فایل ضبط وقایع پرواز به صورت متنی و خوانا برای انسان است، مگر اینکه \f[CR]xml\f[R] یا \f[CR]json\f[R] مشخص شده باشد. این گزینه‌ها خروجی ماشین‌خوان فراهم می‌کنند که می‌تواند توسط اسکریپت‌های نوشته‌شده توسط کاربر پردازش و تحلیل شود. .PP برای مشاهده مثال‌های استفاده از فیلترها از دستور \f[CR]jfr \-\-help print\f[R] استفاده کنید. .PP برای کاهش حجم داده‌های نمایش‌داده‌شده، امکان فیلتر کردن رویدادها یا دسته‌بندی‌های رویداد وجود دارد. فیلتر روی نام نمادین یک رویداد (تنظیم‌شده با استفاده از انوتیشن \f[CR]\(atName\f[R]) یا نام دسته‌بندی (تنظیم‌شده با استفاده از انوتیشن \f[CR]\(atCategory\f[R]) اعمال می‌شود. اگر از چندین فیلتر استفاده شود، رویدادهای هر دو فیلتر گنجانده خواهند شد. اگر هیچ فیلتری استفاده نشود، تمام رویدادها چاپ می‌شوند. اگر ترکیبی از فیلتر دسته‌بندی و فیلتر رویداد استفاده شود، رویدادهای انتخاب‌شده اجتماع دو فیلتر خواهند بود. .PP برای مثال، برای نمایش تمام رویدادهای GC و رویداد CPULoad، می‌توان از دستور زیر استفاده کرد: .PP \f[CR]jfr print \-\-categories GC \-\-events CPULoad recording.jfr\f[R] .PP مقادیر رویداد بر اساس انواع محتوایی که استفاده می‌شوند قالب‌بندی می‌گردند. به عنوان مثال، فیلدی با انوتیشن \f[CR]jdk.jfr.Percentage\f[R] که مقدار 0.52 دارد، به صورت %52 قالب‌بندی می‌شود. .PP ردگیری‌های پشته به طور پیش‌فرض به ۵ فریم کوتاه می‌شوند، اما می‌توان این تعداد را با استفاده از گزینه خط فرمان \f[CR]\-\-stack\-depth\f[R] افزایش یا کاهش داد. .SS "زیرفرمان jfr view" از زیرفرمان \f[CR]jfr view\f[R] برای تجمیع و نمایش داده‌های رویداد در خروجی استاندارد استفاده کنید. .PP نحو دستور: .PP \f[CR]jfr view\f[R] [\f[CR]\-\-verbose\f[R]] [\f[CR]\-\-width\f[R] <\f[I]integer\f[R]>] [\f[CR]\-\-truncate\f[R] <\f[I]mode\f[R]>] [\f[CR]\-\-cell\-height\f[R] <\f[I]integer\f[R]>] <\f[I]view\f[R]> <\f[I]file\f[R]> .PP که در آن: .TP \f[CR]\-\-verbose\f[R] پرس‌وجویی (query) که نما را می‌سازد نمایش می‌دهد. .TP \f[CR]\-\-width\f[R] <\f[I]integer\f[R]> عرض نما بر حسب تعداد کاراکتر. مقدار پیش‌فرض به نما بستگی دارد. .TP \f[CR]\-\-truncate\f[R] <\f[I]mode\f[R]> نحوه کوتاه کردن محتوایی که از فضای یک سلول جدول فراتر می‌رود. حالت می‌تواند \(aqbeginning\(aq (ابتدا) یا \(aqend\(aq (انتها) باشد. مقدار پیش‌فرض \(aqend\(aq است. .TP \f[CR]\-\-cell\-height\f[R] <\f[I]integer\f[R]> حداکثر تعداد سطرها در یک سلول جدول. مقدار پیش‌فرض به نما بستگی دارد. .TP <\f[I]view\f[R]> نام نما یا نوع رویداد برای نمایش. برای مشاهده فهرستی از نماهای موجود از \f[CR]jfr \-\-help view\f[R] استفاده کنید. .TP <\f[I]file\f[R]> مکان فایل ضبط (\f[CR].jfr\f[R]). .PP پارامتر <\f[I]view\f[R]> می‌تواند نام یک نوع رویداد باشد. از دستور \f[CR]jfr view types \f[R] برای مشاهده فهرست استفاده کنید. برای نمایش تمام نماها، از \f[CR]jfr view all\-views \f[R] استفاده کنید. برای نمایش تمام رویدادها، از \f[CR]jfr view all\-events \f[R] استفاده کنید. .SS "زیرفرمان jfr configure" از زیرفرمان \f[CR]jfr configure\f[R] برای پیکربندی یک فایل تنظیمات \f[CR].jfc\f[R] استفاده کنید. .PP نحو دستور: .PP \f[CR]jfr configure\f[R] [\-\-interactive] [\-\-verbose] [\-\-input ] [\-\-output ] [option=value]* [event\-setting=value]* .TP \f[CR]\-\-interactive\f[R] حالت تعاملی که در آن پیکربندی با مجموعه‌ای از پرسش‌ها تعیین می‌شود. .TP \f[CR]\-\-verbose\f[R] تنظیمات تغییریافته را نمایش می‌دهد. .TP \f[CR]\-\-input\f[R] <\f[I]files\f[R]> فهرستی جداشده با کاما از فایل‌های \f[CR].jfc\f[R] که پیکربندی جدید بر پایه آن‌ها است. اگر هیچ فایلی مشخص نشود، فایل پیش‌فرض در JDK استفاده می‌شود (\f[CR]default.jfc\f[R]). اگر \(aqnone\(aq مشخص شود، پیکربندی جدید به صورت خالی آغاز می‌گردد. .TP \f[CR]\-\-output\f[R] <\f[I]file\f[R]> نام فایل خروجی تولیدشده. اگر مشخص نشود، نام فایل \f[CR]custom.jfc\f[R] استفاده خواهد شد. .TP \f[I]option=value\f[R] مقدار گزینه برای تغییر. برای مشاهده گزینه‌های موجود، از \f[CR]jfr help configure\f[R] استفاده کنید. .TP \f[I]event\-setting=value\f[R] مقدار تنظیم رویداد برای تغییر. از فرم زیر استفاده کنید: .br <\f[I]event\-name\f[R]>#<\f[I]setting\-name\f[R]>=<\f[I]value\f[R]> .br برای افزودن یک تنظیم رویداد جدید، نام رویداد را با پیشوند \(aq+\(aq بیاورید. .PP جداکننده فاصله خالی می‌تواند برای مقادیر بازه زمانی حذف شود، مانند \f[CR]20ms\f[R]. برای اطلاعات بیشتر درباره نحو تنظیمات، به Javadoc بسته \f[CR]jdk.jfr\f[R] مراجعه کنید. .SS "زیرفرمان jfr metadata" از زیرفرمان \f[CR]jfr metadata\f[R] برای نمایش اطلاعات مربوط به رویدادها مانند نام رویدادها، دسته‌بندی‌ها و چیدمان فیلدها در یک فایل ضبط وقایع پرواز استفاده کنید. .PP نحو دستور: .PP \f[CR]jfr metadata\f[R] [\-\-categories ] [\-\-events ] [] .TP \f[CR]\-\-categories\f[R] <\f[I]filter\f[R]> رویدادهای منطبق با یک نام دسته‌بندی را انتخاب می‌کند. فیلتر یک فهرست جداشده با کاما از نام‌های ساده و/یا واجد شرایط و/یا الگوهای glob نقل‌قول‌شده است. .TP \f[CR]\-\-events\f[R] <\f[I]filter\f[R]> رویدادهای منطبق با یک نام رویداد را انتخاب می‌کند. فیلتر یک فهرست جداشده با کاما از نام‌های ساده و/یا واجد شرایط و/یا الگوهای glob نقل‌قول‌شده است. .TP <\f[I]file\f[R]> مکان فایل ضبط (\f[CR].jfr\f[R]). .PP اگر پارامتر حذف شود، متاداده از JDK که ابزار \(aqjfr\(aq در آن قرار دارد استفاده خواهد شد. .SS "زیرفرمان jfr summary" از زیرفرمان \f[CR]jfr summary\f[R] برای چاپ آمار یک فایل ضبط استفاده کنید. به عنوان مثال، خلاصه می‌تواند تعداد رویدادهای ضبط‌شده و میزان فضای دیسک مصرفی آن‌ها را نشان دهد. این امر برای عیب‌یابی و درک تأثیر تنظیمات رویداد مفید است. .PP نحو دستور: .PP \f[CR]jfr summary\f[R] <\f[I]file\f[R]> .PP که در آن: .TP <\f[I]file\f[R]> مکان فایل ضبط وقایع پرواز (\f[CR].jfr\f[R]). .SS "زیرفرمان jfr scrub" از زیرفرمان \f[CR]jfr scrub\f[R] برای حذف محتویات حساس از یک فایل یا کاهش اندازه آن استفاده کنید. .PP نحو دستور: .PP \f[CR]jfr scrub\f[R] [\-\-include\-events <\f[I]filter\f[R]>] [\-\-exclude\-events <\f[I]filter\f[R]>] [\-\-include\-categories <\f[I]filter\f[R]>] [\-\-exclude\-categories <\f[I]filter\f[R]>] [\-\-include\-threads <\f[I]filter\f[R]>] [\-\-exclude\-threads <\f[I]filter\f[R]>] <\f[I]input\-file\f[R]> [<\f[I]output\-file\f[R]>] .TP \f[CR]\-\-include\-events\f[R] <\f[I]filter\f[R]> رویدادهای منطبق با یک نام رویداد را انتخاب می‌کند. .TP \f[CR]\-\-exclude\-events\f[R] <\f[I]filter\f[R]> رویدادهای منطبق با یک نام رویداد را مستثنی می‌کند. .TP \f[CR]\-\-include\-categories\f[R] <\f[I]filter\f[R]> رویدادهای منطبق با یک نام دسته‌بندی را انتخاب می‌کند. .TP \f[CR]\-\-exclude\-categories\f[R] <\f[I]filter\f[R]> رویدادهای منطبق با یک نام دسته‌بندی را مستثنی می‌کند. .TP \f[CR]\-\-include\-threads\f[R] <\f[I]filter\f[R]> رویدادهای منطبق با یک نام رشته (thread) را انتخاب می‌کند. .TP \f[CR]\-\-exclude\-threads\f[R] <\f[I]filter\f[R]> رویدادهای منطبق با یک نام رشته را مستثنی می‌کند. .TP <\f[I]input\-file\f[R]> فایل ورودی برای خواندن رویدادها از آن. .TP <\f[I]output\-file\f[R]> فایل خروجی برای نوشتن رویدادهای فیلترشده در آن. اگر فایلی مشخص نشود، در همان مسیر فایل ورودی نوشته خواهد شد، اما عبارت \(dq\-scrubbed\(dq به انتهای نام فایل اضافه می‌شود. .PP فیلتر یک فهرست جداشده با کاما از نام‌های ساده و/یا واجد شرایط و/یا الگوهای glob نقل‌قول‌شده است. اگر چندین فیلتر استفاده شود، به ترتیب مشخص‌شده اعمال می‌شوند. .SS "زیرفرمان jfr assemble" از زیرفرمان \f[CR]jfr assemble\f[R] برای سرهم‌بندی فایل‌های تکه‌ای (چانک) در یک فایل ضبط استفاده کنید. .PP نحو دستور: .PP \f[CR]jfr assemble\f[R] <\f[I]repository\f[R]> <\f[I]file\f[R]> .PP که در آن: .TP <\f[I]repository\f[R]> پوشه‌ای که مخزن حاوی فایل‌های تکه‌ای در آن قرار دارد. .TP <\f[I]file\f[R]> مکان فایل ضبط وقایع پرواز (\f[CR].jfr\f[R]). .PP اطلاعات ضبط وقایع پرواز در قالب تکه‌ها (chunks) نوشته می‌شود. یک تکه شامل تمام اطلاعات لازم برای تجزیه و تحلیل است. یک تکه معمولاً شامل رویدادهای مفید برای عیب‌یابی است. در صورت خرابی یا کرش JVM، این تکه‌ها می‌توانند بازیابی شده و با استفاده از دستور \f[CR]jfr assemble\f[R] برای ایجاد یک فایل ضبط وقایع پرواز استفاده شوند. این فایل‌های تکه‌ای به ترتیب زمانی به هم متصل می‌شوند و فایل‌های تکه‌ای که کامل نشده‌اند (\f[CR].part\f[R]) نادیده گرفته می‌شوند. .SS "زیرفرمان jfr disassemble" از زیرفرمان \f[CR]jfr disassemble\f[R] برای تجزیه یک فایل ضبط وقایع پرواز به تکه‌های سازنده آن استفاده کنید. .PP نحو دستور: .PP \f[CR]jfr disassemble\f[R] [\f[CR]\-\-max\-chunks\f[R] <\f[I]chunks\f[R]>] [\f[CR]\-\-output\f[R] <\f[I]directory\f[R]>] <\f[I]file\f[R]> .PP که در آن: .TP \f[CR]\-\-output\f[R] <\f[I]directory\f[R]> مکان نوشتن فایل‌های تجزیه‌شده؛ به طور پیش‌فرض دایرکتوری جاری است. .TP \f[CR]\-\-max\-chunks\f[R] <\f[I]chunks\f[R]> حداکثر تعداد تکه‌ها در هر فایل، به طور پیش‌فرض ۵. اندازه تکه‌ها متغیر است، اما معمولاً حدود ۱۵ مگابایت است. .TP \f[CR]\-\-max\-size\f[R] <\f[I]size\f[R]> حداکثر تعداد بایت‌ها در هر فایل. .TP <\f[I]file\f[R]> مکان فایل ضبط وقایع پرواز (\f[CR].jfr\f[R]). .PP این قابلیت می‌تواند برای تعمیر یک فایل خراب با حذف تکه معیوب مفید باشد. همچنین می‌تواند برای کاهش حجم فایلی که برای انتقال بیش از حد بزرگ است استفاده شود. فایل‌های تکه‌ای حاصل با نام‌های \f[CR]myfile_1.jfr\f[R]، \f[CR]myfile_2.jfr\f[R] و غیره نام‌گذاری می‌شوند. در صورت نیاز، نام فایل‌های حاصل با صفر پر می‌شوند تا ترتیب زمانی حفظ شود. به عنوان مثال، اگر ضبط شامل بیش از ۱۰۰ تکه باشد، نام فایل تکه \f[CR]myfile_001.jfr\f[R] خواهد بود. .SS "زیرفرمان‌های version و help در jfr" از \f[CR]jfr \-\-version\f[R] یا \f[CR]jfr version\f[R] برای مشاهده رشته اطلاعات نسخه این دستور jfr استفاده کنید. .PP برای دریافت راهنما در مورد هر یک از زیرفرمان‌های jfr، از دستور زیر استفاده کنید: .PP \f[CR]jfr <\-\-help|help>\f[R] [\f[I]subcommand\f[R]] .PP که در آن: .PP [\f[I]subcommand\f[R]] یکی از موارد زیر است: .IP \(bu 2 \f[CR]print\f[R] .IP \(bu 2 \f[CR]view\f[R] .IP \(bu 2 \f[CR]configure\f[R] .IP \(bu 2 \f[CR]metadata\f[R] .IP \(bu 2 \f[CR]summary\f[R] .IP \(bu 2 \f[CR]scrub\f[R] .IP \(bu 2 \f[CR]assemble\f[R] .IP \(bu 2 \f[CR]disassemble\f[R]