PMLOGREDUCE(1) General Commands Manual PMLOGREDUCE(1)

pmlogreduce - کاهش زمانی بایگانی‌های Performance Co-Pilot

pmlogreduce [-z?] [-A align] [-D debug] [-s samples] [-S starttime] [-t interval] [-T endtime] [-v volsamples] [-Z timezone] input output

دستور pmlogreduce مجموعه‌ای از بایگانی‌های Performance Co-Pilot (PCP) را که با input مشخص شده‌اند می‌خواند و یک بایگانی PCP با کاهش زمانی در output ایجاد می‌کند. input فهرستی از نام‌ها است که با کاما از هم جدا شده‌اند، که هر یک از آن‌ها می‌تواند نام پایه یک بایگانی یا نام دایرکتوری حاوی یک یا چند بایگانی باشد. کاهش داده شامل کاهش آماری و زمانی نمونه‌ها با یک بازه زمانی نمونه‌برداری خروجی است که توسط گزینه -t در بایگانی output تعریف می‌شود (مستقل از بازه‌های نمونه‌برداری در بایگانی‌های input)، و همچنین توسط سایر آرگومان‌های خط فرمان کنترل می‌شود.

برای برخی معیارها، کاهش زمانی داده‌ها مفید نخواهد بود؛ از این رو برای معیارهایی با انواع PM_TYPE_AGGREGATE یا PM_TYPE_EVENT، در صورتی که این معیارها در input یافت شوند، هشداری صادر شده و آن‌ها نادیده گرفته می‌شوند و در بایگانی output ظاهر نخواهند شد.

گزینه‌های خط فرمان موجود عبارتند از:

تعیین یک تراز «طبیعی» برای زمان‌های نمونه‌برداری خروجی؛ به PCPIntro(1) مراجعه کنید.
آرگومان samples تعداد نمونه‌هایی را که باید در output نوشته شوند مشخص می‌کند. اگر samples برابر 0 باشد یا -s مشخص نشده باشد، pmlogreduce تا انتهای مجموعه بایگانی‌های PCP، یا انتهای پنجره زمانی مشخص‌شده توسط -T، هر کدام که زودتر فرا برسد، نمونه‌برداری خواهد کرد. اگر گزینه -s زودتر فرا برسد، بر گزینه -T تقدم خواهد داشت.
تعریف شروع یک پنجره زمانی برای محدود کردن نمونه‌های بازیابی‌شده از بایگانی‌های input؛ به PCPIntro(1) مراجعه کنید.
نمونه‌های متوالی در بایگانی output با یک اختلاف زمانی مشخص‌شده توسط interval ظاهر خواهند شد؛ به PCPIntro(1) مراجعه کنید. توجه داشته باشید که مقدار پیش‌فرض ۶۰۰ (ثانیه، یعنی ۱۰ دقیقه) است.
تعریف پایان یک پنجره زمانی برای محدود کردن نمونه‌های بازیابی‌شده از بایگانی‌های input؛ به PCPIntro(1) مراجعه کنید.
بایگانی output به‌طور بالقوه یک مجموعه داده چندجلدی است، و گزینه -v باعث می‌شود که pmlogreduce پس از نوشته شدن volsamples رکورد در بایگانی output، یک جلد جدید را آغاز کند.

مستقل از هرگونه گزینه -v، حجم هر جلد از بایگانی حداکثر به 2^31 بایت محدود است، بنابراین pmlogreduce پیش از رسیدن به این حد به‌طور خودکار یک جلد جدید برای بایگانی ایجاد خواهد کرد.

استفاده از منطقه زمانی محلی میزبان از بایگانی‌های input هنگام نمایش تاریخ و زمان، یا هنگام تفسیر گزینه‌های -S و -T. پیش‌فرض این است که در ابتدا از منطقه زمانی میزبان محلی استفاده شود.
استفاده از timezone هنگام نمایش تاریخ و زمان، یا هنگام تفسیر گزینه‌های -S و -T. مقدار timezone در قالب متغیر محیطی TZ است، همان‌طور که در environ(7) شرح داده شده است.
-?, --help
نمایش پیام راهنمای استفاده و خروج.

کاهش آماری و زمانی از قواعد زیر پیروی می‌کند:

