| PCP2JSON(1) | General Commands Manual | PCP2JSON(1) |
نام (NAME)
pcp2json - صادرکننده معیارهای کارایی از PCP به JSON
خلاصه دستور (SYNOPSIS)
pcp2json [-5CEGHIjLmnrRvVxXz?] [-4 action] [-8|-9 limit] [-a archive] [-A align] [--archive-folio folio] [-b|-B space-scale] [-c config] [--container container] [-D debug] [--daemonize] [-e derived] [-f format] [-F outfile] [-h host] [-i instances] [-J rank] [-K spec] [-N predicate] [-o timeout] [-O origin] [-p password] [-P|-0 precision] [-q|-Q count-scale] [-s samples] [-S starttime] [-t interval] [-T endtime] [-u url] [-U username] [-y|-Y time-scale] [-Z timezone] metricspec [...]
توضیحات (DESCRIPTION)
دستور pcp2json یک ابزار قابلسفارشیسازی برای برونبری معیارهای کارایی از PCP به JSON است. هر معیار کارایی موجود، اعم از زنده یا بایگانیشده، سیستمی و/یا برنامهای، میتواند با استفاده از آرگومانهای خط فرمان یا یک فایل پیکربندی برای برونبری انتخاب شود.
دستور pcp2json یکی از خویشاوندان نزدیک pmrep(1) است. برای شرح metricspec پذیرفتهشده در خط فرمان pcp2json، به pmrep(1) مراجعه کنید. برای شرح نحو فایل پیکربندی pcp2json.conf به pmrep.conf(5) مراجعه کنید. این صفحه گزینههای اختصاصی pcp2json و تفاوتهای فایل پیکربندی آن با pmrep.conf(5) را شرح میدهد. pmrep(1) همچنین چندین مثال کاربردی را فهرست میکند که بیشتر آنها برای pcp2json نیز قابل استفاده هستند.
تنها گزینههای خط فرمان فهرستشده در این صفحه پشتیبانی میشوند؛ سایر گزینههای موجود برای pmrep(1) پشتیبانی نمیشوند.
گزینههای تعیینشده از طریق مقادیر متغیرهای محیطی (ببینید pmGetOptions(3)) بر مقادیر پیشفرض توکار متناظر (در صورت وجود) اولویت دارند. گزینههای فایل پیکربندی بر متغیرهای محیطی متناظر (در صورت وجود) اولویت دارند. گزینههای خط فرمان بر گزینههای متناظر در فایل پیکربندی (در صورت وجود) اولویت دارند..SH "فایل پیکربندی (CONFIGURATION FILE)" pcp2json از یک فایل پیکربندی با ساختاری که در pmrep.conf(5) شرح داده شده است، استفاده میکند. گزینههای زیر با pmrep.conf مشترک هستند: version، source، speclocal، derived، header، globals، samples، interval، type، type_prefer، ignore_incompat، names_change، instances، live_filter، rank، limit_filter، limit_filter_force، invert_filter، predicate، omit_flat، include_labels، precision، precision_force، count_scale، count_scale_force، space_scale، space_scale_force، time_scale، time_scale_force. سایر گزینههای pmrep.conf شناسایی میشوند اما به منظور سازگاری نادیده گرفته خواهند شد.
گزینههای اختصاصی pcp2json
extended (بولی)
everything (بولی)
exact_types (بولی)
url (رشته)
http_pass (رشته)
http_user (رشته)
http_timeout (عدد)
- -0 precision, --precision-force=precision
- مانند -P است، اما این گزینه مشخصات اختصاصی هر معیار را بازنویسی خواهد کرد.
- -4 action, --names-change=action
- مشخص میکند در هنگام دریافت رویداد تغییر نامهای معیار در حین نمونهبرداری، چه action (اقدامی) انجام شود. این رویدادها زمانی رخ میدهند که یک PMDA مدتی پس از راهاندازی، معیارهای جدیدی را شناسایی کرده و به ابزارهای کلاینت در حال اجرا مانند pcp2json اطلاع دهد. مقادیر معتبر برای action عبارتند از update (تازهسازی معیارهای در حال نمونهبرداری)، ignore (انجام ندادن هیچ کاری - رفتار پیشفرض) و abort (خروج از برنامه در صورت وقوع چنین رویدادی).
- -5, --ignore-unknown
- نادیده گرفتن بیصدای هر نام معیاری که قابل حلوفصل نباشد. برای شروع به کار این ابزار، باید حداقل یک معیار پیدا شود.
- -8 limit, --limit-filter=limit
- محدود کردن نتایج به نمونههایی با مقادیر بالاتر/پایینتر از limit. یک عدد صحیح مثبت، نمونههایی با مقادیر مساوی یا بالاتر از حد را در گزارشدهی شامل خواهد کرد. یک عدد صحیح منفی، نمونههایی با مقادیر مساوی یا پایینتر از حد را در گزارشدهی شامل خواهد کرد. مقدار صفر هیچ فیلتر محدودیتی اعمال نمیکند. این گزینه مشخصات احتمالی اختصاصی هر معیار را بازنویسی نخواهد کرد. همچنین ببینید: -J و -N.
- -9 limit, --limit-filter-force=limit
- مانند -8 است، اما این گزینه مشخصات اختصاصی هر معیار را بازنویسی خواهد کرد.
- -a archive, --archive=archive
- مقادیر معیارهای کارایی از مجموعهای از فایلهای بایگانی Performance Co-Pilot (PCP) که با آرگومان archive مشخص شدهاند بازیابی میشوند؛ این آرگومان فهرستی از نامهاست که با ویرگول از هم جدا شدهاند و هر یک میتواند نام پایه یک بایگانی یا نام دایرکتوری حاوی یک یا چند بایگانی باشد.
- -A align, --align=align
- اجبار نمونه اولیه به تراز شدن روی مرز یک واحد زمانی طبیعی align. برای شرح کامل نحو مربوط به align به PCPIntro(1) مراجعه کنید.
- --archive-folio=folio
- خواندن بایگانیهای منبع معیار از folio بایگانی PCP ایجاد شده توسط ابزارهایی مانند pmchart(1) یا، در موارد کمتر، بهصورت دستی با mkaf(1).
- -b scale, --space-scale=scale
- واحد/مقیاس برای معیارهای فضا (بایت)؛ مقادیر ممکن شامل bytes، Kbytes، KB، Mbytes، MB و غیره است. این گزینه مشخصات احتمالی اختصاصی هر معیار را بازنویسی نخواهد کرد. همچنین ببینید: pmParseUnitsStr(3).
- -B scale, --space-scale-force=scale
- مانند -b است، اما این گزینه مشخصات اختصاصی هر معیار را بازنویسی خواهد کرد.
- -c config, --config=config
- فایل یا دایرکتوری پیکربندی config مورد استفاده را مشخص میکند. در صورتی که config یک دایرکتوری باشد، تمام فایلهای درون آن که به .conf ختم میشوند گنجانده خواهند شد. پیشفرض، اولین موردی است که از بین موارد زیر یافت شود: ./pcp2json.conf، $HOME/.pcp2json.conf، $HOME/pcp/pcp2json.conf، و $PCP_SYSCONF_DIR/pcp2json.conf. برای جزئیات بیشتر، بخش بالا و pmrep.conf(5) را ببینید.
- --container=container
- دریافت معیارهای کارایی از container مشخصشده، خواه محلی یا از راه دور (ببینید -h).
- -C, --check
- خروج پیش از گزارش هرگونه مقدار، اما پس از تجزیه پیکربندی و معیارها و چاپ سرآیندهای احتمالی.
- --daemonize
- اجرا بهصورت دیمن (daemonize) در هنگام راهاندازی.
- -e derived, --derived=derived
- معیارهای کارایی مشتقشده derived را مشخص میکند. اگر derived با یک اسلش (``/'') یا با یک نقطه (``.'') شروع شود، بهعنوان یک فایل پیکربندی معیارهای مشتقشده PCP تفسیر خواهد شد؛ در غیر این صورت بهعنوان عبارتهای معیارهای مشتقشده که با ویرگول یا نقطهویرگول از هم جدا شدهاند تفسیر میشود. برای شرح کامل معیارهای مشتقشده و فایلهای پیکربندی معیارهای مشتقشده PCP ببینید: pmLoadDerivedConfig(3) و pmRegisterDerived(3). همچنین، استفاده از نحو پیکربندی pmrep.conf(5) امکان تعریف معیارهای مشتقشده را بهعنوان بخشی از مجموعهمعیارها (metricsets) فراهم میکند.
در صورت بروز مشکل در معیارهای مشتقشده، صفحات راهنمای مذکور را با جزئیات بررسی کنید و مطمئن شوید تمام معیارهای مورد نیاز در دسترس هستند، بهویژه هنگام استفاده از بایگانیها. از -Dderive برای مشاهده اطلاعات اشکالزدایی اضافی درباره تجزیه معیارهای مشتقشده استفاده کنید.
- -E, --exact-types
- نوشتن اعداد بهعنوان انواع داده عددی و نه بهصورت رشته، با احتمال از دست رفتن مقداری از دقت.
- -f format, --timestamp-format=format
- استفاده از رشته format برای قالببندی برچسب زمانی. این قالب با متد datetime.strftime پایتون استفاده خواهد شد که عمدتاً مشابه موارد شرح داده شده در strftime(3) است. پیشفرض %Y-%m-%d %H:%M:%S است.
- -F outfile, --output-file=outfile
- مشخص کردن فایل خروجی outfile.
- -G, --no-globals
- شامل نکردن معیارهای سراسری (global) در گزارشدهی (ببینید pmrep.conf(5)).
- -h host, --host=host
- دریافت معیارهای کارایی از pmcd(1) روی host، به جای localhost پیشفرض.
- -H, --no-header
- هیچ سرآیندی چاپ نشود.
- -i instances, --instances=instances
- تنها بازیابی و گزارش نمونههای (instances) مشخصشده از معیار instances. بهطور پیشفرض، تمام نمونهها اعم از فعلی و آینده گزارش میشوند.
برای شرح کامل این گزینه، به pmrep(1) مراجعه کنید. -I, --ignore-incompat چشمپوشی از معیارهای ناسازگار. بهطور پیشفرض، معیارهای ناسازگار (یعنی نوع آنها پشتیبانی نمیشود یا طبق درخواست مقیاسپذیر نیستند) باعث میشوند که pcp2json با یک پیام خطا پایان یابد. با این گزینه، تمام معیارهای ناسازگار بدون هشدار از گزارش حذف میشوند. این مورد بهویژه هنگام درخواست گرههای غیربرگ درخت PMNS برای گزارشگیری سودمند است.
- -j, --live-filter
- انجام فیلترسازی زندهٔ نمونهها. این قابلیت امکان ضبط تمام نمونههای نامگذاریشده را فراهم میکند، حتی اگر فرآیندها در مقطعی مجدداً راهاندازی شوند (برخلاف حالتِ بدون فیلترسازی زنده). انجام فیلترسازی زنده روی تعداد بسیار زیادی از نمونهها بار پردازشی داخلی ایجاد میکند، بنابراین به کاربر توصیه میشود احتیاط کند. همچنین ببینید -n.
- -J rank, --rank=rank
- محدود کردن نتایج به بالاترین/پایینترین نمونههای دارای rank از معیارهای چندمقداره. یک عدد صحیح مثبت، نمونههای دارای بالاترین مقدار را در گزارش لحاظ میکند. یک عدد صحیح منفی، نمونههای دارای پایینترین مقدار را در گزارش لحاظ میکند. مقدار صفر هیچ رتبهبندیای انجام نمیدهد. رتبهبندی دلالت بر مرتبسازی ندارد، ببینید -6. همچنین ببینید -8.
- -K spec, --spec-local=spec
- هنگام واکشی معیارها از یک بافت محلی (ببینید -L)، میتوان از گزینهٔ -K برای کنترل DSO PMDAهایی که باید قابل دسترسی باشند استفاده کرد. آرگومان spec مطابق با ساختار نحوی شرح دادهشده در pmSpecLocalPMDA(3) است. میتوان بیش از یک گزینهٔ -K به کار برد.
- -L, --local-PMDA
- استفاده از یک بافت محلی برای جمعآوری معیارها از DSO PMDAها روی میزبان محلی، بدون PMCD. همچنین ببینید -K.
- -n, --invert-filter
- انجام رتبهبندی پیش از فیلترسازی زنده. بهطور پیشفرض فیلترسازی زندهٔ نمونهها (در صورت درخواست، ببینید -j) پیش از رتبهبندی نمونهها (در صورت درخواست، ببینید -J) انجام میشود. با این گزینه، منطق برعکس شده و رتبهبندی پیش از فیلترسازی زنده رخ میدهد.
- -m, --include-labels
- گنجاندن برچسبهای معیار PCP در خروجی.
- -N predicate, --predicate=predicate
- مشخص کردن فهرستی از معیارهای مرجع پالایهٔ predicate که با کاما جدا شدهاند. بهطور پیشفرض رتبهبندی (ببینید -J) برای هر معیار بهصورت جداگانه انجام میشود. با وجود مسندها (predicates)، رتبهبندی تنها برای معیارهای مسند مشخصشده انجام میگیرد. هنگام گزارشگیری، باقی معیارهایی که دارای دامنهٔ نمونه مشترک (ببینید PCPIntro(1)) با مسند هستند، تنها شامل بالاترین/پایینترین نمونههای رتبهبندیشده از مسند متناظر خواهند بود. رتبهبندی دلالت بر مرتبسازی ندارد، ببینید -6.
برای نمونه، با بهکارگیری proc.memory.rss (اندازهٔ حافظهٔ مقیم فرآیند) بهعنوان معیار predicate همراه با proc.io.total_bytes و mem.util.used بهعنوان معیارهای مورد گزارش، تنها فرآیندهایی که بیشترین/کمترین حافظه را (بر اساس -J) مصرف میکنند، هنگام گزارش مجموع بایتهای نوشتهشده توسط فرآیندها لحاظ خواهند شد. از آنجا که mem.util.used یک معیار تکمقداره است (بنابراین دامنهٔ نمونهٔ یکسانی با معیارهای مرتبط با فرآیند ندارد)، طبق روال معمول گزارش خواهد شد.
- -o, --http-timeout
- مدتزمان انتظار (به ثانیه) هنگام ارسال یک HTTP POST با گزینهٔ -u. مقدار پیشفرض 2.5 ثانیه است.
- -O origin, --origin=origin
- هنگام گزارشگیری از معیارهای بایگانیشده، آغاز گزارشگیری در origin درون پنجرهٔ زمانی (ببینید -S و -T). برای شرح کامل ساختار نحوی origin به PCPIntro(1) مراجعه کنید.
- -p, --http-pass
- گذرواژه هنگام استفاده از احراز هویت اولیهٔ HTTP با گزینهٔ -u.
- -P precision, --precision=precision
- استفاده از precision برای مقادیر خروجی عددی غیرصحیح. حالت پیشفرض استفاده از ۳ رقم اعشار است (در صورت امکانپذیر بودن). این گزینه مشخصات احتمالی تعریفشده به ازای هر معیار را بازنویسی نخواهد کرد.
- -q scale, --count-scale=scale
- واحد/مقیاس برای معیارهای شمارشی، مقادیر ممکن عبارتند از count x 10^-1، count، count x 10، count x 10^2، و به همین ترتیب از 10^-8 تا 10^7. (این مقادیر در حال حاضر به فاصله حساس هستند.) این گزینه مشخصات احتمالی تعریفشده به ازای هر معیار را بازنویسی نخواهد کرد. همچنین ببینید pmParseUnitsStr(3).
- -Q scale, --count-scale-force=scale
- مانند -q اما این گزینه مشخصات تعریفشده به ازای هر معیار را بازنویسی خواهد کرد.
- -r, --raw
- خروجی دادن مقادیر خام معیارها؛ شمارندههای تجمعی به نرخ (rate) تبدیل نمیشوند. این گزینه مشخصات احتمالی تعریفشده به ازای هر معیار را بازنویسی خواهد کرد.
- -R, --raw-prefer
- مانند -r اما این گزینه مشخصات تعریفشده به ازای هر معیار را بازنویسی نخواهد کرد.
- -s samples, --samples=samples
- آرگومان samples تعداد نمونههایی را که باید دریافت و گزارش شوند تعریف میکند. اگر samples برابر با ۰ باشد یا -s مشخص نشده باشد، pcp2json بهصورت پیوسته (در حالت بیدرنگ) یا تا انتهای مجموعهٔ بایگانیهای PCP (در حالت بایگانی) نمونهبرداری و گزارش خواهد کرد. همچنین ببینید -T.
- -S starttime, --start=starttime
- هنگام گزارشگیری از معیارهای بایگانیشده، گزارش محدود به رکوردهایی خواهد بود که در زمان starttime یا پس از آن ثبت شده باشند. برای شرح کامل ساختار نحوی starttime به PCPIntro(1) مراجعه کنید..TP -t interval, --interval=interval تنظیم interval (بازهٔ زمانی) گزارشگیری روی مقداری غیر از مقدار پیشفرض ۱ ثانیه. آرگومان interval از نحو شرح دادهشده در PCPIntro(1) پیروی میکند و در سادهترین حالت میتواند یک عدد صحیح بدون علامت باشد (واحد ضمنی در این حالت ثانیه است). همچنین گزینهٔ -T را ببینید.
- -T endtime, --finish=endtime
- هنگام گزارش معیارهای بایگانیشده، گزارش به رکوردهایی محدود خواهد شد که در endtime یا پیش از آن ثبت شدهاند. برای شرح کامل نحو endtime به PCPIntro(1) مراجعه کنید.
هنگامی که برای تعیین مدتزمان اجرا پیش از خروج pcp2json استفاده میشود، اگر هیچ samples مشخص نشده باشد (گزینهٔ -s را ببینید)، تعداد نمونههای گزارششده به interval بستگی خواهد داشت (گزینهٔ -t را ببینید). اگر samples مشخص شده باشد، interval بهگونهای تنظیم خواهد شد که امکان گزارشگیری از samples در طول مدت اجرا فراهم شود. در صورتی که همهٔ گزینههای -T، -s و -t مشخص شده باشند، endtime مدتزمان واقعی اجرای pcp2json را تعیین میکند.
- -u, --url
- آدرس URL برای ارسال یک HTTP POST (به جای خروجی استاندارد پیشفرض).
- -U, --http-user
- نام کاربری هنگام استفاده از احراز هویت پایه HTTP با گزینهٔ -u.
- -v, --omit-flat
- تنها معیارهای مجموعهمقدار (set-valued) دارای نمونه (مانند disk.dev.read) را گزارش کرده و از معیارهای تکمقدار «مسطح» بدون نمونه (مانند kernel.all.sysfork) صرفنظر میکند. گزینههای -i و -I را ببینید.
- -V, --version
- نمایش شمارهٔ نسخه و خروج.
- -x, --with-extended
- نوشتن اطلاعات گسترده.
- -X, --with-everything
- نوشتن همهٔ اطلاعات شناختهشده دربارهٔ معیارها، از جمله شناسههای داخلی PCP. با این حال، برچسبها به دلیل سازگاری با نسخههای پیشین حذف میشوند؛ برای گنجاندن آنها نیز از -m استفاده کنید.
- -y scale, --time-scale=scale
- واحد/مقیاس برای معیارهای زمانی؛ مقادیر ممکن شامل nanosec، ns، microsec، us، millisec، ms و به همین ترتیب تا hour، hr است. این گزینه مشخصات احتمالی مختص هر معیار را بازنویسی نخواهد کرد. همچنین pmParseUnitsStr(3) را ببینید.
- -Y scale, --time-scale-force=scale
- مانند -y اما این گزینه مشخصات مختص هر معیار را بازنویسی خواهد کرد.
- -z, --hostzone
- استفاده از منطقهٔ زمانی محلی میزبانی که منبع معیارهای کارایی است، همانطور که توسط هر یک از گزینههای -h یا -a مشخص شده است. حالت پیشفرض استفاده از منطقهٔ زمانی میزبان محلی است.
- -Z timezone, --timezone=timezone
- استفاده از timezone برای تاریخ و زمان. timezone در قالب متغیر محیطی TZ است، همانطور که در environ(7) شرح داده شده است. توجه داشته باشید که هنگام گنجاندن رشتهٔ منطقهٔ زمانی در خروجی، اختلافهای زمانی UTC به سبک ISO 8601 به کار میروند (بنابراین موردی مانند -Z EST+5 تبدیل به UTC-5 خواهد شد).
- -?, --help
- نمایش پیام راهنمای نحوهٔ استفاده و خروج..SH "فایلها (FILES)"
- pcp2json.conf
- فایل پیکربندی pcp2json (به -c مراجعه کنید)
- $PCP_SYSCONF_DIR/pmrep/*.conf
- فایلهای پیکربندی پیشفرض pmrep ارائهشده توسط سیستم
محیط PCP (PCP ENVIRONMENT)
متغیرهای محیطی با پیشوند PCP_ برای پارامتربندی نام فایلها و دایرکتوریهای مورد استفادهٔ PCP به کار میروند. در هر نصب، فایل /etc/pcp.conf حاوی مقادیر محلی برای این متغیرها است. متغیر $PCP_CONF ممکن است برای تعیین یک فایل پیکربندی جایگزین استفاده شود، همانطور که در pcp.conf(5) شرح داده شده است.
برای متغیرهای محیطی مؤثر بر ابزارهای PCP، به pmGetOptions(3) مراجعه کنید.
بهطور ویژه، PCP_DISCRETE_ONCE میتواند تنظیم شود تا اطمینان حاصل گردد که مقادیر متریکهای گسسته تنها یک بار گزارش میشوند، مگر اینکه در مقطعی تغییر کنند.
گزینههای اشکالزدایی (DEBUGGING OPTIONS)
گزینهٔ -D یا --debug خروجی عیبیابیهای بیشتری را روی stderr فعال میکند تا به اولویتبندی و ریشهیابی مشکلات کمک کند، اگرچه اطلاعات گاهی مبهم بوده و در وهلهٔ اول برای راهنمایی توسعهدهندگان در نظر گرفته شده است نه کاربران نهایی. debug یک فهرست جداشده با کاما از گزینههای اشکالزدایی است؛ از pmdbg(1) همراه با گزینهٔ -l برای دریافت فهرستی از گزینههای اشکالزدایی در دسترس و معانی آنها استفاده کنید.
همچنین ببینید (SEE ALSO)
PCPIntro(1)، mkaf(1)، pcp(1)، pcp2elasticsearch(1)، pcp2graphite(1)، pcp2influxdb(1)، pcp2spark(1)، pcp2xlsx(1)، pcp2xml(1)، pcp2zabbix(1)، pmcd(1)، pminfo(1)، pmrep(1)، pmGetOptions(3)، pmLoadDerivedConfig(3)، pmParseUnitsStr(3)، pmRegisterDerived(3)، pmSpecLocalPMDA(3)، LOGARCHIVE(5)، pcp.conf(5)، pmrep.conf(5)، PMNS(5) و environ(7).
| PCP | Performance Co-Pilot |