| PMDABASH(1) | General Commands Manual | PMDABASH(1) |
نام (NAME)
pmdabash - عامل دامنه معیارهای کارایی برای ردگیری شل Bourne-Again
خلاصه دستور (SYNOPSIS)
$PCP_PMDAS_DIR/bash/pmdabash [-C] [-D debug] [-d domain] [-l logfile] [-I interval] [-t timeout] [-U username] configfile
توضیحات (DESCRIPTION)
pmdabash یک «عامل دامنه معیارهای کارایی» (PMDA) آزمایشی است که رویدادهای «xtrace» را از یک فرایند ردیابیشدهٔ bash(1) صادر میکند. این شامل اطلاعات اجرای دستوری است که معمولاً با گزینهٔ set -x شل به خروجی خطای استاندارد ارسال میشود.
معیارهای رویداد صادر شده، هر دستور اجرا شده، نام تابع و شماره خط در اسکریپت و یک برچسب زمان را نمایش میدهند. علاوه بر این، شناسه فرایند (PID) مربوط به شل و فرایند والد آن نیز صادر میشود.
این نیازمند bash نسخهٔ ۴ یا بالاتر است.
شرح مختصری از گزینههای خط فرمان pmdabash در ادامه آمده است:
- -d
- بسیار حیاتی است که شماره دامنهٔ ( domain ) معیارهای کارایی مشخصشده در اینجا یکتا و سازگار باشد. به این معنی که domain باید برای هر PMDA روی یک میزبان متفاوت باشد، و همان شمارهٔ domain باید برای همان PMDA در تمام میزبانها استفاده شود.
- -l
- مکان فایل ثبت وقایع (log). بهطور پیشفرض، هنگام راهاندازی pmdabash یک فایل لاگ به نام bash.log در دایرکتوری جاریِ pmcd(1) یعنی $PCP_LOG_DIR/pmcd نوشته میشود. اگر فایل لاگ نتواند ایجاد شود یا قابل نوشتن نباشد، خروجی به جای آن به خطای استاندارد فرستاده میشود.
- -s
- مدت زمان (بر حسب ثانیه) بین ارزیابیهای متوالی توصیفگر(های) فایل ردگیری شل. پیشفرض ۲ ثانیه است.
- -m
- حداکثر مقدار حافظهٔ مجاز برای هر صف رویداد (یکی به ازای هر فرایند ردگیریشده). پیشفرض ۲ مگابایت است.
- -U
- حساب کاربری که عامل تحت آن اجرا میشود. پیشفرض در نسخههای کنونی PCP حساب غیرممتاز "pcp" است، اما در نسخههای قدیمیتر از حساب کاربری ریشه ("root") بهطور پیشفرض استفاده میشد.
نصب (INSTALLATION)
برای اینکه یک میزبان بتواند نامها، متن راهنما و مقادیر معیارهای کارایی bash را صادر کند، دستورات زیر را به عنوان ریشه (root) انجام دهید:
# cd $PCP_PMDAS_DIR/bash # ./Install
به محض اینکه یک اسکریپت شل مجهز شده (بخش «تجهیز کد (INSTRUMENTATION)» در ادامه را ببینید) با فعال بودن ردگیری اجرا شود، مقادیر جدید معیارها ظاهر خواهند شد؛ هیچ پیکربندی بیشتری برای عامل لازم نیست.
اگر میخواهید نصب را لغو کنید، کارهای زیر را به عنوان ریشه (root) انجام دهید:
# cd $PCP_PMDAS_DIR/bash # ./Remove
برنامهٔ pmdabash توسط pmcd(1) راهاندازی میشود و هرگز نباید مستقیماً اجرا گردد. اسکریپتهای Install و Remove در هنگام نصب یا حذف عامل، به pmcd(1) اطلاع میدهند.
تجهیز کد (INSTRUMENTATION)
به منظور برقراری جریان دادههای رویداد میان یک اسکریپت bash(1) و pmdabash، اسکریپت باید اقدامات زیر را انجام دهد:
#!/bin/sh source $PCP_DIR/etc/pcp.env source $PCP_SHARE_DIR/lib/bashproc.sh pcp_trace on $@ # enable tracing echo "awoke, $count" pcp_trace off # disable tracing
ردگیری میتواند به هر تعداد دلخواه توسط اسکریپت فعال و غیرفعال شود. پس از نصب موفقیتآمیز عامل، چندین معیار در دسترس خواهند بود:
$ pminfo bash bash.xtrace.numclients bash.xtrace.maxmem bash.xtrace.queuemem bash.xtrace.count bash.xtrace.records bash.xtrace.parameters.pid bash.xtrace.parameters.parent bash.xtrace.parameters.lineno bash.xtrace.parameters.function bash.xtrace.parameters.command
هنگامی که یک اسکریپت مجهز در حال اجرا است، میتوان ایجاد رکوردهای رویداد را با استفاده از دستور pmevent(1) به شکل زیر بررسی و تأیید کرد:
$ pmevent -t 1 -x '' bash.xtrace.records
host: localhost
samples: all
bash.xtrace.records["4538 ./test-trace.sh 1 2 3"]: 5 event records
10:00:05.000 --- event record [0] flags 0x19 (point,id,parent) ---
bash.xtrace.parameters.pid 4538
bash.xtrace.parameters.parent 4432
bash.xtrace.parameters.lineno 43
bash.xtrace.parameters.command "true"
10:00:05.000 --- event record [1] flags 0x19 (point,id,parent) ---
bash.xtrace.parameters.pid 4538
bash.xtrace.parameters.parent 4432
bash.xtrace.parameters.lineno 45
bash.xtrace.parameters.command "(( count++ ))"
10:00:05.000 --- event record [2] flags 0x19 (point,id,parent) ---
bash.xtrace.parameters.pid 4538
bash.xtrace.parameters.parent 4432
bash.xtrace.parameters.lineno 46
bash.xtrace.parameters.command "echo 'awoke, 3'"
10:00:05.000 --- event record [3] flags 0x19 (point,id,parent) ---
bash.xtrace.parameters.pid 4538
bash.xtrace.parameters.parent 4432
bash.xtrace.parameters.lineno 47
bash.xtrace.parameters.command "tired 2"
10:00:05.000 --- event record [4] flags 0x19 (point,id,parent) ---
bash.xtrace.parameters.pid 4538
bash.xtrace.parameters.parent 4432
bash.xtrace.parameters.lineno 38
bash.xtrace.parameters.function "tired"
bash.xtrace.parameters.command "sleep 2"
فایلها (FILES)
- $PCP_PMCDCONF_PATH
- گزینههای خط فرمان مورد استفاده برای راهاندازی pmdabash
- $PCP_PMDAS_DIR/bash/help
- فایل پیشفرض متن راهنما برای معیارهای bash
- $PCP_PMDAS_DIR/bash/Install
- اسکریپت نصب برای عامل pmdabash
- $PCP_PMDAS_DIR/bash/Remove
- اسکریپت لغو نصب برای pmdabash
- $PCP_LOG_DIR/pmcd/bash.log
- فایل لاگ پیشفرض برای پیامهای خطا و سایر اطلاعات از pmdabash
محیط PCP (PCP ENVIRONMENT)
متغیرهای محیطی با پیشوند PCP_ برای پارامتریکسازی نام فایلها و دایرکتوریهای مورد استفاده توسط PCP به کار میروند. در هر نصب، فایل /etc/pcp.conf شامل مقادیر محلی برای این متغیرها است. متغیر $PCP_CONF ممکن است برای مشخص کردن یک فایل پیکربندی جایگزین استفاده شود، همانطور که در pcp.conf(5) شرح داده شده است.
گزینههای اشکالزدایی (DEBUGGING OPTIONS)
گزینهٔ -D یا --debug خروجی دادههای تشخیصی اضافی را روی stderr فعال میکند تا به بررسی و اولویتبندی مشکلات کمک کند، هرچند این اطلاعات گاهی پیچیده و مبهم است و در درجهٔ اول برای راهنمایی توسعهدهندگان در نظر گرفته شده است تا کاربران نهایی. debug یک فهرست جدا شده با کاما از گزینههای اشکالزدایی است؛ از pmdbg(1) با گزینهٔ -l برای دریافت فهرستی از گزینههای اشکالزدایی موجود و معانی آنها استفاده کنید.
گزینههای اشکالزدایی ویژهٔ pmdabash به شرح زیر هستند:
| گزینه | توضیحات |
| appl0 | ثبت وقایع با جزئیات (verbose) برای رویدادهای مورد نظر |
همچنین ببینید (SEE ALSO)
bash(1)، pmevent(1) و pmcd(1).
| PCP | Performance Co-Pilot |