| mprof-report(1) | General Commands Manual | mprof-report(1) |
نام (NAME)
mprof-report - تحلیل و تولید گزارش از دادههای پروفایلر لاگ Mono
خلاصه دستور (SYNOPSIS)
mprof-report [گزینهها]... file.mlpd
توضیحات (DESCRIPTION)
mprof-report ابزار تولید گزارش برای پروفایلر log مربوط به Mono است. این ابزار فایلهای لاگ MLPD ایجادشده توسط پروفایلر لاگ را میخواند و بر اساس گزینههای دادهشده، گزارشی تولید میکند. خروجی بر پایه گزارشهای جداگانه است که میتوان آنها را فعال یا غیرفعال کرد. بهطور پیشفرض، همه گزارشها در قالب خلاصه (یعنی خروجی غیرمشروح) تولید میشوند.
دستور mprof-report میتواند هر دو نوع فایل لاگ عادی و فشردهشده با gzip(1) را بهصورت شفاف بخواند.
برای اطلاعات درباره نحوه استفاده از پروفایلر لاگ همراه با یک برنامه، صفحه mono-profilers(1) و بخش LOG PROFILER را ببینید.
گزینهها (OPTIONS)
گزینههای زیر در دسترس هستند:
- --help
- دستورالعملهای استفاده را نمایش میدهد.
- --out=file
- خروجی گزارش را بهجای خروجی استاندارد، در file مینویسد.
- --traces
- ردیابی پشته (backtrace) را در صورت موجود بودن در گزارشها نشان میدهد.
- --maxframes=num
- ردیابی پشته را به num فریم محدود میکند.
- --reports=reports
- فقط گزارشهای مشخصشده را تولید میکند. reports فهرستی از گزارشها است که با کاما از هم جدا شدهاند. بخش گزارشها (REPORTS) را ببینید.
- --method-sort=mode
- متدها را بر اساس mode مرتب میکند که میتواند یکی از موارد زیر باشد:
- total (پیشفرض)
- مرتبسازی بر اساس کل زمان صرفشده در یک متد و فراخوانیشدگان آن.
- self
- مرتبسازی بر اساس زمان صرفشده فقط در داخل خود متد.
- calls
- مرتبسازی بر اساس تعداد کل فراخوانیهای انجامشده به یک متد.
- --alloc-sort=mode
- تخصیصها را بر اساس mode مرتب میکند که میتواند یکی از موارد زیر باشد:
- bytes (پیشفرض)
- مرتبسازی بر اساس مقدار بایتهای حافظه هیپ (heap) اشغالشده توسط تمام اشیای تخصیصیافته از یک نوع.
- count
- مرتبسازی بر اساس تعداد کل تخصیصهای یک نوع.
- --counters-sort=mode
- شمارندهها را بر اساس mode مرتب میکند. این گزینه نحوه ارائه گزارش counters را تغییر میدهد و میتواند یکی از موارد زیر باشد:
- time (پیشفرض)
- ارائه فهرستی از نمونهها، که هر کدام شامل فهرستی از جفتهای نام-مقدار شمارنده است.
- category
- ارائه فهرستی از نامهای شمارنده، که هر کدام شامل فهرستی از مقادیر نمونهبرداریشده است.
- این گزینه هیچ تأثیری ندارد مگر اینکه --verbose داده شده باشد.
- --track=objects
- ردیابی رویدادهای مربوط به اشیای مشخصشده. objects فهرستی از آدرسهای اشیا است که با کاما از هم جدا شدهاند.
- --find=spec
- یافتن و ردیابی رویدادهای مربوط به اشیای منطبق با spec، که میتواند یکی از این قالبها را داشته باشد:
- S:minimum_size
- جستجوی اشیایی که اندازه آنها حداقل minimum_size بایت باشد.
- T:name_fragment
- جستجوی اشیایی که نام نوع آنها شامل name_fragment باشد.
- میتوان با دوبار دادن این گزینه، هم مشخصه S و هم مشخصه T را تعیین کرد.
- --thread=tid
- فقط رویدادهای مربوط به رشته (thread) با شناسه tid را در نظر میگیرد.
- --time=span
- فقط رویدادهای رخداده در بازه زمانی مشخصشده را در نظر میگیرد. span باید به فرمت from-to باشد که در آن from و to ثانیههای سپریشده از زمان شروع برنامه هستند.
- --verbose
- چاپ خروجی با جزئیات کامل.
- --debug
- چاپ خروجی بسیار دقیق خطایابی. بیشتر کاربران نباید از این گزینه استفاده کنند.
گزارشها (REPORTS)
گزارشهای زیر در دسترس هستند:
- header
- اطلاعات راهاندازی برنامه، نسخه پروفایلر و وضعیت عملیاتی.
- jit
- آمار کامپایلر درجا (JIT).
- gc
- آمار جمعآوری زباله (GC) و هندلها.
- sample
- پروفایل نمونهبرداری آماری ساده.
- alloc
- آمار تخصیص GC به تفکیک کلاس و ردیابی پشته.
- call
- آمار فراخوانی متدها و ردیابی پشته.
- metadata
- تصاویر (images) و اسمبلیهای بارگذاریشده.
- exception
- آمار استثناها و ردیابی پشته.
- monitor
- آمار قفلهای مانیتور و ردیابی پشته.
- thread
- نام رشتههای مدیریتشده.
- domain
- دامنههای کاربردی (AppDomain) بارگذاریشده.
- context
- زمینههای ریموتینگ (remoting contexts) بارگذاریشده.
- heapshot
- اطلاعات عکسهای لحظهای از حافظه هیپ (heap snapshot).
- counters
- نمونههای شمارندههای کارایی (performance counters).