انگلیسیفرانسویاسپانیایی

Ad


فاویکون OnWorks

innotop - آنلاین در ابر

innotop را در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا کنید.

این دستور innotop است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


innotop - مانیتور تراکنش/وضعیت MySQL و InnoDB.

خلاصه


برای نظارت بر سرورها به طور معمول:

سرپناه

برای نظارت بر اطلاعات وضعیت InnoDB از یک فایل:

innotop /var/log/mysql/mysqld.err

برای اجرای innotop به صورت غیر تعاملی در پیکربندی لوله و فیلتر:

innotop --count 5 -d 1 -n

برای نظارت بر پایگاه داده در سیستم دیگری با استفاده از یک نام کاربری و رمز عبور خاص:

innotop -u -پ -h

شرح


innotop سرورهای MySQL را مانیتور می کند. هر یک از حالت های آن جنبه متفاوتی از آنچه را که هست به شما نشان می دهد
در سرور اتفاق می افتد به عنوان مثال، یک حالت برای نظارت بر تکرار وجود دارد، یکی برای
پرس و جو، و یکی برای معاملات. innotop داده های خود را به صورت دوره ای تازه می کند، بنابراین شما یک را مشاهده می کنید
به روز رسانی نمای

innotop دارای ویژگی های زیادی برای کاربران قدرتمند است، اما می توانید آن را به صورت مجازی شروع و اجرا کنید
بدون پیکربندی اگر تازه شروع کرده اید، به «شروع سریع» مراجعه کنید. مطبوعات '؟' در هر
زمان در حین اجرای innotop برای کمک حساس به زمینه.

شروع سریع


برای راه اندازی innotop، ترمینال یا خط فرمان را باز کنید. اگر innotop را روی آن نصب کرده اید
سیستم شما، باید بتوانید فقط "innotop" را تایپ کنید و Enter را فشار دهید. در غیر این صورت، شما
باید به دایرکتوری innotop تغییر دهید و "perl innotop" را تایپ کنید.

بدون هیچ گزینه ای مشخص شده، innotop سعی می کند به یک سرور MySQL در لوکال هاست متصل شود
استفاده از mysql_read_default_group=client برای سایر پارامترهای اتصال. اگه نیاز داشتی به
نام کاربری و رمز عبور متفاوتی را مشخص کنید، به ترتیب از گزینه های -u و -p استفاده کنید. به
یک پایگاه داده MySQL را در هاست دیگری نظارت کنید، از گزینه -h استفاده کنید.

پس از اتصال، innotop باید چیزی شبیه به زیر را به شما نشان دهد:

[RO] فهرست جستجو (? برای کمک) localhost، 01:11:19، 449.44 QPS، 14/7/163 con/run

CXN هنگام بارگیری QPS آهسته QCacheHit KCacheHit BpsIn BpsOut
لوکال هاست مجموع 0.00 1.07k 697 0.00% 98.17% 476.83k 242.83k