1.
رکوردهای متوالی از input بدون درون‌یابی خوانده می‌شوند، و برای هر interval، حداکثر یک رکورد خروجی نوشته می‌شود که خلاصه‌ای از داده‌های کارایی را در آن دوره ارائه می‌دهد.
2.
اگر معناشناسی یک معیار نشان دهد که از نوع instantaneous یا discrete است، مقدار output به‌عنوان میانگین حسابی مشاهدات (در صورت وجود) در طول هر interval محاسبه می‌شود.
3.
اگر معناشناسی یک معیار نشان دهد که یک counter است، تبدیلات زیر اعمال می‌شوند:
معیارهای با دقت ۳۲ بیتی به دقت ۶۴ بیتی ارتقا می‌یابند.
هرگونه چرخش/سرریز شمارنده (counter wrap) شناسایی شده و تعدیل مناسب در مقدار معیار در طول هر interval اعمال می‌شود. این امر در حالت وقوع یک چرخش شمارنده منفرد درست خواهد بود، اما در حالتی که بیش از یک چرخش شمارنده میان مشاهدات متوالی در بایگانی‌های input رخ دهد، بدون هشدار مقداری کمتر از واقعیت (underestimate) محاسبه می‌شود، و در حالتی که یک بازنشانی شمارنده (counter reset) میان مشاهدات متوالی در بایگانی‌های input رخ دهد، بدون هشدار مقداری بیشتر از واقعیت (overestimate) محاسبه خواهد شد؛ متأسفانه این شرایط قابل شناسایی نیستند، اما فرض بر این است که برای محیط‌های پایش عملیاتی که pmlogreduce به احتمال زیاد در آن‌ها مستقر می‌شود، رویدادهایی نادر هستند.
4.
هرگونه تغییر در دامنه‌های نمونه (instance domains) و در واقع تمامی فراداده‌ها حفظ می‌شوند.
5.
هرگونه رکورد نشانه‌گذاری («mark») در بایگانی‌های input (همان‌طور که توسط pmlogextract(1) ایجاد می‌شود) در بایگانی output حفظ خواهد شد، بنابراین دوره‌هایی که هیچ داده‌ای در آن‌ها در دسترس نیست نگهداری می‌شوند و زمانی که بایگانی output متعاقباً با برنامه‌های PCP پردازش شود، درون‌یابی داده‌ها در طول این دوره‌ها رخ نخواهد داد.

معیارهای مقدماتی (pmcd.pmlogger.archive،‏ pmcd.pmlogger.host و pmcd.pmlogger.port) که در آغاز بایگانی به‌طور خودکار توسط pmlogger ثبت می‌شوند، ممکن است در خروجی بایگانی توسط pmlogreduce وجود نداشته باشند. این معیارها تنها زمانی که بایگانی در حال ایجاد است مرتبط هستند، و پس از اتمام ضبط هیچ اهمیتی نخواهند داشت.

تمام شرایط خطای شناسایی‌شده توسط pmlogreduce روی stderr همراه با توضیحات متنی (هرچند گاهی مختصر) گزارش می‌شوند.

چنانچه بایگانی‌های input خراب شده باشند (این حالت ممکن است زمانی رخ دهد که نمونه pmlogger که در حال نوشتن بایگانی است ناگهان متوقف شود)، pmlogreduce موقعیت خرابی را در فایل شناسایی و گزارش می‌کند و هیچ‌یک از اطلاعات بعدی بایگانی‌های input پردازش نخواهد شد.

در صورت شناسایی هرگونه خطا، pmlogreduce با وضعیتی غیرصفر خارج خواهد شد.

برای هر یک از بایگانی‌های input و output، چندین فایل فیزیکی استفاده می‌شود.

فراداده (توضیحات معیار، دامنه‌های نمونه، و غیره) برای بایگانی
جلد اولیه مقادیر معیارها (جلدهای بعدی دارای پسوندهای 1، 2، ...) - برای input این فایل‌ها ممکن است قبلاً با bzip2(1) یا gzip(1) فشرده شده باشند و بنابراین ممکن است یک پسوند اضافی .bz2 یا .gz داشته باشند.
شاخص زمانی برای پشتیبانی از دسترسی تصادفی سریع به سایر فایل‌های بایگانی.

متغیرهای محیطی با پیشوند PCP_ برای پارامتربندی نام فایل‌ها و دایرکتوری‌های استفاده‌شده توسط PCP به کار می‌روند. در هر نصب، فایل /etc/pcp.conf حاوی مقادیر محلی برای این متغیرها است. متغیر $PCP_CONF ممکن است برای تعیین یک فایل پیکربندی جایگزین استفاده شود، همان‌طور که در pcp.conf(5) شرح داده شده است.

گزینه -D یا --debug خروجی عیب‌یابی‌های اضافی را روی stderr فعال می‌کند تا به تفکیک و تحلیل مشکلات کمک کند، اگرچه اطلاعات گاهی مبهم بوده و عمدتاً به جای کاربران نهایی برای راهنمایی توسعه‌دهندگان در نظر گرفته شده است. debug فهرستی از گزینه‌های اشکال‌زدایی جداشده با کاما است؛ از pmdbg(1) با گزینه -l استفاده کنید تا فهرستی از گزینه‌های اشکال‌زدایی موجود و معانی آن‌ها را به دست آورید.

گزینه‌های اشکال‌زدایی ویژه pmlogger به شرح زیر است:

گزینه توضیحات
appl0 راه‌اندازی و پنجره زمانی
appl1 گزارش مشاهدات جدید نمونه-معیار
appl2 گزارش زمان‌های شروع و پایان پویش، تخلیه رکوردهای ورودی و خروجی

PCPIntro(1)، pmlc(1)، pmlogdump(1)، pmlogextract(1)، pmlogger(1)، pcp.conf(5) و pcp.env(5).

PCP Performance Co-Pilot