PMNSMERGE(1) General Commands Manual PMNSMERGE(1)

pmnsmerge - ادغام چندین نسخه از PMNS در Performance Co-Pilot

$PCP_BINADM_DIR/pmnsmerge [-adfxv] [-D debug] infile [...] outfile

دستور pmnsmerge چندین نمونه از یک «فضای نام معیارهای کارایی» (PMNS) را، همان‌گونه که توسط مؤلفه‌های Performance Co-Pilot (PCP) استفاده می‌شود، ادغام می‌کند.

هر آرگومان infile نام فایلی را مشخص می‌کند که شامل ریشه یک PMNS به شکل زیر است:


root {
    /* arbitrary stuff */
}

ترتیبی که فایل‌های infile پردازش می‌شوند بر اساس وجود یا عدم وجود خطوط کنترلی تعبیه‌شده به شکل زیر تعیین می‌گردد:

#define _DATESTAMP YYYYMMDD

فایل‌های فاقد خط کنترل، ابتدا و به همان ترتیبی که در خط فرمان ظاهر شده‌اند پردازش می‌شوند. سایر فایل‌ها سپس به ترتیب صعودی _DATESTAMP پردازش خواهند شد.

گزینهٔ -a تغییر ترتیب آرگومان‌ها را لغو کرده و تمام فایل‌ها را به همان ترتیبی که در خط فرمان آمده‌اند پردازش می‌کند.

عملیات ادغام با تطبیق نام‌ها در PMNS پیش می‌رود؛ تنها نام‌های جدید در هر PMNS در نظر گرفته می‌شوند و این نام‌ها پس از هر معیارِ از پیش موجود با طولانی‌ترین پیشوند منطبق ممکن در نام‌هایشان، اضافه می‌شوند. به عنوان مثال، ادغام این دو PMNS ورودی:


root {                    root {
                              surprise  1:1:3
    mine       1:1:1          mine      1:1:1
    foo                       foo
                              yawn
    yours      1:1:2
}                         }
foo {                     foo {
    fumble     1:2:1
                              mumble    1:2:3
    stumble    1:2:2          stumble   1:2:2
}                         }
                          yawn {
                              sleepy    1:3:1
                          }

منجر به تولید PMNS نهایی در out می‌شود:


root {
    mine      1:1:1
    foo
    yours     1:1:2
    surprise  1:1:3
    yawn
}
foo {
    fumble    1:2:1
    stumble   1:2:2
    mumble    1:2:3
}
yawn {
    sleepy    1:3:1
}

برای جلوگیری از بازنویسی تصادفی فایل‌های PMNS، انتظار می‌رود هنگام شروع به کار pmnsmerge فایل outfile وجود نداشته باشد. گزینهٔ -f اجازه می‌دهد تا در صورت وجود فایل outfile (در صورت امکان) پیوند آن حذف (unlink) شده و پیش از آغاز نوشتن خالی (truncate) گردد.

به‌طور معمول، نام‌های تکراری برای یک «شناسه معیار کارایی» (PMID) یکسان در یک PMNS مجاز هستند. گزینهٔ -d حالت پیش‌فرض است و برای سازگاری با نسخه‌های پیشین قرار داده شده است. گزینهٔ -x این پیش‌فرض را معکوس می‌کند و چنانچه یک نام تکراری برای یک PMID در هر یک از فایل‌های PMNS input یا در PMNS ادغام‌شدهٔ output یافت شود، pmnsmerge خطایی را گزارش کرده و با وضعیت غیر صفر خارج می‌شود.

گزینهٔ -v با پردازش هر infile، یک خط خروجی تشخیصی تولید می‌کند.

پس از آن‌که تمام ادغام به پایان رسید، pmnsmerge تلاش خواهد کرد تا فضای نام حاصل را با استفاده از pmLoadASCIINameSpace(3) بارگذاری کند - چنانچه این کار به هر دلیلی ناموفق باشد، outfile همچنان ایجاد خواهد شد، اما pmnsmerge مشکل را گزارش کرده و با وضعیتی غیر صفر خارج می‌شود.

استفاده از pmnsmerge تنها با یک آرگومان input امکان بررسی آن فایل PMNS را فراهم می‌سازد. علاوه بر بررسی نحوی، تعیین گزینهٔ -x بررسی نام‌های تکراری را برای تمام PMIDها نیز فعال خواهد کرد.

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

پردازش فایل‌ها به ترتیبی که در خط فرمان آمده‌اند.
اجازه دادن به نام‌های تکراری معیار برای هر PMID. این حالت پیش‌فرض است.
بازنویسی فایل خروجی در صورتی که از قبل وجود داشته باشد.
پردازش ورودی همراه با نمایش جزئیات کامل.
عدم اجازه به نام‌های تکراری معیار برای هر PMID.
-?, --help
نمایش پیام راهنما و خروج.

به محض اینکه نوشتن در فایل جدید outfile آغاز شود، سیگنال‌های SIGINT، SIGHUP و SIGTERM به منظور محافظت از یکپارچگی فایل جدید نادیده گرفته خواهند شد.

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

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

pmnsadd(1)، pmnsdel(1)، pmLoadASCIINameSpace(3)، pcp.conf(5)، pcp.env(5) و PMNS(5).

PCP Performance Co-Pilot