CXN Cmd ID کاربر میزبان DB Time Query
localhost Query 766446598 test 10.0.0.1 foo 00:02 درج در جدول (

(این نمونه در سمت راست کوتاه شده است، بنابراین هنگام اجرای 'man' روی ترمینال قرار می گیرد
innotop')

اگر سرور شما مشغول است، خروجی بیشتری خواهید دید. به اولین خط روی صفحه توجه کنید،
که به شما می گوید که readonly روی true ([RO]) تنظیم شده است، در چه حالتی هستید و چه سروری دارید
شما متصل هستید شما می توانید با زدن کلید به حالت های دیگر تغییر دهید. برای جابجایی "T" را فشار دهید
برای مثال به لیستی از تراکنش های InnoDB.

'؟' را فشار دهید را فشار دهید تا ببینید چه کلیدهایی در حالت فعلی فعال هستند. می توانید هر کدام را فشار دهید
این کلیدها و innotop یا اقدام درخواستی را انجام می دهند یا از شما می خواهند ورودی بیشتری داشته باشید.
اگر سیستم شما از Term::ReadLine پشتیبانی می کند، می توانید از TAB و کلیدهای دیگر برای تکمیل خودکار استفاده کنید.
و ورودی را ویرایش کنید

برای خروج از innotop، کلید 'q' را فشار دهید.

OPTIONS


innotop بیشتر از طریق فایل پیکربندی آن پیکربندی می شود، اما برخی از تنظیمات
گزینه ها می توانند از خط فرمان بیایند. همچنین می توانید فایلی را برای نظارت بر InnoDB تعیین کنید
خروجی وضعیت؛ برای جزئیات بیشتر به "مانیتورینگ یک فایل" مراجعه کنید.

با قرار دادن پیشوند نام گزینه با --no می توانید برخی از گزینه ها را نفی کنید. به عنوان مثال، --noinc
(یا --no-inc) "--inc" را نفی می کند.

--رنگ
رنگ آمیزی ترمینال را فعال یا غیرفعال کنید. مربوط به تنظیمات فایل پیکربندی "رنگ" است.

- پیکربندی
یک فایل پیکربندی را برای خواندن مشخص می کند. این گزینه غیر چسبنده است، یعنی آن را بگوییم
در خود فایل پیکربندی باقی نمی ماند.

--شمردن
فقط تعداد دفعات مشخص شده (تیک) را قبل از خروج بازخوانی کنید. هر رفرش یک است
مکث برای "فاصله" ثانیه، به دنبال درخواست داده از اتصالات MySQL و
چاپ آن در ترمینال

--تاخیر انداختن
مدت زمان مکث بین تیک ها (بازخوانی) را مشخص می کند. مربوط به
گزینه پیکربندی "فاصله".

--کمک
خلاصه ای از استفاده و خروج از خط فرمان را چاپ کنید.

-روح
میزبان برای اتصال.

-- Inc
مشخص می کند که innotop باید اعداد مطلق را نمایش دهد یا اعداد نسبی (offsets
از مقادیر قبلی آنها). مربوط به گزینه پیکربندی "status_inc" است.

- حالت
حالتی را که innotop باید در آن راه اندازی شود را مشخص می کند. مربوط به پیکربندی است
گزینه "حالت".

--غیر
فعال کردن عملیات غیر تعاملی برای اطلاعات بیشتر به "عملیات غیر تعاملی" مراجعه کنید.

--کلمه عبور
رمز عبور برای استفاده برای اتصال.

--بندر
پورتی برای استفاده برای اتصال

-- skipcentral
فایل پیکربندی مرکزی را نخوانید.

--کاربر
کاربر برای استفاده برای اتصال.

- نسخه
اطلاعات نسخه خروجی و خروج.

--نوشتن
گزینه پیکربندی "readonly" را روی 0 تنظیم می کند و باعث می شود که innotop در حال اجرا باشد
پیکربندی به ~/.innotop/innotop.conf در هنگام خروج، اگر هیچ فایل پیکربندی بارگیری نشده باشد
در راه اندازی

کلیدهای کلیدی


innotop تعاملی است و شما آن را با فشار دادن کلید کنترل می کنید.

· کلیدهای بزرگ بین حالت ها سوئیچ می کنند.

· کلیدهای حروف کوچک برخی از اقدامات را در حالت فعلی آغاز می کنند.

· سایر کلیدها کار خاصی مانند تغییر پیکربندی یا نشان دادن مجوز innotop انجام می دهند.

مطبوعات '؟' در هر زمان کلیدهای فعال فعلی و کارهایی که انجام می دهند را ببینید.

حالت ها


هر یک از حالت های innotop نوع خاصی از داده ها را از سرورها بازیابی و نمایش می دهد
شما نظارت می کنید شما بین حالت ها با کلیدهای بزرگ جابجا می شوید. زیر یک است
شرح مختصری از هر حالت، به ترتیب حروف الفبا. برای تغییر حالت، دکمه را فشار دهید
کلید در جلوی عنوان آن در لیست زیر فهرست شده است:

ب: بافرهای InnoDB
این حالت اطلاعات مربوط به مخزن بافر InnoDB، آمار صفحه، درج را نمایش می دهد
بافر و شاخص هش تطبیقی. داده‌ها از SHOW INNODB STATUS می‌آیند.

این حالت شامل "buffer_pool"، "page_statistics"، "insert_buffers" و
جداول "adaptive_hash_index" به طور پیش فرض.

ج: خلاصه فرمان
این حالت شبیه حالت خلاصه دستور mytop است. "cmd_summary" را نشان می دهد
جدول، که چیزی شبیه به زیر است:

خلاصه فرمان (? برای کمک) لوکال هاست، 25+07:16:43، 2.45 QPS، 3 thd، 5.0.40
_______________________ خلاصه دستور _____________________
نام مقدار Pct آخرین Incr Pct
Select_scan 3244858 69.89% 2 100.00%
گستره_انتخاب 1354177 29.17% 0 0.00%
Select_full_join 39479 0.85% 0 0.00%
Select_full_range_join 4097 0.09% 0 0.00%
Select_range_check 0 0.00% 0 0.00%

جدول خلاصه فرمان با استخراج متغیرها از "STATUS_VARIABLES" ساخته می شود.
متغیرها باید عددی باشند و باید با پیشوند داده شده توسط "cmd_filter" مطابقت داشته باشند.
متغیر پیکربندی سپس متغیرها بر اساس مقدار نزولی و مرتب می شوند
در مقایسه با آخرین متغیر، همانطور که در بالا نشان داده شده است. ستون های درصد درصد هستند
از مجموع همه متغیرهای جدول، بنابراین می توانید وزن نسبی آن را ببینید
متغیرها

اگر پیشوند "Select_" باشد، مثال آنچه را می بینید نشان می دهد. پیشوند پیش فرض است
"Com_". می توانید با کلید 's' یک پیشوند انتخاب کنید.

بیشتر شبیه اجرای SHOW VARIABLES LIKE "prefix%" با حافظه و خوب است
قالب بندی

مقادیر در همه سرورها جمع می شوند. ستون های Pct درست نیستند
در چندین سرور جمع شده است. این یک محدودیت شناخته شده گروه بندی است
الگوریتمی که ممکن است در آینده اصلاح شود.

D: بن بست های InnoDB
این حالت تراکنش های درگیر در آخرین بن بست InnoDB را نشان می دهد. یک میز دوم
قفل هایی را نشان می دهد که هر تراکنش نگه داشته و منتظر آنها بوده است. بن بست ناشی از یک چرخه است
در نمودار انتظار برای، بنابراین باید دو قفل نگه داشته شود و یکی منتظر بماند مگر اینکه
اطلاعات بن بست کوتاه شده است.

InnoDB اطلاعات بن بست را قبل از سایر اطلاعات در SHOW INNODB قرار می دهد
خروجی STATUS. اگر تعداد زیادی قفل وجود داشته باشد، اطلاعات بن بست می تواند بسیار رشد کند
بزرگ است و محدودیتی در اندازه خروجی SHOW INNODB STATUS وجود دارد. یک بزرگ
بن بست می تواند کل خروجی را پر کند یا حتی کوتاه شود و از دیدن شما جلوگیری کند
اصلا اطلاعات دیگه اگر innotop را در حالت دیگری اجرا می کنید، به عنوان مثال T
حالت، و ناگهان چیزی نمی بینید، ممکن است بخواهید بررسی کنید و ببینید آیا a
بن بست داده های مورد نیاز شما را از بین برده است.

اگر چنین است، می توانید یک بن بست کوچک برای جایگزینی بن بست بزرگ ایجاد کنید. از کلید "w" استفاده کنید
برای "پاک کردن" بن بست بزرگ با یک بن بست کوچک. این کار نمی کند مگر اینکه شما داشته باشید
یک جدول بن بست برای اتصال تعریف کرد (به "اتصالات سرور" مراجعه کنید).

شما همچنین می توانید innotop را پیکربندی کنید تا به طور خودکار تشخیص دهد که چه زمانی یک بن بست بزرگ به آن نیاز دارد
با یک کوچک جایگزین شود (به "auto_wipe_dl" مراجعه کنید).

این حالت جداول "deadlock_transactions" و "deadlock_locks" را به طور پیش فرض نمایش می دهد.

F: خطاهای کلید خارجی InnoDB
این حالت آخرین اطلاعات خطای کلید خارجی InnoDB را نشان می دهد، مانند جدولی که در آن قرار دارد
این اتفاق افتاد، چه زمانی و چه کسی و چه پرس و جو باعث آن شد، و غیره.

InnoDB دارای طیف گسترده ای از پیام های خطای کلید خارجی است و بسیاری از آنها فقط هستند
تجزیه سخت است innotop همیشه در اینجا بهترین کار را انجام نمی دهد، اما کدهای بسیار زیادی وجود دارد
اختصاص داده شده به تجزیه این خروجی کثیف و غیرقابل تجزیه که innotop احتمالا هرگز نخواهد بود
از این نظر عالی است. اگر innotop آنچه را که باید ببینید به شما نشان نمی دهد، فقط نگاه کنید
مستقیماً در متن وضعیت

این حالت جدول "fk_error" را به طور پیش فرض نمایش می دهد.

I: InnoDB I/O Info
این حالت آمار ورودی/خروجی InnoDB از جمله رشته های ورودی/خروجی، فایل ورودی/خروجی معلق را نشان می دهد.
I/O متفرقه، و آمار ورود به سیستم. "io_threads"، "pending_io" را نمایش می دهد.
جداول "file_io_misc" و "log_statistics" به طور پیش فرض.

L: قفل
این حالت اطلاعات مربوط به قفل های فعلی را نشان می دهد. در حال حاضر فقط قفل های InnoDB هستند
پشتیبانی می‌شود، و به‌طور پیش‌فرض فقط قفل‌هایی را می‌بینید که تراکنش‌ها در انتظارشان هستند.
این اطلاعات از بخش TRANSACTIONS متن وضعیت InnoDB می آید. اگر
شما یک سرور بسیار شلوغ دارید، ممکن است مکرر منتظر قفل باشید. کمک می کند که بتوانید
ببینید کدام جداول و فهرست ها "نقطه داغ" برای قفل ها هستند. اگر سرور شما در حال اجرا است
خیلی خوب، این حالت نباید چیزی را نشان دهد.

شما می توانید MySQL و innotop را پیکربندی کنید تا نه تنها قفل هایی را که تراکنش برای آنها انجام می شود، نظارت کنند
منتظر است، اما آنهایی که در حال حاضر نگهداری می شوند نیز. شما می توانید این کار را با قفل InnoDB انجام دهید
مانیتور (http://dev.mysql.com/doc/en/innodb-monitor.html>). مستند نشده است
راهنمای MySQL، اما ایجاد مانیتور قفل با عبارت زیر نیز
بر خروجی SHOW INNODB STATUS تأثیر می گذارد که innotop از آن استفاده می کند:

ایجاد جدول innodb_lock_monitor(a int) ENGINE=INNODB;

این باعث می شود که InnoDB خروجی خود را در فایل MySQL هر 16 ثانیه یا بیشتر چاپ کند.
در دفترچه راهنما بیان شده است، اما خروجی SHOW INNODB STATUS را نیز شامل می شود
اطلاعات قفل، که innotop می تواند تجزیه و نمایش دهد (این موارد غیرمستند است
ویژگی).

این بدان معنی است که شما می توانید کاری را انجام دهید که ممکن است غیرممکن به نظر برسد: تا حدی محدود (InnoDB
برخی از اطلاعات را در خروجی کوتاه می‌کند)، می‌توانید ببینید کدام تراکنش آن را نگه می‌دارد
قفل چیز دیگری در انتظار است. همچنین می توانید قفل InnoDB را فعال و غیرفعال کنید
با نگاشت های کلیدی در این حالت نظارت کنید.

این حالت جدول "innodb_locks" را به طور پیش فرض نمایش می دهد. در اینجا یک نمونه از صفحه نمایش است
هنگامی که یک اتصال در انتظار قفل شدن است، اتصال دیگر باقی می ماند:

_________________________________ InnoDB Locks _________________________
نوع شناسه CXN انتظار انتظار حالت فعال فهرست جدول DB
localhost 12 ضبط 1 00:10 00:10 X تست t1 اولیه
localhost 12 TABLE 0 00:10 00:10 تست IX t1
localhost 12 ضبط 1 00:10 00:10 X تست t1 اولیه
localhost 11 TABLE 0 00:00 00:25 تست IX t1
localhost 11 ضبط 0 00:00 00:25 X تست t1 اولیه

می توانید ببینید که اولین اتصال، ID 12، در انتظار قفل شدن روی کلید PRIMARY است
test.t1، و به مدت 10 ثانیه منتظر بوده است. اتصال دوم منتظر نیست،
زیرا ستون Waiting 0 است، اما قفل ها را روی همان شاخص نگه می دارد. این به شما می گوید
اتصال 11 اتصال 12 را مسدود می کند.

M: وضعیت تکرار Master/Slave
این حالت خروجی SHOW SLAVE STATUS و SHOW MASTER STATUS را در سه نشان می دهد.
جداول دو مورد اول وضعیت Slave را به SQL و وضعیت رشته I/O تقسیم می کنند و
آخرین وضعیت استاد را نشان می دهد. برای حذف سرورهای غیر برده از فیلترها استفاده می شود
جداول برده و سرورهای غیر اصلی از جدول اصلی.

این حالت "slave_sql_status"، "slave_io_status" و "master_status" را نمایش می دهد.
جداول به صورت پیش فرض

O: جداول را باز کنید
این بخش از دستور SHOW OPEN TABLES MySQL می آید. به طور پیش فرض فیلتر است
برای نشان دادن جداولی که توسط یک یا چند جستار مورد استفاده قرار می گیرند، بنابراین می توانید نگاهی سریع به آنها داشته باشید
کدام میزها "داغ" هستند. می توانید از این برای حدس زدن میزهایی که ممکن است قفل شده باشند استفاده کنید
به طور ضمنی

این حالت حالت "open_tables" را به طور پیش فرض نمایش می دهد.

س: لیست پرس و جو
این حالت خروجی را از SHOW FULL PROCESSLIST نمایش می دهد، بسیار شبیه به قارچلیست پرس و جو
حالت این حالت انجام می دهد نه نمایش اطلاعات مربوط به InnoDB این احتمالا یکی از
مفیدترین حالت ها برای استفاده عمومی

یک هدر آموزنده وجود دارد که اطلاعات کلی وضعیت شما را نشان می دهد
سرور می توانید با کلید 'h' آن را روشن و خاموش کنید. به طور پیش فرض، innotop پنهان می شود
فرآیندهای غیرفعال و فرآیند خود می‌توانید اینها را با «i» روشن و خاموش کنید
و کلیدهای 'a'

شما می توانید یک پرس و جو را از این حالت با کلید 'e' توضیح دهید. این پرس و جو را نمایش می دهد
متن کامل، نتایج EXPLAIN، و در نسخه های جدیدتر MySQL، حتی بهینه شده
پرس و جو ناشی از EXPLAIN EXTENDED. innotop همچنین سعی می کند پرس و جوهای خاصی را بازنویسی کند
تا آنها را توضیح دهند. برای مثال، عبارات INSERT/SELECT قابل بازنویسی هستند.

این حالت جداول "q_header" و "processlist" را به طور پیش فرض نمایش می دهد.

R: InnoDB Row Operations and Semaphores
این حالت عملیات ردیف InnoDB، عملیات ردیف متفرقه، سمافورها و
اطلاعات از آرایه انتظار "row_operations" را نمایش می دهد،
جداول "row_operation_misc"، "semaphores" و "wait_array" به طور پیش فرض.

S: متغیرها و وضعیت
این حالت آماری مانند پرس و جو در ثانیه را محاسبه می کند و آنها را در داخل چاپ می کند
چندین سبک مختلف می توانید مقادیر مطلق یا مقادیر افزایشی را بین آنها نشان دهید
کنه

می توانید با فشار دادن یک کلید بین نماها جابه جا شوید. کلید 's' یک خط را چاپ می کند
هر بار که صفحه نمایش به سبک به روز رسانی می شود vmstat. کلید 'g' نما را تغییر می دهد
نموداری از اعداد یکسان، به نوعی شبیه بارگذاری کنید. کلید 'v' نمای را به a تغییر می دهد
جدول محوری نام متغیرها در سمت چپ، با به‌روزرسانی‌های متوالی در حال پیمایش
صفحه نمایش از چپ به راست می توانید انتخاب کنید که چه تعداد به روز رسانی روی صفحه نمایش داده شود
با متغیر پیکربندی "num_status_sets".

هدرها ممکن است به اختصار برای قرار گرفتن بر روی صفحه در عملکرد تعاملی خلاصه شوند. شما انتخاب کنید
کدام متغیرها را با کلید «c» که از مجموعه‌های از پیش تعریف شده انتخاب می‌کند، نمایش داده شود
به شما امکان می دهد مجموعه های خود را ایجاد کنید. می توانید مجموعه فعلی را با کلید 'e' ویرایش کنید.

این حالت واقعا هیچ جدولی را مانند حالت های دیگر نمایش نمی دهد. در عوض، از a استفاده می کند
تعریف جدول برای استخراج و قالب بندی داده ها، اما سپس نتیجه را در تبدیل می کند
راه های ویژه قبل از خروجی آن از تعریف جدول "var_status" استفاده می کند
این.

T: معاملات InnoDB
این حالت تراکنش ها را از خروجی مانیتور InnoDB به داخل نشان می دهد بالافرمت مشابه
این حالت دلیل نوشتن innotop است.

می توانید پرس و جوها یا پردازش ها را با کلیدهای 'k' و 'x' حذف کنید و یک پرس و جو را با
کلیدهای 'e' یا 'f' InnoDB پرس و جو کامل را در تراکنش ها چاپ نمی کند، بنابراین
اگر کوئری کوتاه شده باشد، ممکن است توضیح درست کار نکند.

هدر اطلاعاتی را می توان با کلید 'h' روشن و خاموش کرد. به صورت پیش فرض،
innotop تراکنش های غیر فعال و تراکنش های خود را پنهان می کند. می توانید این را روشن کنید
و با کلیدهای "i" و "a" خاموش کنید.

این حالت جداول "t_header" و "innodb_transactions" را به طور پیش فرض نمایش می دهد.

INNOTOP وضعیت


خط اول نمایشگرهای innotop یک نوع "نوار وضعیت" است. آنچه در آن وجود دارد بستگی دارد
حالتی که در آن هستید و سرورهایی که نظارت می کنید. چند کلمه اول همیشه هستند
[RO] (اگر فقط خواندنی روی 1 تنظیم شده باشد)، حالت innotop، مانند "InnoDB Txns" برای حالت T،
پس از آن یادآوری برای فشار دادن "؟" برای کمک در هر زمان

ONE سرور
ساده ترین حالت زمانی است که شما یک سرور واحد را نظارت می کنید. در این مورد، نام
اتصال بعدی در خط وضعیت است. این نامی است که هنگام ایجاد آن دادید
اتصال -- به احتمال زیاد نام میزبان سرور MySQL. این توسط سرور دنبال می شود
زمان کار

اگر در حالت InnoDB هستید، مانند T یا B، کلمه بعدی "InnoDB" است و سپس مقداری
اطلاعاتی در مورد خروجی SHOW INNODB STATUS که برای رندر کردن صفحه استفاده می شود. اولین کلمه
تعداد ثانیه‌هایی است که از آخرین SHOW INNODB STATUS که InnoDB برای محاسبه از آن استفاده می‌کند است.
برخی آمار در ثانیه مورد بعدی یک صورتک است که نشان می دهد آیا InnoDB است یا خیر
خروجی کوتاه شده است اگر صورتک :-) باشد، همه چیز خوب است. هیچ برشی وجود ندارد آ
:^| به این معنی که لیست تراکنش بسیار طولانی است، InnoDB فقط برخی از آنها را چاپ کرده است
معاملات در نهایت، اخم :-( به این معنی است که خروجی ناقص است، که احتمالا به دلیل آن است
به بن بست که اطلاعات قفل زیادی را چاپ می کند (به "D: Deadlocks InnoDB" مراجعه کنید).

دو کلمه بعدی کوئری های سرور در ثانیه (QPS) و تعداد رشته ها را نشان می دهد
(اتصالات) وجود دارد. در نهایت، شماره نسخه سرور آخرین چیزی است که در خط است.

چند برابر سرور
اگر چندین سرور را زیر نظر دارید (به "اتصالات سرور" مراجعه کنید)، خط وضعیت این کار را انجام می دهد
هیچ جزئیاتی در مورد سرورهای فردی نشان نمی دهد. در عوض، نام آن را نشان می دهد
اتصالاتی که فعال هستند باز هم، اینها نام های اتصالی هستند که شما مشخص کرده اید، که هستند
احتمالاً نام میزبان سرور است. اتصالی که دارای خطا باشد با پیشوند an قرار می گیرد
علامت تعجب.

اگر گروهی از سرورها را زیر نظر دارید (به "گروه های سرور" مراجعه کنید)، خط وضعیت نشان می دهد
نام گروه اگر هر اتصالی در گروه دارای خطا باشد، نام گروه است
به دنبال آن کسری از اتصالات که خطا ندارند.

برای جزئیات بیشتر در مورد رسیدگی به خطاهای innotop به "ERROR HANDLING" مراجعه کنید.

نظارت بر A فایل
اگر نام فایلی را در خط فرمان بدهید، innotop به هیچ سروری متصل نخواهد شد
همه. فایل مشخص شده را برای خروجی وضعیت InnoDB تماشا می کند و از آن به عنوان داده خود استفاده می کند
منبع همیشه یک اتصال واحد به نام "فایل" را نشان می دهد. و از آنجایی که نمی تواند
به یک سرور متصل شوید، نمی تواند تعیین کند که سروری که نظارت دارد چه مدت فعال بوده است.
بنابراین زمان آپتایم سرور را از زمانی که innotop شروع به کار کرد محاسبه می کند.

سرور مدیریت


در حالی که innotop در درجه اول یک مانیتور است که به شما امکان می دهد سرورهای خود را تماشا و تجزیه و تحلیل کنید، اما می تواند
همچنین دستورات را به سرورها ارسال کنید. متداول ترین دستورات کاربردی عبارتند از killing query
و توقف یا شروع بردگان.

می توانید یک اتصال را از بین ببرید یا در نسخه های جدید MySQL یک پرس و جو را بکشید اما نه
اتصال، از حالت های "Q: Query List" و "T: InnoDB Transactions". برای صدور a، 'k' را فشار دهید
دستور KILL یا 'x' برای صدور فرمان KILL QUERY. innotop از شما درخواست می کند
سرور و/یا شناسه اتصال برای کشتن (innotop از شما درخواست نمی‌کند که فقط یکی وجود داشته باشد
انتخاب ممکن برای هر ورودی). innotop طولانی ترین پرس و جو یا همان را از قبل انتخاب می کند
قدیمی ترین اتصال دستور را با 'y' تأیید کنید.

در «Slave Replication Status» در «M: Master mode»، می‌توانید Slave را با
به ترتیب کلیدهای "a" و "o". شما می توانید این دستورات را به طور همزمان برای بسیاری از برده ها ارسال کنید.
innotop یک دستور پیش فرض START SLAVE یا STOP SLAVE را برای شما پر می کند، اما شما می توانید
در واقع دستور را ویرایش کنید و هر چیزی را که می خواهید ارسال کنید، مانند SET GLOBAL
SQL_SLAVE_SKIP_COUNTER=1 برای اینکه برده هنگام شروع، از یک رویداد binlog رد شود.

همچنین می‌توانید از innotop بخواهید اولین بارگیری را که توسط هر Slave استفاده می‌شود محاسبه کند و a را صادر کند
PURGE MASTER LOGS روی استاد. برای این کار از کلید b استفاده کنید. innotop از شما می خواهد که a
master دستور را اجرا کنید، سپس نام اتصال آن استاد را از شما می خواهد
بردگان (هیچ راهی برای اینوتاپ وجود ندارد که خود این را به طور قابل اعتماد تعیین کند). innotop پیدا خواهد کرد
حداقل binlog مورد استفاده توسط این اتصالات برده و آن را به عنوان استدلال پیشنهاد می کند
PURGE Master logs.

سرور ارتباطات


هنگامی که یک اتصال سرور با استفاده از '@' ایجاد می کنید، innotop از شما یک سری ورودی می خواهد، به عنوان
به شرح زیر است:

DSN DSN یک نام منبع داده است که آرگومان اولیه ای است که به ماژول DBI ارسال می شود
برای اتصال به سرور معمولاً به این شکل است

DBI:mysql:;mysql_read_default_group=mysql;host=HOSTNAME

از آنجایی که این DSN به درایور DBD::mysql ارسال می شود، باید درایور را بخوانید
مستندات در "/search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pm"" در "http: برای
جزئیات دقیق تمام گزینه هایی که می توانید درایور را در DSN بفرستید. تو میتوانی بخوانی
اطلاعات بیشتر در مورد DBI درhttp://dbi.perl.org/docs/>، و به خصوص در
<http://search.cpan.org/~timb/DBI/DBI.pm>.

گزینه mysql_read_default_group=mysql به درایور DBD اجازه می‌دهد تا گزینه‌های MySQL شما را بخواند.
فایل هایی مانند ~/.my.cnf در سیستم های یونیکس. شما می توانید از این برای جلوگیری از مشخص کردن a استفاده کنید
نام کاربری یا رمز عبور برای اتصال.

جدول بن بست InnoDB
این آیتم اختیاری یک نام جدول را به innotop می گوید که می تواند از آن برای ایجاد عمدی a استفاده کند
بن بست کوچک (به "D: بن بست های InnoDB" مراجعه کنید). اگر این گزینه را مشخص کنید، فقط نیاز دارید
برای اطمینان از اینکه جدول وجود ندارد و innotop می تواند جدول را ایجاد و رها کند
با موتور ذخیره سازی InnoDB. اگر می‌توانید با خیال راحت آن را حذف کنید یا فقط آن را بپذیرید
قصد استفاده از این را ندارید

نام کاربری
innotop از شما می پرسد که آیا می خواهید یک نام کاربری مشخص کنید. اگر بگویید "y"، این کار را می کند
از شما یک نام کاربری می خواهد. اگر یک فایل گزینه MySQL دارید که شما را مشخص می کند
نام کاربری، لازم نیست نام کاربری مشخص کنید.

در سیستمی که innotop روی آن اجرا می‌کنید، نام کاربری به‌طور پیش‌فرض روی نام ورود شما قرار می‌گیرد.

کلمه عبور
innotop از شما می پرسد که آیا می خواهید رمز عبور را تعیین کنید. مانند نام کاربری،
رمز عبور اختیاری است، اما یک درخواست اضافی وجود دارد که از شما می پرسد آیا می خواهید ذخیره کنید
رمز عبور در فایل پیکربندی innotop. اگر آن را در
فایل پیکربندی، innotop هر بار که شروع می شود از شما یک رمز عبور می خواهد.
رمزهای عبور در فایل پیکربندی innotop به صورت متن ساده ذخیره می شوند، نه رمزگذاری شده در آن
به هر حال.

پس از اتمام پاسخ دادن به این سوالات، باید به یک سرور متصل شوید. ولی
innotop به نظارت بر یک سرور محدود نمی شود. شما می توانید سرورهای زیادی را تعریف کنید
اتصالات و با فشار دادن کلید "@" بین آنها سوئیچ کنید. به "تغییر بین
اتصالات".

سرور گروه ها


اگر چندین نمونه MySQL دارید، می‌توانید آن‌ها را در گروه‌های نام‌گذاری شده قرار دهید، مانند «همه»،
"اربابان" و "بردگان" که innotop می توانند همه را با هم نظارت کنند.

می‌توانید با کلید ## انتخاب کنید که کدام گروه نظارت شود و می‌توانید کلید TAB را فشار دهید
به گروه بعدی بروید اگر در حال حاضر گروهی را نظارت نمی کنید، TAB را فشار دهید
گروه اول را انتخاب می کند.

برای ایجاد یک گروه، کلید "#" را فشار دهید و نام گروه جدید خود را تایپ کنید، سپس آن را تایپ کنید
نام اتصالاتی که می خواهید گروه شامل شود.

تعویض بین ارتباطات


innotop به شما امکان می دهد به سرعت سرورهایی را که نظارت می کنید تغییر دهید. ابتدایی ترین راه این است
با فشار دادن کلید '@' و تایپ نام(های) اتصال(های) مورد نظر برای استفاده. این
تنظیم برای هر حالت است، بنابراین می توانید اتصالات مختلف را در هر حالت و innotop نظارت کنید
به یاد می آورد که کدام اتصالات را انتخاب می کنید.

می توانید به سرعت با کلید 'n' به ترتیب حروف الفبا به اتصال "بعدی" بروید.
اگر در حال نظارت بر یک گروه سرور هستید (به "گروه های سرور" مراجعه کنید) به اولین گروه تغییر می کند.
اتصال.

همچنین می‌توانید نام‌های اتصال زیادی را تایپ کنید و innotop داده‌ها را از آنها واکشی و نمایش می‌دهد
همه. فقط نام اتصالات را با فاصله جدا کنید، به عنوان مثال "server1 server2."
دوباره، اگر نام اتصالی را که وجود ندارد تایپ کنید، innotop از شما درخواست می کند
برای اطلاعات اتصال و ایجاد اتصال.

راه دیگر برای نظارت بر چندین اتصال به طور همزمان، استفاده از گروه های سرور است. شما می توانید استفاده کنید
کلید TAB را برای جابجایی به گروه "بعدی" به ترتیب حروف الفبا یا اگر نیستید
با نظارت بر هر گروه، TAB به گروه اول تغییر خواهد کرد.

innotop داده ها را به صورت موازی از اتصالات واکشی نمی کند، بنابراین اگر یک صفحه بزرگ را زیر نظر دارید
گروه یا بسیاری از اتصالات، ممکن است متوجه افزایش تاخیر بین تیک ها شوید.

هنگامی که بیش از یک اتصال را نظارت می کنید، نوار وضعیت innotop تغییر می کند. به "INNOTOP" مراجعه کنید
وضعیت".

ERROR دستکاری


هنگام نظارت بر یک اتصال، رسیدگی به خطا چندان مهم نیست، اما بسیار مهم است
وقتی اتصالات فعال زیادی دارید. سرور از کار افتاده یا اتصال از دست رفته نباید
کرش اینوتاپ در نتیجه، innotop حتی زمانی که خطایی وجود دارد به کار خود ادامه خواهد داد. آی تی
فقط هیچ اطلاعاتی از اتصالی که دارای خطا بوده است نمایش داده نمی شود. به خاطر اینکه
این، رفتار innotop ممکن است شما را گیج کند. این یک ویژگی است، نه یک اشکال!

innotop به جستجوی اتصالاتی که دارای خطا هستند ادامه نمی دهد، زیرا ممکن است کند شوند
innotop و استفاده از آن را سخت می کند، به خصوص اگر خطا مشکل اتصال و
باعث تایم اوت طولانی می شود. در عوض، innotop گهگاهی اتصال را دوباره امتحان می‌کند تا ببیند که آیا
خطا هنوز وجود دارد اگر چنین است، تا زمانی در آینده منتظر خواهد ماند. انتظار
زمان بر حسب تیک به عنوان سری فیبوناچی افزایش می یابد، بنابراین با گذشت زمان کمتر تلاش می کند
عبور می کند

از آنجایی که خطاها ممکن است فقط در حالت‌های خاص به دلیل دستورات SQL صادر شده رخ دهند
در این حالت ها، innotop پیگیری می کند که کدام حالت باعث خطا شده است. اگر به a تغییر دهید
حالت های مختلف، innotop به جای انتظار، اتصال را دوباره امتحان می کند.

به طور پیش فرض innotop مشکل را با متن قرمز در پایین جدول اول نمایش می دهد
روی صفحه نمایش می توانید این رفتار را با "show_cxn_errors_in_tbl" غیرفعال کنید
گزینه configuration که به صورت پیش فرض فعال است. اگر گزینه "اشکال زدایی" فعال باشد،
innotop خطا را در پایین هر جدول نشان می دهد، نه فقط در جدول اول. و اگر
"show_cxn_errors" فعال است، innotop متن خطا را در STDOUT نیز چاپ می کند. خطا
پیام ها ممکن است بسته به حالت و فقط در حالتی نمایش داده شوند که باعث خطا شده است
آیا اینوتاپ از پرس و جوی آن اتصال اجتناب می کند.

غیر تعاملی عمل


می توانید innotop را در حالت غیر تعاملی اجرا کنید، در این صورت کاملاً از آن کنترل می شود
فایل پیکربندی و گزینه های خط فرمان. برای شروع innotop در غیر تعاملی
حالت، گزینه خط فرمان L"<--nonint"> را بدهید. این تغییر رفتار innotop در
راه های زیر:

· برخی از ماژول های پرل بارگذاری نشده اند. اصطلاح:: خط خواندن بارگیری نمی شود، زیرا innotop است
به صورت تعاملی درخواست نمی کند. ماژول های Term::ANSIColor و Win32::کنسول::ANSI هستند
بارگذاری نشده است Term::ReadKey هنوز مورد استفاده قرار می گیرد، زیرا ممکن است innotop مجبور شود درخواست کند
رمزهای عبور اتصال هنگام راه اندازی

· innotop بعد از هر تیک صفحه را پاک نمی کند.

· innotop هیچ تغییری در فایل پیکربندی ایجاد نمی کند.

· اگر "--count" داده شود و innotop در حالت افزایشی باشد (به "status_inc" مراجعه کنید و
"--inc")، innotop در واقع یک بار بیشتر از زمان مشخص شده به روز می شود تا بتواند چاپ کند
آمار افزایشی این خروجی را در اولین تیک سرکوب می کند، بنابراین innotop ممکن است
به نظر می رسد آویزان است.

· innotop فقط اولین جدول را در هر حالت نمایش می دهد. این است بنابراین خروجی می تواند باشد
به راحتی با سایر ابزارهای خط فرمان مانند awk و sed پردازش می شود. عوض شدن
کدام جداول در هر حالت نمایش داده می شود، به "جدول" مراجعه کنید. از آنجایی که حالت "Q: Query List" چنین است
مهم است، innotop به طور خودکار جدول "q_header" را غیرفعال می کند. این شما را تضمین می کند
جدول "processlist" را ببینید، حتی اگر innotop را برای نمایش q_header پیکربندی کرده باشید
جدول در طول عملیات تعاملی به طور مشابه، در حالت "T: InnoDB Transactions"،
جدول "t_header" سرکوب شده است، بنابراین شما فقط جدول "innodb_transactions" را می بینید.

· تمام خروجی ها به جای تراز ستونی با فضای سفید و
innotop محتویات کامل هر جدول را به جای چاپ یک صفحه نمایش چاپ می کند
در یک زمان.

· innotop فقط یک بار به جای هر تیک سرصفحه ستون را چاپ می کند (به "hide_hdr" مراجعه کنید).
innotop شرح جدول را چاپ نمی کند (به "display_table_captions" مراجعه کنید). innotop تضمین می کند
هیچ خط خالی در خروجی وجود ندارد.

· innotop تغییر "کوتاه" را که معمولاً برخی از آنها را کوتاه می کند، رعایت نمی کند
اعداد به قالب های قابل خواندن توسط انسان

· innotop خط وضعیت را چاپ نمی کند (به "وضعیت INOTOP" مراجعه کنید).

پیکربندی


تقریباً همه چیز در مورد innotop قابل تنظیم است. بیشتر چیزها را می توان با آن تغییر داد
دستورات داخلی، اما شما همچنین می توانید فایل پیکربندی را ویرایش کنید.

هنگام اجرای innotop، کلید '$' را فشار دهید تا گفتگوی ویرایش پیکربندی ظاهر شود.
برای انتخاب نوع داده ای که می خواهید ویرایش کنید، کلید دیگری را فشار دهید:

S: بیانیه زمان خواب
تأخیرهای خواب بیانیه SQL را ویرایش می کند، که باعث توقف innotop برای مقدار مشخص شده می شود
زمان پس از اجرای یک دستور برای تعریف هر یک به "SQL STATEMENTS" مراجعه کنید
بیانیه و آنچه انجام می دهد به طور پیش فرض innotop بعد از هیچ عبارتی تاخیر نمی کند.

این ویژگی گنجانده شده است تا بتوانید عوارض جانبی ناشی از نظارت را سفارشی کنید
سرور شما ممکن است هیچ اثری نبینید، اما برخی از کاربران innotop متوجه این موضوع شده اند
برخی از نسخه‌های MySQL تحت بارگذاری بسیار بالا با فعال بودن InnoDB بیش از حد معمول طول می‌کشد
برای اجرای SHOW GLOBAL STATUS. اگر innotop تماس گرفت FULL PROCESSLIST فوراً نشان داده شود
پس از آن، لیست فرآیندها شامل پرس و جوهای بیشتری نسبت به میانگین واقعی ماشین است
هر لحظه پیکربندی innotop برای مکث کوتاه پس از تماس با SHOW GLOBAL
STATUS این اثر را کاهش می دهد.

زمان‌های خواب در بخش «stmt_sleep_times» فایل پیکربندی ذخیره می‌شوند.
خواب های کسری ثانیه پشتیبانی می شوند، مشروط به محدودیت های سخت افزاری شما.

ج: ویرایش ستون ها
ویرایشگر جدول را در یکی از جداول نمایش داده شده شروع می کند. به "ویرایشگر جدول" مراجعه کنید. یک
راه جایگزین برای شروع ویرایشگر جدول بدون وارد کردن گفتگوی پیکربندی است
با کلید '^'

g: پیکربندی عمومی
ویرایشگر پیکربندی را برای ویرایش پیکربندی کلی و حالت خاص شروع می کند
متغیرها (به "MODES" مراجعه کنید). innotop از شما می خواهد که یک متغیر را از بین آنها انتخاب کنید
جهانی و حالت خاص بسته به حالت فعلی.

k: قوانین رنگ آمیزی ردیف
ویرایشگر قوانین رنگ آمیزی ردیف را در یکی از جدول(های) نمایش داده شده شروع می کند. به "رنگ ها" مراجعه کنید
برای جزئیات بیشتر.

p: مدیریت پلاگین ها
ویرایشگر پیکربندی افزونه را شروع می کند. برای جزئیات بیشتر به "PLUGINs" مراجعه کنید.

s: گروه های سرور
به شما امکان می دهد گروه های سرور ایجاد و ویرایش کنید. به "گروه های سرور" مراجعه کنید.

t: جداول نمایش داده شده را انتخاب کنید
به شما امکان می دهد جدول هایی را که در این حالت نمایش داده شوند انتخاب کنید. به "حالت ها" و "جدول" مراجعه کنید.

پیکربندی فایل


مکان های فایل پیکربندی پیش فرض innotop $HOME/.innotop و
/etc/innotop/innotop.conf، و به ترتیب به دنبال آنها می گردند. اگر اولین
فایل پیکربندی وجود دارد، دومی پردازش نخواهد شد. می توان آنها را نادیده گرفت
گزینه خط فرمان "--config". می‌توانید با خیال راحت آن را با دست ویرایش کنید، هر چند innotop بخواند
فایل پیکربندی زمانی که شروع می شود، و اگر فقط خواندنی روی 0 تنظیم شود، دوباره آن را می نویسد
وقتی خارج می شود بنابراین، اگر فقط خواندن روی 0 تنظیم شده باشد، هر تغییری را که در حالت innotop به صورت دستی ایجاد می کنید
در حال اجرا از بین خواهد رفت.

innotop کل پیکربندی خود را در فایل پیکربندی ذخیره نمی کند. عظیمی دارد
مجموعه ای از مقادیر پیکربندی پیش فرض که فقط در حافظه نگه می دارد و پیکربندی
فایل فقط این پیش فرض ها را لغو می کند. هنگامی که یک تنظیم پیش فرض را سفارشی می کنید، innotop
متوجه می شود و سپس سفارشی سازی ها را در فایل ذخیره می کند. این باعث می شود که اندازه فایل پایین بیاید،
ویرایش آن را آسان‌تر می‌کند و ارتقا را آسان‌تر می‌کند.

یک فایل پیکربندی فقط خواندنی است پیش فرض باشد. می توانید با "--write" آن را لغو کنید. دیدن
"فقط خواندنی".

فایل پیکربندی در بخش هایی مانند یک فایل INI مرتب شده است. هر بخش آغاز می شود
با [section-name] و به [/section-name] ختم می شود. ورودی های هر بخش دارای یک
نحو متفاوتی بسته به داده هایی که باید ذخیره کنند. می توانید نظرات خود را در قسمت قرار دهید
فایل؛ هر خطی که با کاراکتر # شروع شود یک نظر است. innotop را نمی خواند
نظرات، بنابراین آنها را پس از خروج در فایل بازنویسی نمی کند. نظرات در خواندن -
اگرچه فقط فایل های پیکربندی هنوز مفید هستند.

خط اول فایل شماره نسخه innotop است. این اجازه می دهد تا innotop متوجه شود که
فرمت فایل سازگار با عقب نیست، و بدون از بین بردن فایل خود، به راحتی ارتقا دهید
پیکربندی سفارشی

لیست زیر هر بخش از فایل پیکربندی و داده های آن را توضیح می دهد
شامل:

عمومی
بخش "عمومی" شامل متغیرهای پیکربندی جهانی و متغیرهایی است که ممکن است
حالت خاص باشد، اما به هیچ بخش دیگری تعلق نداشته باشد. نحو ساده است
فهرست کلید = ارزش innotop بالای هر مقدار یک نظر می نویسد تا به شما در ویرایش فایل کمک کند
با دست.

S_func
نمایش حالت S را کنترل می کند (به "S: متغیرها و وضعیت" مراجعه کنید). اگر g، مقادیر هستند
نمودار شده اگر s، مقادیر مانند vmstat هستند. اگر p، مقادیر در یک جدول محوری هستند.

S_set
مشخص می کند که کدام مجموعه از متغیرها در حالت "S: Variables & Status" نمایش داده شود. دیدن
"مجموعه های متغیر".

auto_wipe_dl
به innotop دستور می دهد تا به طور خودکار بن بست های بزرگ را هنگامی که متوجه آنها شد پاک کند.
هنگامی که این اتفاق می افتد، ممکن است کمی تاخیر را متوجه شوید. در تیک بعدی، شما این کار را خواهید کرد
معمولاً اطلاعاتی را می بینید که توسط بن بست بزرگ کوتاه شده بود.

کاراکتر
مشخص می کند که چه نوع کاراکتری باید از طریق "no_ctrl_char" مجاز باشد
دگرگونی. این کاراکترهای غیر قابل چاپ را از سردرگمی ترمینال جلوگیری می کند
هنگامی که پرس و جوهایی را که حاوی داده های باینری هستند، مانند تصاویر، نظارت می کنید.

پیش‌فرض 'ascii' است که هر چیزی خارج از ASCII عادی را a در نظر می‌گیرد
شخصیت کنترل مقادیر مجاز دیگر 'unicode' و 'none' هستند. 'هیچ یک'
هر کاراکتری را یک کاراکتر کنترلی در نظر می گیرد که می تواند برای جمع کردن مفید باشد
تمام فیلدهای متنی در پرس و جوها.

cmd_filter
این پیشوندی است که متغیرها را در حالت "C: Command Summary" فیلتر می کند.

رنگ
آیا رنگ آمیزی ترمینال مجاز است یا خیر.

cxn_timeout
در نسخه های MySQL 4.0.3 و جدیدتر، از این متغیر برای تنظیم اتصال استفاده می شود.
تایم اوت شود، بنابراین MySQL اگر برای مدتی از آن استفاده نشود، اتصال را نمی‌بندد.
این ممکن است به این دلیل اتفاق بیفتد که یک اتصال در یک حالت خاص نظارت نمی شود
مثال.

اشکال زدایی کردن
این گزینه خطاهای پرمخاطب بیشتری را فعال می کند و innotop را در برخی سخت تر می کند
مکان ها این می تواند به رفع اشکال فیلترها و سایر کدهای تعریف شده توسط کاربر کمک کند. آن را نیز
باعث می‌شود اینوتاپ اطلاعات زیادی را برای «اشکال‌زدایی» در هنگام خرابی بنویسد.

اشکال زدایی
فایلی که در صورت خرابی، innotop اطلاعات را روی آن می نویسد. دیدن
"فایل ها".

display_table_captions
innotop یک عنوان جدول را در بالای اکثر جداول نمایش می دهد. این متغیر یا را سرکوب می کند
زیرنویس‌ها را روی همه جداول در سطح جهانی نشان می‌دهد. برخی از جداول با پیکربندی شده اند
ویژگی hide_caption، که این را لغو می کند.

جهانی
متغیرها و وضعیت GLOBAL نشان داده شود. innotop فقط سعی می کند این کار را انجام دهد
سرورهایی که از گزینه GLOBAL برای SHOW VARIABLES و SHOW STATUS پشتیبانی می کنند. که در
برخی از نسخه های MySQL، برای انجام این کار به امتیازات خاصی نیاز دارید. اگر ندارید
آنها، innotop قادر به واکشی هیچ متغیر و داده وضعیتی نخواهد بود. این
متغیر پیکربندی به شما امکان می دهد innotop را اجرا کنید و حتی داده هایی را که می توانید واکشی کنید
بدون امتیازات بالا

من دیگر نمی توانم موقعیتی را پیدا کنم یا بازتولید کنم که در آن GLOBAL مجاز نبود، اما من
بدانید یکی بود

graph_char
کاراکتری را برای ترسیم نمودارها در حالت "S: Variables & Status" تعریف می کند.

header_highlight
نحوه برجسته کردن هدر ستون را تعریف می کند. این فقط در صورتی کار می کند که Term::ANSIColor باشد
در دسترس. مقادیر معتبر «بولد» و «زیرخط» هستند.

hide_hdr
سرصفحه های ستون را به صورت سراسری پنهان می کند.

فاصله
فاصله زمانی که innotop داده های خود را تازه می کند (تیک). فاصله است
به عنوان زمان خواب بین تیک ها اجرا می شود، بنابراین فاصله واقعی متفاوت خواهد بود
بسته به مدت زمانی که innotop طول می کشد تا داده ها را واکشی و رندر کند.

این متغیر کسری از ثانیه را می پذیرد.

حالت
حالتی که innotop باید در آن شروع شود. آرگومان های مجاز همان آرگومان های هستند
فشارهای کلیدی که حالتی را به صورت تعاملی انتخاب می کنند. به "MODES" مراجعه کنید.

رقم_ num
چند رقم در اعداد کسری و درصد نشان داده شود. محدوده این متغیر
بین 0 تا 9 است و می تواند مستقیماً از حالت "S: Variables & Status" تنظیم شود
کلیدهای '+' و '-'. در "set_precision"، "shortten" و "percent" استفاده می شود.
تحولات

num_status_sets
تعداد مجموعه‌ای از متغیرهای وضعیت را برای نمایش در محوری "S: متغیرها و" کنترل می‌کند
حالت "وضعیت". همچنین تعداد مجموعه های قدیمی متغیرهایی که innotop نگه می دارد را کنترل می کند
در حافظه آن، بنابراین هر چه این متغیر بزرگتر باشد، حافظه innotop بیشتری استفاده می کند.

plugin_dir
محل یافتن پلاگین ها را مشخص می کند. به طور پیش فرض، innotop افزونه ها را در قسمت ذخیره می کند
دایرکتوری فرعی 'plugins' دایرکتوری پیکربندی innotop شما.

فقط خواندنی
آیا فایل پیکربندی فقط خواندنی است یا خیر. این را نمی توان به صورت تعاملی تنظیم کرد.

show_cxn_errors
خطاهای اتصال چاپ innotop را در STDOUT ایجاد می کند. به "Error Handling" مراجعه کنید.

show_cxn_errors_in_tbl
خطاهای اتصال صفحه نمایش innotop را به صورت ردیف در اولین جدول روی صفحه نمایش می دهد. دیدن
"بررسی خطا".

نمایش_درصد
بعد از مقدار بازگردانده شده توسط تبدیل "درصد" یک کاراکتر '%' اضافه می کند.

show_statusbar
نشان دادن نوار وضعیت در صفحه نمایش را کنترل می کند. به "وضعیت INOTOP" مراجعه کنید.

skip_innodb
واکشی SHOW INNODB STATUS را غیرفعال می کند، در صورتی که سرور(های) شما InnoDB ندارند
فعال است و نمی خواهید innotop سعی کند آن را واکشی کند. این نیز می تواند مفید باشد
هنگامی که برای اجرای SHOW INNODB STATUS از امتیاز SUPER برخوردار نیستید.

status_inc
آیا برای نمایش مقادیر مطلق یا افزایشی برای متغیرهای وضعیت. افزایشی
مقادیر به عنوان یک افست از آخرین مقدار innotop saw برای آن محاسبه می شود
متغیر. این یک تنظیم جهانی است، اما احتمالاً در حالت خاص خواهد بود
یک نقطه در حال حاضر آن را کمی متناقض ارج نهاده است. برخی از حالت ها پولی ندارند
توجه به آن

پلاگین ها
در این بخش لیستی از نام بسته های افزونه های فعال وجود دارد. اگر افزونه وجود دارد،
innotop آن را فعال می کند. برای اطلاعات بیشتر به "PLUGINs" مراجعه کنید.

فیلترها برای تصفیه آب
این بخش دارای فیلترهای تعریف شده توسط کاربر است (به "فیلترها" مراجعه کنید). هر خط در قالب است
filter_name=text='متن فیلتر' tbls='لیست جدول'.

متن فیلتر، متن کد زیربرنامه است. لیست جدول لیستی از
جداولی که فیلتر می تواند روی آنها اعمال شود. به طور پیش فرض، فیلترهای تعریف شده توسط کاربر برای
جدولی که برای آن ایجاد شده‌اند، اما می‌توانید به‌طور دستی آن را با ویرایش آن لغو کنید
تعریف در فایل پیکربندی

فعال_فیلترها
این بخش فیلترهای فعال در هر جدول را ذخیره می کند. هر خط در
فرمت جدول_نام=فیلتر_فهرست.

tbl_meta
این بخش ستون های تعریف شده توسط کاربر یا سفارشی کاربر را ذخیره می کند (به "COLUMNS" مراجعه کنید). هر یک
خط با فرمت col_name=properties است که خصوصیات آن a هستند
نام = لیست ارزش نقل شده.

اتصالات
این بخش اتصالات سروری را که شما تعریف کرده اید نگه می دارد. هر خط در
فرمت name=properties، که در آن ویژگی ها یک لیست name=value هستند. خصوصیات
خود توضیحی هستند، و تنها موردی که به طور خاص با آن برخورد می‌شود، «گذر» است
فقط در صورتی وجود دارد که 'savepass' تنظیم شده باشد. این بخش از فایل پیکربندی خواهد بود
در صورت استفاده از گزینه‌های خط فرمان DSN، نام کاربری یا رمز عبور، از آن صرفنظر می‌شود. به "SERVER" مراجعه کنید
اتصالات".

پیوندهای فعال
این بخش فهرستی از اتصالات فعال در هر حالت را دارد. هر خط است
در قالب mode_name=connection_list.

سرور_گروه ها
این بخش دارای گروه های سرور است. هر خط با فرمت name=connection_list است.
به "گروه های سرور" مراجعه کنید.

فعال_سرور_گروه ها
این بخش فهرستی از گروه سرور فعال در هر حالت را دارد. هر خط است
در قالب mode_name=server_group.

max_values_seen
این بخش حداکثر مقادیر مشاهده شده برای متغیرها را در خود جای می دهد. این برای مقیاس بندی استفاده می شود
نمودارها در حالت "S: Variables & Status". هر خط با فرمت name=value است.

ستون_فعال
این بخش لیست ستون های جدول را نگه می دارد. هر خط در قالب است
tbl_name=column_list. به "ستون ها" مراجعه کنید.

sort_cols
این بخش دارای تعریف مرتب سازی است. هر خط در قالب است
tbl_name=column_list. اگر پیشوند یک ستون با '-' باشد، آن ستون به صورت نزولی مرتب می شود.
به "مرتب سازی" مراجعه کنید.

قابل مشاهده_جدول
این بخش مشخص می کند که کدام جداول در هر حالت قابل مشاهده است. هر خط در
قالب mode_name=table_list. به "جدول" مراجعه کنید.

varsets
این بخش مجموعه های متغیر را برای استفاده در حالت "S: Status & Variables" تعریف می کند. هر خط
در قالب name=variable_list است. به "مجموعه های متغیر" مراجعه کنید.

رنگ
این بخش قوانین رنگ آمیزی را تعریف می کند. هر خط در قالب است
tbl_name=property_list. به "رنگ ها" مراجعه کنید.

stmt_sleep_times
این بخش شامل زمان‌های خواب بیانیه است. هر خط در قالب است
statement_name=sleep_time. به "S: بیانیه زمان خواب" مراجعه کنید.

دسته بندی بر اساس
این بخش شامل لیست های ستونی برای عبارات جدول group_by است. هر خط در است
قالب tbl_name=column_list. به "گروه بندی" مراجعه کنید.

سفارشی سازی


شما می توانید innotop را تا حد زیادی سفارشی کنید. به عنوان مثال، شما می توانید:

· انتخاب کنید کدام جداول نمایش داده شود و به چه ترتیبی.

· انتخاب کنید کدام ستون ها در آن جداول هستند و ستون های جدید ایجاد کنید.

· فیلترهایی که ردیف ها با فیلترهای داخلی، فیلترهای تعریف شده توسط کاربر و سریع نمایش داده می شوند.
فیلترها

· ردیف ها را مرتب کنید تا داده های مهم را در ابتدا قرار دهید یا ردیف های مرتبط را با هم گروه بندی کنید.

· سطرها را با رنگ برجسته کنید.

تراز، عرض و قالب بندی ستون ها را سفارشی کنید و تبدیل ها را اعمال کنید
به ستون ها برای استخراج بخش هایی از مقادیر آنها یا قالب بندی مقادیر به دلخواه (برای
به عنوان مثال، کوتاه کردن اعداد بزرگ به واحدهای آشنا).

· عبارات خود را برای استخراج و ترکیب داده ها در صورت نیاز طراحی کنید. این به شما می دهد
انعطاف پذیری نامحدود

همه اینها و موارد دیگر در بخش های بعدی توضیح داده شده است.

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

در داخل، متا داده های جدول در ساختار داده ای به نام %tbl_meta تعریف می شوند. این هش
تمام تعاریف جدول داخلی را که حاوی دستورالعمل‌های پیش‌فرض زیادی هستند را در خود نگه می‌دارد
innotop. متا داده ها شامل عنوان، لیستی از ستون هایی است که کاربر سفارشی کرده است، الف
فهرست ستون‌ها، فهرستی از ستون‌های قابل مشاهده، فهرستی از فیلترها، قوانین رنگ، ستون‌های مرتب‌سازی
فهرست، جهت مرتب سازی و برخی اطلاعات در مورد منابع داده جدول. بیشتر این
از طریق ویرایشگر جدول قابل تنظیم است (به "ویرایشگر جدول" مراجعه کنید).

می توانید با فشار دادن کلید '$' جداول را انتخاب کنید. به "حالت ها" و "جدول" مراجعه کنید.

چرخه عمر جدول به شرح زیر است:

· هر جدول با یک منبع داده شروع می شود که آرایه ای از هش است. زیر را ببینید
جزئیات مربوط به منابع داده

· هر عنصر از منبع داده به یک ردیف در جدول نهایی تبدیل می شود.

· برای هر عنصر در منبع داده، innotop مقادیر را از منبع استخراج می کند و
یک ردیف ایجاد می کند. این ردیف یک هش دیگر است که مراحل بعدی به آن $set می‌گویند.
مقادیر innotop استخراج شده توسط ستون های جدول تعیین می شود. هر ستون دارای یک
زیربرنامه استخراج، از یک عبارت گردآوری شده است (به "Expressions" مراجعه کنید). نتیجه
ردیف یک هش است که کلیدهای آن مانند نام ستون نامگذاری شده است.

· innotop ردیف‌ها را فیلتر می‌کند و آن‌هایی را که نیازی به نمایش ندارند حذف می‌کند. دیدن
"فیلترها".

· innotop ردیف ها را مرتب می کند. به "مرتب سازی" مراجعه کنید.

· در صورت مشخص شدن، innotop ردیف ها را با هم گروه بندی می کند. به "گروه بندی" مراجعه کنید.

· innotop ردیف ها را رنگ آمیزی می کند. به "رنگ ها" مراجعه کنید.

· innotop مقادیر ستون را در هر سطر تبدیل می کند. به "تحولات" مراجعه کنید.

· innotop به صورت اختیاری ردیف ها را محور می کند (به "PIVOTING" مراجعه کنید)، سپس آنها را فیلتر و مرتب می کند.

· innotop را فرمت می کند و ردیف ها را به عنوان جدول توجیه می کند. در این مرحله، innotop اعمال می شود
قالب بندی بیشتر به مقادیر ستون، از جمله تراز، حداکثر و حداقل
عرض ها innotop همچنین خطاهای نهایی را بررسی می کند تا مطمئن شود که هیچ خرابی به دلیل وجود ندارد
مقادیر تعریف نشده innotop سپس در صورت مشخص شدن یک عنوان اضافه می کند و جدول آماده است
چاپ.

همانطور که در بالا ذکر شد، اگر جدول چرخشی باشد، چرخه عمر کمی متفاوت است. برای روشن شدن،
اگر جدول محوری باشد، فرآیند استخراج، گروه، تبدیل، محور، فیلتر، مرتب سازی،
ایجاد کردن. اگر محوری نباشد، فرآیند استخراج، فیلتر، مرتب‌سازی، گروه، رنگ،
تبدیل کردن، ایجاد کردن این فرآیند کمی پیچیده به خوبی به SQL نگاشت نمی شود، اما
چرخش همه چیز را کاملاً پیچیده می کند. به طور کلی، فیلتر کردن و مرتب سازی
تا زمانی که لازم است اتفاق بیفتد تا نتیجه نهایی را همانطور که انتظار دارید، اما به همان زودی که انتظار دارید، اعمال کنید
برای بهره وری ممکن است.

هر جدول داخلی در زیر توضیح داده شده است:

adaptive_hash_index
اطلاعات مربوط به شاخص هش تطبیقی ​​InnoDB را نمایش می دهد. منبع داده: "STATUS_VARIABLES".

بافر_پول
اطلاعات مربوط به مخزن بافر InnoDB را نمایش می دهد. منبع داده: "STATUS_VARIABLES".

cmd_summary
متغیرهای وضعیت وزنی را نمایش می دهد. منبع داده: "STATUS_VARIABLES".

بن بست_قفل ها
نشان می دهد که آخرین بن بست شناسایی شده کدام قفل ها نگه داشته شده و منتظر آنها بوده است. داده ها
منبع: "DEADLOCK_LOCKS".

بن بست_معاملات
تراکنش های درگیر در آخرین بن بست شناسایی شده را نشان می دهد. منبع اطلاعات:
"DEADLOCK_TRANSACTIONS".

توضیح دادن
خروجی EXPLAIN را نشان می دهد. منبع داده: "توضیح".

file_io_misc
اطلاعات مربوط به فایل InnoDB و عملیات I/O را نمایش می دهد. منبع اطلاعات:
"STATUS_VARIABLES".

fk_error
داده های مختلفی را در مورد آخرین خطای کلید خارجی InnoDB نمایش می دهد. منبع اطلاعات:
"STATUS_VARIABLES".

innodb_locks
قفل های InnoDB را نمایش می دهد. منبع داده: "INNODB_LOCKS".

innodb_transactions
داده‌های مربوط به تراکنش‌های جاری InnoDB را نمایش می‌دهد. منبع اطلاعات:
"INNODB_TRANSACTIONS".

insert_buffers
اطلاعات مربوط به بافر درج InnoDB را نمایش می دهد. منبع داده: "STATUS_VARIABLES".

io_threads
داده‌های مربوط به رشته‌های ورودی/خروجی InnoDB را نمایش می‌دهد. منبع داده: "IO_THREADS".

log_statistics
داده های مربوط به سیستم ورود به سیستم InnoDB را نمایش می دهد. منبع داده: "STATUS_VARIABLES".

استاد_وضعیت
وضعیت اصلی تکرار را نمایش می دهد. منبع داده: "STATUS_VARIABLES".

open_tables
جداول باز را نمایش می دهد. منبع داده: "OPEN_TABLES".

page_statistics
آمار صفحه InnoDB را نمایش می دهد. منبع داده: "STATUS_VARIABLES".

pending_io
عملیات ورودی/خروجی معلق InnoDB را نمایش می دهد. منبع داده: "STATUS_VARIABLES".

لیست فرآیندها
فرآیندهای جاری MySQL (رشته ها/اتصالات) را نمایش می دهد. منبع داده: "PROCESSLIST".

q_header
مقادیر مختلف وضعیت را نمایش می دهد. منبع داده: "STATUS_VARIABLES".

row_operation_misc
داده های مربوط به عملیات ردیف InnoDB را نمایش می دهد. منبع داده: "STATUS_VARIABLES".

row_operations
داده های مربوط به عملیات ردیف InnoDB را نمایش می دهد. منبع داده: "STATUS_VARIABLES".

سمفورها
داده‌های مربوط به سمافورها و mutexeهای InnoDB را نمایش می‌دهد. منبع داده: "STATUS_VARIABLES".

slave_io_status
داده های مربوط به رشته ورودی/خروجی برده را نمایش می دهد. منبع داده: "STATUS_VARIABLES".

slave_sql_status
داده های مربوط به رشته SQL برده را نمایش می دهد. منبع داده: "STATUS_VARIABLES".

t_header
مقادیر مختلف وضعیت InnoDB را نمایش می دهد. منبع داده: "STATUS_VARIABLES".

var_status
داده های قابل تنظیم توسط کاربر را نمایش می دهد. منبع داده: "STATUS_VARIABLES".

Wait_array
اطلاعات مربوط به آرایه انتظار سیستم عامل InnoDB را نمایش می دهد. منبع داده: "OS_WAIT_ARRAY".

ستون ها
ستون ها متعلق به جداول هستند. می توانید با فشار دادن کلید '^' ستون های جدول را انتخاب کنید
"ویرایشگر جدول" را شروع می کند و به شما امکان می دهد ستون ها را انتخاب و ویرایش کنید. فشار دادن 'e' از داخل
ویرایشگر جدول به شما اجازه می دهد تا ویژگی های ستون را ویرایش کنید:

· hdr: سربرگ ستون. این در ردیف اول جدول ظاهر می شود.

· فقط: توجیه. '-' به معنای چپ موجه و '' به معنای راست توجیه شده است، همانطور که
با کدهای قالب بندی printf (تصادفی نیست).

· dec: آیا باید ستون را روی نقطه اعشار تراز کرد یا خیر.

· num: اینکه آیا ستون عددی است یا خیر. این بر نحوه مرتب‌سازی مقادیر (از لحاظ لغوی یا
به صورت عددی).

· برچسب: یک یادداشت کوچک در مورد ستون، که در گفتگوهایی که به کاربر کمک می کند ظاهر می شود
ستون ها را انتخاب کنید

· src: عبارتی که innotop برای استخراج داده های ستون از منبع آن استفاده می کند (نگاه کنید به
"منابع اطلاعات"). برای اطلاعات بیشتر در مورد عبارات به "Expressions" مراجعه کنید.

· minw: حداقل عرض نمایش را مشخص می کند. این به تثبیت نمایشگر کمک می کند
در صورت تغییر مکرر داده ها خواندن را آسان تر می کند.

· maxw: مشابه minw.

· trans: لیستی از تبدیل ستون. به "تحولات" مراجعه کنید.

· agg: یک تابع جمع. به "گروه بندی" مراجعه کنید. پیش فرض "اول" است.

· aggonly: کنترل می کند که آیا ستون فقط زمانی نمایش داده می شود که گروه بندی روی جدول فعال باشد
(به "گروه بندی" مراجعه کنید). به طور پیش فرض، این غیرفعال است. این بدان معناست که ستون ها همیشه خواهند بود
به طور پیش فرض نشان داده شده است، چه گروه بندی فعال باشد یا نه. اگر aggonly یک ستون تنظیم شده باشد
درست است، وقتی گروه بندی را روی جدول تغییر دهید، ستون ظاهر می شود. چندین ستون
به این ترتیب تنظیم می شوند، مانند ستون شمارش در "processlist" و "innodb_transactions"،
بنابراین وقتی گروه‌بندی فعال نیست، شمارشی را نمی‌بینید، اما زمانی که فعال است می‌بینید.

فیلتر
فیلترها ردیف ها را از صفحه نمایش حذف می کنند. آنها بسیار شبیه یک عبارت WHERE در SQL رفتار می کنند.
innotop چندین فیلتر داخلی دارد که اطلاعات نامربوط مانند غیر فعال را حذف می کند
پرس و جو، اما شما می توانید خود را نیز تعریف کنید. innotop همچنین به شما امکان می دهد فیلترهای سریع ایجاد کنید،
که در فایل پیکربندی ذخیره نمی شوند و فقط یک راه آسان برای مشاهده سریع هستند
فقط چند ردیف

شما می توانید یک فیلتر را در هر جدولی فعال یا غیرفعال کنید. کلید '%' را فشار دهید (یادداشت: % به نظر می رسد
مانند یک خط که بین دو دایره فیلتر می شود) و جدولی را که می خواهید انتخاب کنید
فیلتر، در صورت درخواست. سپس لیستی از فیلترهای ممکن و لیستی از فیلترها را مشاهده خواهید کرد
در حال حاضر برای آن جدول فعال است. نام فیلترهایی را که می خواهید اعمال کنید تایپ کنید و فشار دهید
را وارد کنید.

تعریف شده توسط کاربر فیلتر

اگر نامی را تایپ کنید که وجود ندارد، innotop از شما می خواهد که فیلتر را ایجاد کنید.
اگر پرل را بشناسید، ایجاد فیلترها آسان است و اگر بلد نباشید سخت نیست. کاری که شما انجام می دهید
در حال ایجاد یک زیربرنامه است که اگر ردیف باید نمایش داده شود، مقدار true را برمی گرداند. ردیف یک است
مرجع هش به عنوان $set به زیربرنامه شما ارسال شد.

به عنوان مثال، تصور کنید می‌خواهید جدول لیست فرآیند را فیلتر کنید تا فقط پرس و جوهایی را ببینید
بیش از پنج دقیقه اجرا شده است. یک نام جدید برای فیلتر خود و زمان تایپ کنید
برای ایجاد بدنه زیربرنامه، TAB را فشار دهید تا تکمیل خودکار پایانه شما آغاز شود.
نام ستون ها را در جدول "processlist" خواهید دید (innotop معمولا سعی می کند
به شما در مورد لیست های تکمیل خودکار کمک می کند). می‌خواهید روی ستون «زمان» فیلتر کنید. را تایپ کنید
زمانی که درخواست بیش از پنج دقیقه است، عبارت "$set->{time} > 300" را بنویسید تا true را برگردانید.
این تمام کاری است که باید انجام دهید.

به عبارت دیگر، کدی که تایپ می کنید توسط یک زمینه ضمنی احاطه شده است که به نظر می رسد
مثل این:

فیلتر فرعی {
من ($set) = @_;
# کد شما اینجاست
}

اگر فیلتر شما کار نمی کند، یا اگر چیز دیگری به طور ناگهانی متفاوت رفتار می کند، ممکن است
در فیلتر شما خطایی ایجاد کرده‌اند و innotop بی‌صدا در حال دریافت خطا است. تلاش كردن
فعال کردن «اشکال‌زدایی» برای ایجاد خطا در اینوتاپ.

فیلترهای سریع

فیلترهای سریع innotop یک میانبر برای ایجاد یک فیلتر موقت است که باقی نمی ماند
هنگامی که innotop را مجددا راه اندازی می کنید. برای ایجاد یک فیلتر سریع، کلید '/' را فشار دهید. innotop خواهد شد
نام ستون و متن فیلتر را از شما می خواهد. باز هم می توانید از تکمیل خودکار استفاده کنید
نام ستون ها متن فیلتر می تواند فقط متنی باشد که می خواهید "جستجو" کنید. برای
به عنوان مثال، برای فیلتر کردن جدول "processlist" در مورد جستارهایی که به جدول محصولات اشاره می کنند،
'/' و سپس 'info product' را تایپ کنید.

متن فیلتر در واقع می تواند هر عبارت منظم پرل باشد، اما البته تحت اللفظی
رشته ای مانند «محصول» به عنوان یک عبارت منظم به خوبی کار می کند.

پشت صحنه innotop فیلتر سریع را در یک فیلتر برچسب گذاری شده خاص کامپایل می کند
در غیر این صورت مانند هر فیلتر دیگری. فقط در فایل پیکربندی ذخیره نمی شود.

برای پاک کردن سریع فیلترها، کلید '\' را فشار دهید و innotop همه آنها را به یکباره پاک می کند.

مرتب سازی
innotop دارای پیش‌فرض‌های داخلی معقولی برای مرتب‌سازی مهم‌ترین ردیف‌ها به بالای صفحه است
جدول. مانند هر چیز دیگری در innotop، می‌توانید نحوه مرتب‌سازی هر جدول را سفارشی کنید.

برای شروع گفتگوی مرتب سازی، «ویرایشگر جدول» را با کلید «^» شروع کنید، اگر جدولی را انتخاب کنید
لازم است و کلید 's' را فشار دهید. فهرستی از ستون‌هایی را می‌بینید که می‌توانید در مرتب‌سازی استفاده کنید
عبارت و عبارت مرتب‌سازی فعلی، در صورت وجود. لیستی از ستون هایی را که توسط آنها استفاده می کنید وارد کنید
می خواهید مرتب کنید و Enter را فشار دهید. اگر می‌خواهید مرتب‌سازی معکوس کنید، پیشوند نام ستون را با a قرار دهید
علامت منفی به عنوان مثال، اگر می خواهید بر اساس ستون a صعودی مرتب کنید، سپس ستون b را مرتب کنید
نزولی، "a -b" را تایپ کنید. همچنین می توانید صریحاً یک + در جلوی ستون هایی که می خواهید اضافه کنید
صعودی مرتب کنید، اما لازم نیست.

برخی از حالت ها دارای کلیدهایی هستند که برای باز کردن مستقیم این گفتگو و برای معکوس کردن سریع مرتب سازی، نقشه برداری شده اند
جهت. مطبوعات '؟' طبق معمول ببینید کدام کلیدها در هر حالتی نقشه برداری می شوند.

گروه بندی
innotop می‌تواند ردیف‌ها را با هم گروه‌بندی یا تجمیع کند (اصطلاحات به جای یکدیگر استفاده می‌شوند). این
کاملاً شبیه یک بند SQL GROUP BY است. شما می توانید تعیین کنید که در ستون های خاص گروه بندی شوند،
یا اگر هیچ یک را مشخص نکنید، کل مجموعه ردیف ها به عنوان یک گروه در نظر گرفته می شود. این هست
کاملاً مانند SQL تاکنون، اما برخلاف SQL، می‌توانید ستون‌های گروه‌بندی نشده را نیز انتخاب کنید. innotop
در واقع هر ستون را جمع می کند. اگر به صراحت یک تابع گروه بندی را مشخص نکنید،
پیش فرض "اول" است. این اساساً یک راحتی است، بنابراین شما مجبور نیستید یک را مشخص کنید
تابع جمع برای هر ستونی که در نتیجه می خواهید.

می‌توانید به سرعت گروه‌بندی را روی یک جدول با کلید '=' تغییر دهید، که کل آن را تغییر می‌دهد
ویژگی. این ویژگی در فایل پیکربندی باقی نمی ماند.

ستون هایی که جدول توسط آنها گروه بندی می شود در ویژگی group_by آن مشخص شده است. چه زمانی
گروه بندی را روشن می کنید، innotop ستون های group_by را در سمت چپ جدول قرار می دهد،
حتی اگر قرار نباشد قابل مشاهده باشند. بقیه ستون های قابل مشاهده در ظاهر می شوند
بعد از آنها سفارش دهید

دو جدول دارای لیست های group_by پیش فرض و یک ستون شمارش هستند: "processlist" و
"innodb_transactions". گروه بندی بر اساس اتصال و وضعیت است، بنابراین می توانید به سرعت ببینید
تعداد پرس و جو یا تراکنش در یک وضعیت معین در هر سروری که نظارت می کنید وجود دارد.
ستون های زمان به صورت مجموع جمع می شوند. ستون های دیگر در پیش فرض "اول" باقی مانده اند
تجمع.

به طور پیش فرض، جدول نشان داده شده در حالت "S: Variables & Status" نیز از گروه بندی استفاده می کند تا بتوانید
نظارت بر متغیرها و وضعیت در بسیاری از سرورها. تابع تجمیع پیش فرض در
این حالت "متوسط" است.

توابع گروه بندی معتبر در هش %agg_funcs تعریف شده اند. شامل می شوند

اول
اولین عنصر در گروه را برمی گرداند.

تعداد دفعات مشاهده
تعداد عناصر موجود در گروه، از جمله عناصر تعریف نشده، بسیار شبیه به آن را برمی گرداند
COUNT (*) SQL.

avg میانگین عناصر تعریف شده در گروه را برمی گرداند.

sum مجموع عناصر گروه را برمی گرداند.

در اینجا نمونه ای از گروه بندی در محل کار آورده شده است. فرض کنید یک سرور بسیار شلوغ با صدها سرور دارید
از اتصالات باز است، و می خواهید ببینید چند اتصال در چه وضعیتی هستند. استفاده كردن
قوانین گروه بندی داخلی، می توانید 'Q' را فشار دهید تا وارد حالت "Q: Query List" شوید. '=' را فشار دهید
برای تغییر گروه بندی (در صورت لزوم، جدول "لیست فرآیند" را در صورت درخواست انتخاب کنید).

اکنون ممکن است نمایشگر شما به شکل زیر باشد:

فهرست جستجو (? برای کمک) localhost، 32:33، 0.11 QPS، 1 thd، 5.0.38-log

جستجوی زمان میزبان کاربر شناسه CXN Cmd Cnt
localhost Query 49 12933 webusr localhost 19:38 SELECT * FROM
localhost ارسال Da 23 2383 webusr localhost 12:43 col1 را انتخاب کنید،
localhost Sleep 120 140 webusr localhost 5:18:12
localhost آمار 12 19213 webusr localhost 01:19 SELECT * FROM

این در واقع یک تصویر کاملاً نگران کننده است. شما اتصالات بیکار زیادی دارید (خواب)،
و برخی از اتصالات اجرای پرس و جو (پرس و جو و ارسال داده). اشکالی نداره ولی تو
همچنین دارای مقدار زیادی در وضعیت آمار هستند، به طور جمعی بیش از یک دقیقه هزینه می کنند. یعنی
بهینه‌ساز پرس و جو در بهینه‌سازی عبارات شما بسیار سخت است. چیزی هست
اشتباه؛ معمولاً برای بهینه سازی پرس و جوها باید میلی ثانیه طول بکشد. شاید ندیده باشید
اگر به اتصالات خود به طور کلی نگاه نکنید، این الگو را مشاهده کنید. (این یک ساختگی است
به عنوان مثال، اما می تواند در زندگی واقعی رخ دهد).

چرخاندن
innotop می‌تواند یک جدول را برای نمایش فشرده‌تر، شبیه به Pivot Table در a، بچرخاند
صفحه گسترده (همچنین به عنوان زبانه متقاطع شناخته می شود). چرخش یک جدول، ستون ها را به ردیف تبدیل می کند. فرض
شما با این جدول شروع می کنید:

فوو بار
=== ===
1 3
2 4

پس از چرخش، جدول به شکل زیر در می آید:

نام set0 set1
==== ==== ====
فو 1 2
نوار 3 4

برای به دست آوردن نتایج معقول، ممکن است نیاز به گروه بندی و همچنین چرخش داشته باشید. innotop در حال حاضر
این کار را برای حالت "S: Variables & Status" انجام می دهد.

رنگ
به طور پیش‌فرض، innotop ردیف‌ها را با رنگ برجسته می‌کند تا بتوانید با یک نگاه ببینید کدام ردیف‌ها هستند.
مهمتر. شما می توانید قوانین رنگ آمیزی را سفارشی کنید و قوانین خود را به هر جدول اضافه کنید.
ویرایشگر جدول را با کلید '^' باز کنید، در صورت نیاز جدولی را انتخاب کنید و برای باز کردن 'o' را فشار دهید
گفتگوی ویرایشگر رنگ

گفتگوی ویرایشگر رنگ قوانین اعمال شده بر روی جدول را به ترتیبی که هستند نمایش می دهد
ارزیابی شد. هر ردیف در برابر هر قانون ارزیابی می شود تا ببینیم آیا این قانون با ردیف مطابقت دارد یا خیر. اگر
این کار را انجام می دهد، ردیف رنگ مشخص شده را دریافت می کند و هیچ قانون دیگری ارزیابی نمی شود. قوانین
به شکل زیر نگاه کنید:

حالت eq سیاه قفل شده on_red
cmd eq Sleep white
کاربر eq سیستم کاربر سفید
cmd eq سفید را وصل کنید
cmd eq Binlog Dump white
زمان > 600 قرمز
زمان > 120 زرد
زمان > 60 سبز
زمان > 30 فیروزه ای

این قانون پیش‌فرض تنظیم شده برای جدول «لیست فرآیندها» است. به ترتیب اولویت اینها
قوانین پرس‌و‌جوهای قفل‌شده را روی پس‌زمینه قرمز سیاه می‌کنند، اتصالات «خاکستری» را از آن می‌سازند
پرس‌و‌جوهای تکراری و خوابیده، و در حین اجرا کوئری‌ها را از فیروزه‌ای به قرمز تبدیل کنید
طولانی تر

(به دلایلی، کد رنگ ANSI "سفید" در واقع خاکستری روشن است. ترمینال شما
نمایش ممکن است متفاوت باشد. آزمایش کنید تا رنگ هایی را که دوست دارید بیابید).

می‌توانید از فشار دادن کلید برای بالا و پایین بردن قوانین استفاده کنید که اولویت آنها را دوباره مرتب می‌کند. شما
همچنین می تواند قوانین را حذف کرده و موارد جدید اضافه کند. اگر یک قانون جدید اضافه کنید، innotop از شما درخواست می کند
ستون، عملگر برای مقایسه، مقداری که ستون را با آن مقایسه کنیم،
و یک رنگ برای تخصیص در صورت مطابقت قانون. در هر کدام تکمیل خودکار و درخواست وجود دارد
گام.

مقدار در مرحله سوم باید به درستی نقل شود. innotop سعی نمی کند نقل قول کند
مقدار زیرا نمی داند که آیا باید مقدار را به عنوان یک رشته یا a در نظر بگیرد
عدد. اگر می خواهید ستون را با یک رشته مقایسه کنید، به عنوان مثال در مورد اول
قانون بالا، شما باید «قفل شده» را با نقل قول ها وارد کنید. اگر پیغام خطا دریافت کردید
در مورد یک کلمه بدون کلمه، احتمالاً باید چیزی را نقل می کردید.

اصطلاحات
عبارات هسته اصلی نحوه عملکرد innotop هستند و چیزی هستند که شما را قادر می‌سازد تا گسترش دهید
innotop همانطور که شما می خواهید. چرخه عمر جدول توضیح داده شده در "TABLES" را به یاد بیاورید. عبارات هستند
در اولین مرحله استفاده می شود، جایی که مقادیر را از منبع داده برای تشکیل ردیف ها استخراج می کند.

این کار را با فراخوانی یک زیربرنامه برای هر ستون، ارسال مجموعه داده منبع، a
مجموعه ای از مقادیر فعلی و مجموعه ای از مقادیر قبلی. اینها همه مورد نیاز هستند بنابراین
زیربرنامه می تواند مواردی مانند تفاوت بین این تیک و تیک قبلی را محاسبه کند
تیک

زیر روال هایی که داده ها را از مجموعه استخراج می کنند از عبارت ها کامپایل می شوند. این
به طور قابل توجهی قدرت بیشتری نسبت به نامگذاری مقادیر برای پر کردن ستون ها می دهد، زیرا این کار را انجام می دهد
اجازه می دهد تا مقدار ستون از هر داده ای که لازم است محاسبه شود، اما از آن اجتناب می کند
نیاز به نوشتن کد پرل پیچیده و طولانی است.

innotop با رشته ای از متن شروع می شود که می تواند به سادگی نام یک مقدار یا به نظر برسد
پیچیده به عنوان یک عبارت پرل کامل. به هر نشانه «بارکورد» در آن نگاه می کند
رشته و تصمیم می گیرد که آیا قرار است کلیدی در هش $set باشد یا خیر. یک کلمه بدون کلمه یک است
ارزش نقل‌نشده که قبلاً توسط چیزهای رمزی احاطه نشده است، مانند علائم دلار یا فرفری
براکت ها اگر innotop تصمیم بگیرد که bareword یک تابع یا کد معتبر Perl نیست،
آن را به یک دسترسی هش تبدیل می کند. پس از پردازش کل رشته، innotop کامپایل می شود
یک زیر برنامه، مانند این:

subcomute_column_value {
my ($set, $cur, $pre ) = @_;
my $val = # رشته گسترده به اینجا می رود
بازگشت $val;
}

در اینجا یک مثال عینی است که از جدول سرصفحه "q_header" در حالت "Q: Query List" گرفته شده است.
این عبارت qps یا Queries Per Second، مقادیر ستون را از روی محاسبه می کند
مقادیر برگردانده شده توسط SHOW STATUS:

Questions/Uptime_hires

innotop تصمیم می‌گیرد که هر دو کلمه بی‌کلمه هستند، و این عبارت را به کلمه تبدیل می‌کند
کد پرل زیر:

$set->{Questions}/$set->{Uptime_hires}

هنگامی که توسط بقیه کدهای زیر روال احاطه شده است، این Perl قابل اجرایی است
یک مقدار پرس و جو در هر ثانیه با وضوح بالا را محاسبه می کند.

آرگومان های زیربرنامه $set، $cur و $pre نام دارند. در بیشتر موارد، $set و
$cur همان مقادیر خواهد بود. با این حال، اگر "status_inc" تنظیم شود، $cur یکسان نخواهد بود
به عنوان $set، زیرا $set از قبل حاوی مقادیری است که تفاوت افزایشی هستند
بین $cur و $pre.

هر ستون در innotop توسط زیر روال هایی که به همان روش کامپایل شده اند محاسبه می شود. وجود دارد
تفاوتی بین ستون های داخلی innotop و ستون های تعریف شده توسط کاربر وجود ندارد. این نگه می دارد
چیزهای سازگار و قابل پیش بینی

دگرگونی ها
تبدیل ها نحوه ارائه یک مقدار را تغییر می دهند. به عنوان مثال، آنها می توانند تعدادی از
ثانیه و آن را با فرمت H:M:S نمایش دهید. تبدیل های زیر تعریف شده است:

متعهد شدن
هر سه رقم اعشار به اعداد بزرگ کاما اضافه می کند.

dulint_to_int
دو عدد صحیح بدون علامت را می پذیرد و آنها را به یک longlong تبدیل می کند. این هست
برای عملیات خاصی با InnoDB که از دو عدد صحیح به عنوان تراکنش استفاده می کند مفید است
برای مثال شناسه ها

no_ctrl_char
کاراکترهای کنترل نقل قول شده را از مقدار حذف می کند. این تحت تأثیر "مجموعه نویسه" است
متغیر پیکربندی

این تبدیل فقط در رشته های نقل قول شده عمل می کند، به عنوان مثال، مقادیر یک SET
بند در بیانیه UPDATE. بیانیه UPDATE را تغییر نمی دهد، اما تغییر می دهد
بسته به مجموعه نویسه، رشته نقل‌شده را به [دودویی] یا [TEXT] جمع کنید.

در صد
یک عدد را با ضرب در دو و قالب بندی آن به درصد به درصد تبدیل می کند
ارقام "num_digits" بعد از نقطه اعشار و به صورت اختیاری اضافه کردن علامت درصد (نگاه کنید به
"show_percent").

ses_to_time
چند ثانیه را به صورت زمان در روز+ساعت:دقیقه:ثانیه فرمت می کند.

تنظیم_دقت
اعداد را با تعداد ارقام "num_digits" بعد از نقطه اعشار قالب بندی می کند.

کوتاه کردن
یک عدد را به عنوان واحد 1024 (k/M/G/T) و با تعداد ارقام "num_digits" قالب بندی می کند.
بعد از نقطه اعشار

جدول تدوین
ویرایشگر جدول innotop به شما امکان می دهد جداول را با فشار دادن کلید سفارشی کنید. شما جدول را شروع می کنید
ویرایشگر با کلید '^'. اگر بیش از یک جدول روی صفحه وجود داشته باشد، از شما درخواست می کند
برای انتخاب یکی از آنها پس از انجام این کار، innotop چیزی شبیه به این را به شما نشان می دهد:

در حال ویرایش تعریف جدول برای Buffer Pool. مطبوعات ؟ برای کمک، q برای ترک.

نام hdr label src
cxn CXN اتصال که از آن cxn
buf_pool_size اندازه استخر بافر اندازه IB_bp_buf_poo
buf_free Free Bufs بافرهای رایگان در b IB_bp_buf_fre
pages_total صفحات مجموع صفحات IB_bp_pages_t
pages_modified صفحات کثیف صفحات اصلاح شده (IB_bp_pages_m کثیف
buf_pool_hit_rate نرخ ضربه نرخ ضربه استخر بافر IB_bp_buf_poo
total_mem_alloc حافظه مجموع حافظه اختصاص IB_bp_total_m
add_pool_alloc Add'l Pool استخر اضافی alloca IB_bp_add_poo

خط اول نشان می دهد که کدام جدول را در حال ویرایش هستید و دوباره به شما یادآوری می کند که "؟" را فشار دهید. برای یک
لیست نگاشت های کلیدی بقیه یک نمایش جدولی از ستون های جدول است،
زیرا احتمالاً این همان چیزی است که می خواهید ویرایش کنید. با این حال، شما می توانید بیش از فقط ویرایش کنید
ستون های جدول؛ این صفحه می تواند ویرایشگر فیلتر، ویرایشگر قوانین رنگ و موارد دیگر را راه اندازی کند.

هر ردیف در صفحه نمایش یک ستون را در جدولی که در حال ویرایش آن هستید به همراه یک نشان می دهد
چند ویژگی آن مانند سربرگ و عبارت منبع آن (به "EXPRESSIONS" مراجعه کنید).

نقشه برداری های کلیدی مانند بسیاری از مکان های دیگر به سبک Vim هستند. با فشار دادن 'j' و 'k' حرکت می کند
هایلایت کردن به بالا یا پایین سپس می توانید ستون هایلایت شده را (d) حذف یا (e) ویرایش کنید. تو می توانی
همچنین (الف) یک ستون به جدول اضافه کنید. این در واقع فقط یکی از ستون ها را فعال می کند
برای جدول تعریف شده است. از شما می خواهد که از بین ستون های موجود انتخاب کنید اما نه
در حال حاضر نمایش داده شده است. در نهایت، می توانید ستون ها را با کلیدهای '+' و '-' دوباره مرتب کنید.

شما می توانید بیشتر از ویرایش ستون ها با ویرایشگر جدول انجام دهید، همچنین می توانید سایر ستون ها را ویرایش کنید
خواص، مانند عبارت مرتب سازی جدول و عبارت گروه به. مطبوعات '؟' دیدن
البته لیست کامل

اگر می خواهید واقعاً ستون خود را سفارشی کرده و ایجاد کنید، نه فقط فعال کردن
یک داخلی که در حال حاضر نمایش داده نمی شود، کلید (n)ew را فشار دهید و innotop خواهد شد
اطلاعات مورد نیاز خود را از شما درخواست می کند:

· نام ستون: این باید یک کلمه بدون هیچ گونه شخصیت خنده دار باشد، به عنوان مثال فقط
حروف، اعداد و زیرخط

· سرصفحه ستون: این برچسبی است که در بالای ستون ظاهر می شود
هدر جدول این می تواند فضاها و شخصیت های خنده دار داشته باشد، اما مراقب باشید که ایجاد نکنید
بیش از حد گسترده است و فضای روی صفحه را تلف می کند.

· منبع داده ستون: این عبارتی است که تعیین می کند چه داده هایی از ستون
منبع (به "جدول" مراجعه کنید) innotop را در ستون قرار خواهد داد. این فقط می تواند نام آن باشد
یک مورد در منبع، یا می تواند یک عبارت پیچیده تر باشد، همانطور که در توضیح داده شده است
"اصطلاحات".

هنگامی که داده های مورد نیاز را وارد کردید، جدول شما دارای یک ستون جدید است. وجود ندارد
تفاوت بین این ستون و ستون های داخلی؛ می تواند تمام ویژگی های یکسانی داشته باشد
و رفتارها innotop تعریف ستون را در فایل پیکربندی می نویسد، بنابراین
در تمام جلسات ادامه خواهد داشت.

در اینجا یک مثال آورده شده است: فرض کنید می‌خواهید تعداد دفعاتی را که برده‌های شما دوباره تلاش کرده‌اند را پیگیری کنید
معاملات طبق دفترچه راهنمای MySQL، وضعیت Slave_retried_transactions
متغیر آن داده را به شما می دهد: "تعداد کل دفعاتی که از زمان راه اندازی که
Replication Slave نخ SQL تراکنش ها را دوباره امتحان کرده است. این متغیر در نسخه اضافه شد
5.0.4." برای اضافه کردن به جدول "slave_sql_status" مناسب است.

برای افزودن ستون، با کلید "M" به حالت نظارت بر تکرار بروید و فشار دهید
کلید '^' برای شروع ویرایشگر جدول. وقتی از شما خواسته شد، slave_sql_status را به عنوان علامت انتخاب کنید
جدول، سپس 'n' را فشار دهید تا ستون ایجاد شود. به عنوان نام ستون، "Retries" را تایپ کنید، "Retries"
به عنوان سربرگ ستون و 'Slave_retried_transactions' به عنوان منبع. اکنون ستون است
ایجاد شد و دوباره صفحه ویرایشگر جدول را مشاهده می کنید. برای خروج از ویرایشگر جدول 'q' را فشار دهید،
و ستون خود را در انتهای جدول خواهید دید.

متغیر SETS


مجموعه متغیرها در حالت "S: Variables & Status" استفاده می شود تا راحت تر تعریف شود
متغیرهایی که می خواهید نظارت کنید در پشت صحنه آنها به لیستی از
عبارات، و سپس در یک لیست ستونی به طوری که می توان آنها را درست مانند ستون های هر مورد رفتار کرد
جدول دیگر از نظر استخراج و تبدیل داده ها. با این حال، شما محافظت می‌شوید
از جزئیات خسته کننده توسط یک نحو که باید برای شما بسیار طبیعی باشد: یک SQL SELECT
فهرست

منبع داده برای مجموعه های متغیر، و در واقع کل حالت S، ترکیبی از
نمایش وضعیت، نمایش متغیرها و نمایش وضعیت INNODB. تصور کنید که یک میز بزرگ دارید
با یک ستون به ازای هر متغیر برگردانده شده از آن عبارات. این منبع داده است
مجموعه های متغیر اکنون می توانید همانطور که انتظار دارید از این منبع داده پرس و جو کنید. مثلا:

سوالات، زمان آپدیت، سوالات/آپ تایم به عنوان QPS

پشت صحنه innotop مجموعه متغیر را به سه عبارت تقسیم می کند، کامپایل
آنها را تبدیل کنید و آنها را به یک تعریف جدول تبدیل کنید، سپس طبق معمول استخراج کنید. این می شود a
"مجموعه متغیر" یا "لیستی از متغیرهایی که می خواهید نظارت کنید."

innotop به شما امکان می دهد مجموعه های متغیر خود را نامگذاری و ذخیره کنید و آنها را در پیکربندی بنویسید
فایل. می‌توانید با کلید c انتخاب کنید که کدام مجموعه متغیر را ببینید یا آن را فعال کنید
مجموعه های بعدی و قبلی با کلیدهای ">" و "<". مجموعه های متغیر داخلی زیادی وجود دارد
همچنین، که باید شروع خوبی برای ایجاد خود به شما بدهد. برای ویرایش "e" را فشار دهید
مجموعه متغیر فعلی، یا فقط برای دیدن اینکه چگونه تعریف شده است. برای ایجاد یک مورد جدید، فقط فشار دهید
c و نام آن را تایپ کنید.

ممکن است بخواهید از برخی از توابع فهرست شده در "TRANSFORMATIONS" برای کمک به قالب بندی استفاده کنید
نتایج. به طور خاص، "set_precision" اغلب برای محدود کردن تعداد ارقام شما مفید است
دیدن. با تعمیم مثال بالا، به این صورت است:

Questions، Uptime، set_precision (Questions/Uptime) به عنوان QPS

در واقع، این هنوز به کمی کار بیشتر نیاز دارد. اگر «فاصله» شما کمتر از یک باشد
دوم، ممکن است شما را بر صفر تقسیم کنید، زیرا Uptime در این حالت افزایشی است بر
پیش فرض در عوض، از Uptime_hires استفاده کنید:

Questions، Uptime، set_precision (Questions/Uptime_hires) به عنوان QPS

این مثال ساده است، اما نشان می دهد که انتخاب متغیرهایی که می خواهید چقدر آسان است
مانیتور

پلاگین


innotop دارای یک مکانیسم پلاگین ساده اما قدرتمند است که توسط آن می توانید آن را گسترش یا تغییر دهید
قابلیت های موجود و افزودن قابلیت های جدید. قابلیت افزونه innotop است
مبتنی بر رویداد: افزونه‌ها خود را ثبت می‌کنند تا در هنگام وقوع رویدادها فراخوانی شوند. آنها سپس دارند
فرصتی برای تأثیرگذاری بر رویداد

پلاگین innotop یک ماژول Perl است که در فهرست "plugin_dir" innotop قرار می گیرد. در یونیکس
سیستم ها، می توانید به جای قرار دادن فایل واقعی، یک پیوند نمادین به ماژول قرار دهید
آنجا. innotop به طور خودکار فایل را کشف می کند. اگر ورودی مربوطه در آن وجود داشته باشد
بخش فایل پیکربندی "plugins"، innotop افزونه را بارگیری و فعال می کند.

ماژول باید با رابط پلاگین innotop مطابقت داشته باشد. علاوه بر این، کد منبع از
ماژول باید به گونه ای نوشته شود که innotop بتواند فایل را بررسی کرده و تعیین کند
نام بسته و توضیحات

بسته منبع قرارداد
innotop منبع ماژول پلاگین را بررسی می کند تا نام بسته Perl را تعیین کند. به نظر می رسد
برای یک خط از فرم "package Foo;" و در صورت یافتن، نام بسته افزونه را در نظر می گیرد
فوو باش البته نام بسته می تواند یک نام پکیج معتبر Perl با double باشد
نقطه ویرگول و غیره

همچنین به دنبال توضیحاتی در کد منبع می‌گردد تا ویرایشگر افزونه را انسانی‌تر کند.
مهربان. توضیحات یک خط نظر از فرم "# description: Foo" است، جایی که "Foo"
متنی است که innotop به عنوان توضیحات افزونه در نظر گرفته می شود.

پلاگین رابط
رابط پلاگین innotop بسیار ساده است: innotop انتظار دارد که افزونه یک شی باشد-
ماژول oriented می تواند متدهای خاصی را فراخوانی کند. روش ها هستند

جدید (% متغیر)
این سازنده افزونه است. یک هش از متغیرهای innotop ارسال می شود که
می تواند دستکاری کند (به "متغیرهای پلاگین" مراجعه کنید). باید یک ارجاع به جدید را برگرداند
شی پلاگین ایجاد کرد.

در زمان ساخت، innotop فقط پیکربندی کلی را بارگیری کرده و ایجاد کرده است
متغیرهای داخلی پیش فرض با محتویات پیش فرض آنها (که بسیار زیاد است).
بنابراین، وضعیت برنامه دقیقاً مانند کد منبع innotop است، به علاوه
متغیرهای پیکربندی از بخش "عمومی" در فایل پیکربندی.

اگر افزونه شما متغیرها را دستکاری کند، داده های جهانی را تغییر می دهد که به اشتراک گذاشته می شود
توسط innotop و همه افزونه ها. پلاگین ها به ترتیبی که در فهرست قرار گرفته اند بارگذاری می شوند
فایل پیکربندی افزونه شما ممکن است قبل یا بعد از افزونه دیگری بارگیری شود، بنابراین وجود دارد
اگر افزونه ها داده های دیگر را تغییر دهند، احتمال تضاد یا تعامل بین افزونه ها وجود دارد
پلاگین ها استفاده می کنند یا تغییر می دهند.

register_for_events()
این روش باید فهرستی از رویدادهایی را که افزونه به آنها علاقه مند است، در صورت وجود، برگرداند.
برای رویدادهای تعریف شده به "رویدادهای افزونه" مراجعه کنید. اگر افزونه رویدادی را برگرداند که اینطور نیست
تعریف شده، رویداد نادیده گرفته می شود.

برگزار کنندگان رویداد
افزونه باید روشی را به نام هر رویدادی که برای آن در نظر گرفته است پیاده سازی کند
ثبت شده است. به عبارت دیگر، اگر افزونه qw (foo bar) را از
register_for_events()، باید داشته باشد فو () و بار() مواد و روش ها. این روش ها هستند
تماس ها برای رویدادها برای جزئیات بیشتر در مورد هر رویداد به "رویدادهای افزونه" مراجعه کنید.

پلاگین متغیر
سازنده پلاگین یک هش از متغیرهای innotop ارسال می شود که می تواند آنها را دستکاری کند.
اگر شیء افزونه یک کپی از آن را برای استفاده بعدی ذخیره کند، احتمالاً ایده خوبی است. را
متغیرها در متغیر innotop %pluggable_vars تعریف شده‌اند و به شرح زیر هستند:

اقدام_برای
هشرف نگاشت های کلیدی. اینها کلیدهای داغ جهانی innotop هستند.

agg_funcs
هشرفی از توابع که می تواند برای گروه بندی استفاده شود. به "گروه بندی" مراجعه کنید.

پیکربندی
هش پیکربندی جهانی

اتصالات
هشرف مشخصات اتصال. اینها فقط مشخصات نحوه انجام آن هستند
به یک سرور متصل شوید

dbhs
یک هشرف از اتصالات پایگاه داده innotop. اینها اشیاء اتصال DBI واقعی هستند.

فیلترها برای تصفیه آب
هشرف از فیلترهای اعمال شده در ردیف های جدول. برای اطلاعات بیشتر به "فیلترها" مراجعه کنید.

حالت های
هشرف از حالت ها. برای اطلاعات بیشتر به "MODES" مراجعه کنید.

سرور_گروه ها
هشرف گروه های سرور. به "گروه های سرور" مراجعه کنید.

tbl_meta
یک هشرف از متا داده های جدول innotop، با یک ورودی در هر جدول (به "جدول ها" مراجعه کنید
اطلاعات بیشتر).

trans_funcs
هشرف توابع تبدیل. به "تحولات" مراجعه کنید.

var_sets
هشرف از مجموعه های متغیر. به "مجموعه های متغیر" مراجعه کنید.

پلاگین رویدادها
هر رویداد در جایی در کد منبع innotop تعریف شده است. وقتی innotop آن کد را اجرا می کند،
تابع callback را برای هر افزونه ای که علاقه خود را به آن ابراز کرده است، اجرا می کند
رویداد. innotop مقداری داده را برای هر رویداد ارسال می کند. وقایع در تعریف شده است
متغیر %event_listener_for و به شرح زیر است:

extract_values ​​($set، $cur، $pre، $tbl)
این رویداد در داخل تابعی رخ می دهد که مقادیر را از یک منبع داده استخراج می کند. را
آرگومان ها مجموعه ای از مقادیر، مقادیر فعلی، مقادیر قبلی و
نام جدول

set_to_tbl
رویدادها در بسیاری از نقاط این زیربرنامه تعریف شده اند که وظیفه چرخش را بر عهده دارد
آرایه ای از hashref ها به آرایه ای از خطوط که می تواند روی صفحه چاپ شود.
رویدادها همه داده‌های یکسانی را ارسال می‌کنند: آرایه‌ای از ردیف‌ها و نام جدول موجود
ایجاد شده. رویدادها set_to_tbl_pre_filter هستند،
set_to_tbl_pre_sort، set_to_tbl_pre_group، set_to_tbl_pre_colorize،
set_to_tbl_pre_transform، set_to_tbl_pre_pivot، set_to_tbl_pre_create،
set_to_tbl_post_create.

draw_screen ($lines)
این رویداد در زیربرنامه ای رخ می دهد که خطوط را روی صفحه چاپ می کند. خطوط $
آرایه ای از رشته ها است.

ساده پلاگین مثال
ساده ترین راه برای توضیح عملکرد افزونه احتمالاً با یک مثال ساده است.
ماژول زیر یک ستون به ابتدای هر جدول اضافه می کند و مقدار آن را روی آن قرار می دهد
1.

سخت استفاده کنید
استفاده از هشدارها FATAL => 'همه';

بسته Innotop::Plugin::Example;
# توضیحات: یک ستون "مثال" را به هر جدول اضافه می کند

زیر جدید {
my ( $class, %vars ) = @_;
# مرجع به متغیرهای innotop در $self ذخیره شود
my $self = bless { %vars }, $class;

# ستون نمونه را طراحی کنید
من $col = {
hdr => 'مثال'،
فقط => ''،
دسامبر => 0،
تعداد => 1،
label => 'مثال'،
src => 'مثال'، # داده ها را از این ستون در منبع داده دریافت کنید
tbl => ''،
trans => []،
};

# ستون را به هر جدول اضافه کنید.
$tbl_meta = $vars{tbl_meta};
foreach my $tbl ( مقادیر %$tbl_meta ) {
# ستون را به لیست ستون های تعریف شده اضافه کنید
$tbl->{cols}->{example} = $col;
# ستون را به لیست ستون های قابل مشاهده اضافه کنید
unshift @{$tbl->{visible}}، 'example';
}

# حتماً یک مرجع به شی برگردانید.
بازگشت $self;
}

# وقتی یک مجموعه داده در حال تبدیل به جدول است، لطفاً با من تماس گرفته شود.
sub register_for_events {
من ( $self ) = @_;
بازگشت qw(set_to_tbl_pre_filter);
}

# این متد زمانی که رویداد فعال می شود فراخوانی می شود.
subset_to_tbl_pre_filter {
my ($self, $rows, $tbl ) = @_;
# منبع داده ستون مثال را روی مقدار 1 تنظیم کنید.
پیش از ردیف $ من ( @$rows ) {
$row->{example} = 1;
}
}

1;

پلاگین ویرایشگر
ویرایشگر افزونه به شما امکان می‌دهد افزونه‌های کشف شده را مشاهده کنید و آن‌ها را فعال یا غیرفعال کنید
آنها ویرایشگر را با فشار دادن $ شروع کنید تا ویرایشگر پیکربندی از هر حالتی شروع شود.
برای شروع ویرایشگر افزونه، کلید 'p' را فشار دهید. لیستی از افزونه های innotop را مشاهده خواهید کرد
کشف شده. می توانید از کلیدهای 'j' و 'k' برای جابجایی هایلایت به مورد دلخواه استفاده کنید.
سپس کلید * را فشار دهید تا فعال یا غیرفعال شود. از ویرایشگر خارج شده و innotop را مجددا راه اندازی کنید
برای تغییرات به تأخیر افتاده است.

SQL بیانیه


innotop از مجموعه محدودی از دستورات SQL برای بازیابی داده ها از MySQL برای نمایش استفاده می کند. در
عبارات بسته به نسخه سروری که در برابر آن اجرا می شوند سفارشی می شوند.
برای مثال، در MySQL 5 و جدیدتر، INNODB_STATUS "SHOW ENGINE INNODB STATUS" را اجرا می کند.
در حالی که در نسخه های قبلی "Show INNODB STATUS" را اجرا می کند. بیانیه ها به این صورت است
به شرح زیر است:

بیانیه SQL اجرا شد
=================================================
INNODB_STATUS SHOW [موتور] وضعیت INNODB
KILL_CONNECTION KILL
KILL_QUERY KILL QUERY
OPEN_TABLES نمایش جداول باز
فهرست فرآیند نمایش فهرست کامل فرآیندها
SHOW_MASTER_LOGS گزارش های اصلی را نشان دهید
SHOW_MASTER_STATUS SHOW MASTER STATUS
SHOW_SLAVE_STATUS نشان دادن وضعیت برده
SHOW_STATUS نشان دادن وضعیت [جهانی]
SHOW_VARIABLES SHOW [GLOBAL] VARIABLES

داده ها منابع


هر بار که innotop مقادیری را برای ایجاد جدول استخراج می کند (به «EXPRESSIONS» و «TABLES» مراجعه کنید)،
این کار را از یک منبع داده خاص انجام می دهد. عمدتاً به دلیل داده های پیچیده استخراج شده از
نشان دادن وضعیت INNODB، این وضعیت کمی کثیف است. SHOW INNODB STATUS حاوی ترکیبی از
مقادیر منفرد و مقادیر تکراری که مجموعه داده های تودرتو را تشکیل می دهند.

هر زمان که innotop داده ها را از MySQL واکشی می کند، دو بیت اضافی به هر مجموعه اضافه می کند: cxn و
Uptime_hires. cxn نام اتصالی است که داده ها از آن آمده اند. Uptime_hires
یک نسخه با وضوح بالا از متغیر وضعیت Uptime سرور است که اگر مهم است
تنظیم "فاصله" شما زیر دوم است.

در اینجا انواع منابع داده ای که داده ها از آنها استخراج می شود آورده شده است:

STATUS_VARIABLES
این گسترده ترین دسته است که بیشترین انواع داده ها در آن قرار می گیرند. آغاز می شود
ترکیبی از SHOW STATUS و SHOW VARIABLES، اما ممکن است منابع دیگری نیز گنجانده شوند
در صورت نیاز، برای مثال، نشان دادن وضعیت استاد و نشان دادن وضعیت برده، و همچنین بسیاری از موارد
مقادیر تکرار نشده از SHOW INNODB STATUS.

DEADLOCK_LOCKS
این داده ها از لیست تراکنش در آخرین بن بست شناسایی شده استخراج می شوند
بخش نمایش وضعیت INNODB. آن را در دو سطح عمیق تو در تو: تراکنش، سپس
قفل می کند

DEADLOCK_TRANSACTIONS
این داده ها از لیست تراکنش در بخش LATEST DETECTED DEADLOCK SHOW هستند
وضعیت INNODB. در عمق یک سطح تو در تو قرار گرفته است.

توضیح
این داده ها از مجموعه نتایج بازگردانده شده توسط EXPLAIN است.

INNODB_TRANSACTIONS
این داده ها از بخش تراکنش های SHOW INNODB STATUS است.

IO_THREADS
این داده ها از لیست رشته های موجود در بخش FILE I/O SHOW INNODB است.
وضعیت.

INNODB_LOCKS
این داده از بخش TRANSACTIONS SHOW INNODB STATUS است و تو در تو دو است.
سطوح عمیق

OPEN_TABLES
این داده ها از SHOW OPEN TABLES است.

فهرست فرآیندها
این داده از SHOW FULL PROCESSLIST است.

OS_WAIT_ARRAY
این داده از بخش SEMAPHORES SHOW INNODB STATUS است و در یک سطح تودرتو است.
عمیق از خطوطی می آید که به این شکل است:

-- تاپیک 1568861104 در خط 0 btr424cur.c منتظر مانده است ....

MySQL امتیازات


· شما باید به عنوان کاربری که دارای امتیاز SUPER برای بسیاری از کاربران است به MySQL متصل شوید
توابع.

· اگر امتیاز SUPER را ندارید، همچنان می توانید برخی از توابع را اجرا کنید، اما این کار را نخواهید کرد.
لزوماً همه داده های یکسان را ببینید.

· برای مشاهده لیست درخواست های در حال اجرا در حالت Q به امتیاز PROCESS نیاز دارید.

· برای راه اندازی و توقف سرورهای برده نیاز به امتیازات ویژه ای دارید.

· برای ایجاد و رها کردن جداول بن بست در صورت نیاز به امتیازات مناسب نیاز دارید (نگاه کنید به
"اتصالات سرور").

SYSTEM الزامات


البته برای اجرای innotop به Perl نیاز دارید. شما همچنین به چند ماژول Perl نیاز دارید: DBI،
DBD::mysql، Term::ReadKey، و Time::HiRes. اینها باید در بیشتر پرل گنجانده شوند
توزیع‌ها، اما در صورت عدم وجود، توصیه می‌کنم از نسخه‌های توزیع شده با شما استفاده کنید
سیستم عامل یا توزیع پرل، نه از CPAN. اصطلاح:: ReadKey به طور خاص دارد
شناخته شده است که در صورت نصب از CPAN باعث ایجاد مشکل می شود.

اگر Term::ANSIColor دارید، innotop از آن برای قالب‌بندی هدرها با خوانایی بیشتر استفاده می‌کند
فشرده (در ویندوز مایکروسافت، شما همچنین به Win32::Console::ANSI برای ترمینال نیاز دارید
کدهای قالب بندی مورد احترام). اگر Term::ReadLine را نصب کنید، ترجیحا
اصطلاح::ReadLine::Gnu، از تکمیل خودکار پشتیبانی خوبی دریافت خواهید کرد.

من innotop را روی جنتو گنو/لینوکس، دبیان و اوبونتو اجرا می‌کنم و بازخوردهایی از مردم داشتم.
با موفقیت آن را روی Red Hat، CentOS، Solaris و Mac OSX اجرا کرد. دلیلی نمی بینم
چرا روی سایر سیستم عامل های یونیکس کار نمی کند، اما من مطمئناً نمی دانم. آن را نیز
بدون مشکل روی ویندوز تحت ActivePerl اجرا می شود.

innotop در نسخه های MySQL 3.23.58، 4.0.27، 4.1.0، 4.1.22، 5.0.26، 5.1.15 استفاده شده است.
و 5.2.3. اگر به درستی برای شما اجرا نمی شود، این یک اشکال است که باید گزارش شود.

با استفاده از خدمات onworks.net از innotop آنلاین استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

  • 1
    فازر
    فازر
    Phaser یک باز سریع، رایگان و سرگرم کننده است
    منبع چارچوب بازی HTML5 که ارائه می دهد
    WebGL و Canvas Rendering در سراسر
    مرورگرهای وب دسکتاپ و موبایل بازی ها
    می تواند با ...
    دانلود فازر
  • 2
    موتور VASSAL
    موتور VASSAL
    VASSAL یک موتور بازی برای ایجاد است
    نسخه های الکترونیکی تخته سنتی
    و بازی های کارتی پشتیبانی می کند
    رندر و تعامل قطعه بازی،
    و ...
    دانلود VASSAL Engine
  • 3
    OpenPDF - Fork of iText
    OpenPDF - Fork of iText
    OpenPDF یک کتابخانه جاوا برای ایجاد است
    و ویرایش فایل های PDF با LGPL و
    مجوز منبع باز MPL. OpenPDF است
    LGPL/MPL جانشین منبع باز iText،
    و ...
    OpenPDF - Fork of iText را دانلود کنید
  • 4
    GIS SAGA
    GIS SAGA
    SAGA - سیستم برای خودکار
    تجزیه و تحلیل جغرافیایی - یک جغرافیا است
    نرم افزار سیستم اطلاعات (GIS) با
    قابلیت های بسیار زیاد برای داده های جغرافیایی
    پردازش و آنا...
    دانلود SAGA GIS
  • 5
    جعبه ابزار برای جاوا/JTOpen
    جعبه ابزار برای جاوا/JTOpen
    جعبه ابزار IBM برای جاوا / JTOpen یک است
    کتابخانه کلاس های جاوا که از
    کلاینت/سرور و برنامه نویسی اینترنتی
    مدل های سیستمی که دارای OS/400 است،
    i5/OS، o...
    جعبه ابزار را برای جاوا/JTOpen دانلود کنید
  • 6
    D3.js
    D3.js
    D3.js (یا D3 برای اسناد داده محور)
    یک کتابخانه جاوا اسکریپت است که به شما اجازه می دهد
    برای تولید داده های پویا و تعاملی
    تجسم در مرورگرهای وب با D3
    شما...
    D3.js را دانلود کنید
  • بیشتر "

دستورات لینوکس

Ad