| PMREP.CONF(5) | File Formats Manual | PMREP.CONF(5) |
نام (NAME)
pmrep.conf - فایل پیکربندی pmrep
توضیحات (DESCRIPTION)
دستور pmrep ابزاری قابل سفارشیسازی برای گزارشگیری معیارهای عملکرد (کارایی) است. هر معیار عملکرد موجود، زنده یا بایگانیشده، مربوط به سیستم و/یا برنامه، میتواند برای گزارشگیری با استفاده از یکی از گزینههای خروجی موجود به همراه گزینههای قالببندی قابل اعمال انتخاب شود.
معیارهای مورد نظر در آرگومان(های) metricspec در خط فرمان pmrep نام برده میشوند. این metricspecها معیارهای منفرد یا مجموعهمعیارهای (metricsets) از پیش تعریفشده عملکرد را مشخص میکنند که باید از فایلهای پیکربندی شرحدادهشده در زیر خوانده شوند. برای جزئیات آرگومانهای خط فرمان به pmrep(1) مراجعه کنید.
فایل پیکربندی pmrep.conf امکان تنظیم مقادیر پیشفرض زمان اجرا و تعریف هر تعداد metricsets سفارشی را برای pmrep فراهم میکند. یک metricset یک مجموعه دلخواه تعریفشده توسط کاربر از معیارهای کارایی است. این به کاربران اجازه میدهد مجموعهمعیارهای سفارشی بسازند که بهطور خاص مربوط به برنامه یا محیط کاری آنها است. به جای وابستگی به آنچه ابزارهای موجود ارائه میدهند یا جمعآوری دادههای مورد نیاز با چندین ابزار جداگانه، کاربران میتوانند مجموعهمعیارهای سفارشی را صرفاً با ویرایش pmrep.conf تعریف کنند. برای مشخصات metricset به ادامه متن مراجعه کنید.
در صورتی که فایلهای پیکربندی pmrep از یک دایرکتوری خوانده شوند، مقادیر بخشهای [options] و [global] از هر فایلی که در آن تعریف شده باشند ترکیب خواهند شد. آخرین تعریف یک دستورالعمل اولویت دارد، به این معنی که در صورت تعریف چندباره، آخرین تعریف استفاده خواهد شد. با این حال، بخشهای سفارشی metricset ترکیب نخواهند شد، و تنها آخرین تعریف یافتشده برای گزارشگیری استفاده خواهد شد.
گزینههای اعمالشده از طریق متغیرهای محیطی (به pmGetOptions(3) مراجعه کنید) مقادیر پیشفرض داخلی متناظر (در صورت وجود) را بازنویسی میکنند. گزینههای فایل پیکربندی، متغیرهای محیطی متناظر (در صورت وجود) را لغو و بازنویسی میکنند. گزینههای خط فرمان، گزینههای متناظر فایل پیکربندی (در صورت وجود) را لغو و بازنویسی میکنند.
قالب فایل (FILE FORMAT)
این فایل دارای نحو مشابه ini است و از بخشها (sections) و تنظیمات (settings) تشکیل شده است. یک بخش با نام بخش درون براکت آغاز میشود و تا شروع بخش بعدی ادامه مییابد. یک بخش نمونه با دو تنظیم در ادامه آمده است:
[section] key = value key2 = value2
انواع دادههای پشتیبانیشده برای مقادیر شامل رشته (string)، عدد صحیح (integer) و بولی (boolean) هستند. مقادیر نباید درون علامت نقلقول (کوتیشن) قرار گیرند، مگر زمانی که مقدار صرفاً از فاصله خالی (whitespace) تشکیل شده باشد (برای نمونه، جداکننده ستونی که تنها فاصله خالی است).
توضیحات درونخطی (کامنت) با علامت هش (``#'') یا نقطه-ویرگول (``;'') آغاز میشوند. توضیحات در انتهای خطوط (Inline comments) پشتیبانی نمیشوند.
فایل pmrep.conf باید توسط کاربری که pmrep را اجرا میکند قابل خواندن باشد.
هر گزینهای که در زیر با یک گزینه خط فرمان متناظر شرح داده شده است، توضیحات عملکردی تکمیلی در pmrep(1) دارد.
بخشهای ویژه (SPECIAL SECTIONS)
بخش [options]
بخش [options] هر بار که pmrep اجرا میشود خوانده شده و گزینههای پیشفرض زمان اجرا را تعریف میکند. این گزینهها ممکن است توسط گزینههای خاص metricspec یا گزینههای خط فرمان بازنویسی شوند. تعریف معیارها در این بخش مجاز نیست.
تنظیمات مجاز
version (integer)
source (string)
output (string)
speclocal (string)
derived (string)
daemonize (boolean)
header (boolean)
instinfo (boolean)
unitinfo (boolean)
csv_unitinfo (boolean)
globals (boolean)
timestamp (boolean)
samples (integer)
interval (string)
delay (boolean)
type (string)
type_prefer (string)
ignore_incompat (boolean)
ignore_unknown (boolean)
names_change (string)
instances (string)
live_filter (boolean)
rank (integer)
overall_rank (boolean)
overall_rank_alt (boolean)
limit_filter (integer)
limit_filter_force (integer)
invert_filter (boolean)
predicate (string)
sort_metric (string)
omit_flat (boolean)
include_labels (boolean)
include_texts (boolean)
colxrow (string)
width (integer)
width_force (integer)
precision (integer)
precision_force (integer)
delimiter (string)
extcsv (boolean)
extheader (boolean)
fixed_header (boolean)
repeat_header (integer)
dynamic_header (boolean)
separate_header (boolean)
timefmt (string)
interpol (boolean)
count_scale (string)
count_scale_force (string)
space_scale (string)
space_scale_force (string)
time_scale (string)
time_scale_force (string)
بخش [global]
بخش [global] برای تعریف معیارهایی استفاده میشود که علاوه بر هر معیار یا مجموعهمعیار دیگری که جداگانه تعریف شده است، گزارش خواهند شد. گزینههای پیکربندی در این بخش مجاز نیستند. معیارهای سراسری به طور پیشفرض گزارش میشوند؛ میتوان از گزینه خط فرمان -G یا گزینه فایل پیکربندی globals برای غیرفعال کردن معیارهای سراسری استفاده کرد.
تنظیمات مجاز
بخشهای سفارشی (CUSTOM SECTIONS)
هر بخش دیگری به جز [options] یا [global] به عنوان یک مشخصات جدید metricset تفسیر خواهد شد. نام بخش اختیاری است و معمولاً اشارهای به دامنه پوشش یا هدف آن دارد. یک بخش سفارشی ممکن است شامل گزینهها، metricspecها یا هر دو باشد.
تمامی معیارهای مشخصشده در یک بخش سفارشی (metricset) هنگامی که pmrep آن مجموعهمعیار خاص را گزارش میدهد، گزارش خواهند شد. بیش از یک مجموعهمعیار (بخش سفارشی) را میتوان در خط فرمان مشخص کرد که در این حالت pmrep ترکیب تمام معیارهای مشخصشده در مجموعهمعیارهای انتخابشده را گزارش میکند.
تنظیمات مجاز
مشخصات مجموعهمعیار (METRICSET SPECIFICATION)
سه شکل برای metricspec وجود دارد. نخست، در خط فرمان یک metricspec میتواند با یک دونقطه (``:'') آغاز شود تا نشاندهنده ارجاع به یک metricset (بخش سفارشی) باشد که باید از یک فایل پیکربندی pmrep خوانده شود. دوم، شکل فشرده (compact form) یک metricspec یک مشخصات معیار تکخطی است که هم در خط فرمان و هم در بخشهای [global] و سفارشی فایل پیکربندی قابل استفاده است. تنها تفاوت استفاده از آن در فایل پیکربندی این است که نام معیار به عنوان کلید و مشخصکنندههای اختیاری به عنوان مقادیر استفاده میشوند. شکل فشرده metricspec با جزئیات کامل در pmrep(1) مشخص شده است. سوم، شکل مفصل (verbose form) یک metricspec است که تنها در فایل پیکربندی معتبر است (به زیر مراجعه کنید).
در یک بخش سفارشی، کلیدی که شامل نقطه (``.'') باشد به عنوان نام معیار تفسیر میشود و یک کلید غیرگزینهای که نقطه نداشته باشد به عنوان یک شناسه (دستگیره/handle) برای پیوند دادن اعلانهای مرتبط به یکدیگر تفسیر میشود. این شناسه دلخواه است و به هیچ وجه به جز برای پیوند دادن مشخصکنندههای زیر و معیار به یکدیگر استفاده نمیشود.
شکل مفصل یک metricspec با اعلانی شامل یک شناسه اجباری به عنوان کلید و نام معیار عملکرد (یک گره PMNS) به عنوان مقدار آن آغاز میشود. این معادل شکل فشرده metricspec است که همان معیار کارایی را بدون هیچ یک از مشخصکنندههای اختیاری تعریف میکند.
مشخصکنندههای زیر در شکل مفصل اختیاری هستند و میتوانند با هر ترتیبی به عنوان کلید استفاده شوند؛ به این صورت که شناسه اعلامشده قبلی و به دنبال آن یک نقطه و مشخصکننده میآید (مانند identifier.specifier). همچنین به مثال ارائهشده در ادامه متن مراجعه کنید.
- label
- برچسب متنی معیار را برای مقاصد خروجی پشتیبانیکننده تعریف میکند.
- formula
- عبارت حسابی مورد نیاز را برای معیار تعریف میکند. برای جزئیات، به pmRegisterDerived(3) مراجعه کنید.
- instances
- نمونههایی را که باید برای معیار گزارش شوند تعریف میکند. برای جزئیات، به pmrep(1) مراجعه کنید.
- unit
- تبدیل واحد/مقیاس را برای معیار تعریف میکند. باید از نظر ابعادی سازگار باشد و برای معیارهای غیر رشتهای استفاده میشود. برای مقادیر مجاز، به pmrep(1) مراجعه کنید.
- type
- اگر روی raw تنظیم شود، تبدیل نرخ برای معیار غیرفعال خواهد شد.
- width
- عرض ستون خروجی را برای معیار تعیین میکند.
- precision
- دقت اعشار را برای مقادیر خروجی عددی غیر صحیح تعیین میکند.
- limit
- فیلتر حد مقدار را برای مقادیر عددی معیار تعیین میکند.
مثالها (EXAMPLES)
مثال زیر شامل یک بخش کوتاه [options] است که برخی مقادیر پیشفرض محلی مورد نظر را تنظیم میکند. سپس معیارهای سراسری kernel.all.sysfork با استفاده از شکل فشرده و mem.util.allcache با استفاده از شکل مفصل یک metricspec تعریف میشوند. مورد دوم یک معیار اشتقاقی است که از فرمول مشخصشده استفاده میکند. هر دوی این معیارها در گزارشگیری گنجانده خواهند شد مگر اینکه با -G یا globals = no غیرفعال شوند.
سه metricset مختلف نیز مشخص شدهاند: db1، db2 و sar-w.
مجموعههای پایگاه داده (DB) میزبانی را تعریف میکنند که باید به عنوان منبع معیارها استفاده شود. هر دو از شکل مفصل یک metricspec استفاده میکنند (زیرا کلید غیرگزینهای set فاقد نقطه است) تا همه معیارهای مربوط به postgresql را شامل شوند.
مجموعه sar-w مثالی است از نحوه شبیهسازی یک ابزار موجود با pmrep.
فایلهای پیکربندی پیشفرض سیستم pmrep شامل مثالهای بسیار بیشتری هستند. کلید tab در خط فرمان پس از یک دونقطه، مجموعهمعیارهای موجود را تکمیل میکند (در bash و zsh).
[options] timestamp = yes interval = 2s extheader = yes repeat_header = auto space_scale = MB [global] kernel.all.sysfork = forks,,,,8 cacheall = mem.util.allcache cacheall.formula = mem.util.bufmem + mem.util.cached + mem.util.slab cacheall.width = 12 [db1] source = db-host1.example.com set = postgresql [db2] source = db-host2.example.com set = postgresql [sar-w] header = yes unitinfo = no globals = no timestamp = yes precision = 2 delimiter = " " kernel.all.sysfork = proc/s,,,,12 kernel.all.pswitch = cswch/s,,,,9
فایلها (FILES)
- $PCP_SYSCONF_DIR/pmrep/*.conf
- فایلهای پیکربندی پیشفرض ارائه شده توسط سیستم برای pmrep
محیط PCP (PCP ENVIRONMENT)
متغیرهای محیطی با پیشوند PCP_ برای پارامتریکسازی نام فایلها و دایرکتوریهای مورد استفاده توسط PCP استفاده میشوند. در هر نصب، فایل /etc/pcp.conf حاوی مقادیر محلی برای این متغیرها است. متغیر $PCP_CONF ممکن است برای تعیین یک فایل پیکربندی جایگزین استفاده شود، همانطور که در pcp.conf(5) شرح داده شده است.
برای متغیرهای محیطی مؤثر بر ابزارهای PCP، به pmGetOptions(3) مراجعه کنید.
همچنین ببینید (SEE ALSO)
PCPIntro(1)، pmrep(1)، pmGetOptions(3)، pmRegisterDerived(3) و pmSpecLocalPMDA(3).
| PCP | Performance Co-Pilot |