англійськафранцузькаіспанська

Ad


Значок OnWorks

innotop - Інтернет у хмарі

Запустіть innotop у постачальника безкоштовного хостингу OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда innotop, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн емулятор Windows або онлайн емулятор MAC OS

ПРОГРАМА:

ІМ'Я


innotop - монітор транзакцій/статусу MySQL та InnoDB.

СИНТАКСИС


Для нормального моніторингу серверів:

невинний

Щоб відстежувати інформацію про стан InnoDB з файлу:

innotop /var/log/mysql/mysqld.err

Щоб запустити innotop в неінтерактивному режимі в конфігурації каналів і фільтрів:

innotop --count 5 -d 1 -n

Щоб відстежувати базу даних в іншій системі за допомогою певного імені користувача та пароля:

іннотоп -у -стр -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 Slow QCacheHit KCacheHit BpsIn BpsOut
localhost Разом 0.00 1.07k 697 0.00% 98.17% 476.83k 242.83k

CXN Cmd ID Користувач Хост БД Запит часу
localhost Запит 766446598 тест 10.0.0.1 foo 00:02 INSERT INTO table (

(Цей зразок обрізаний праворуч, тому він поміститься на терміналі під час запуску 'man
innotop')

Якщо ваш сервер зайнятий, ви побачите більше результатів. Зверніть увагу на перший рядок на екрані,
який повідомляє вам, що тільки для читання встановлено значення true ([RO]), у якому режимі ви перебуваєте і який сервер
ви підключені до. Ви можете переходити на інші режими натисканням клавіш; натисніть "T", щоб переключитися
до списку транзакцій InnoDB, наприклад.

Натисніть "?" щоб побачити, які клавіші активні в поточному режимі. Ви можете натиснути будь-який з
ці клавіші та innotop або виконають потрібну дію, або запропонують ввести додаткові дані.
Якщо ваша система підтримує Term::ReadLine, ви можете використовувати TAB та інші клавіші для автозаповнення
та редагувати введені дані.

Щоб вийти з innotop, натисніть клавішу 'q'.

ВАРІАНТИ


innotop в основному налаштовується через його файл конфігурації, але деякі з конфігурацій
параметри можуть надходити з командного рядка. Ви також можете вказати файл для моніторингу InnoDB
виведення стану; див. «МОНІТОРИНГ ФАЙЛУ» для більш детальної інформації.

Ви можете скасувати деякі параметри, додавши до назви параметра префікс --no. Наприклад, --noinc
(або --no-inc) заперечує "--inc".

-колір
Увімкнути або вимкнути фарбування терміналів. Відповідає налаштуванням конфігураційного файлу "колір".

--config
Визначає файл конфігурації для читання. Цей варіант не липкий, тобто так
не зберігається в самому файлі конфігурації.

--рахувати
Оновіть лише вказану кількість разів (галочків) перед виходом. Кожне оновлення є а
пауза на "інтервал" секунд, після чого запит даних із з'єднань MySQL і
роздрукувати його в терміналі.

--затримка
Визначає кількість часу для паузи між галочками (оновленнями). Відповідає на
параметр конфігурації «інтервал».

--допомога
Роздрукуйте підсумок використання командного рядка та вийдіть.

--господар
Хост для підключення.

--inc
Вказує, чи має innotop відображати абсолютні чи відносні числа (зміщення
від їх попередніх значень). Відповідає параметру конфігурації "status_inc".

--режим
Вказує режим, у якому має запускатися innotop. Відповідає конфігурації
опція «режим».

--неприємне
Увімкнути неінтерактивну роботу. Додаткову інформацію див. у розділі «НЕІНТЕРАКТИВНА ОПЕРАЦІЯ».

--пароль
Пароль для підключення.

--порт
Порт для підключення.

--skipcentral
Не читайте центральний файл конфігурації.

--користувач
Користувач для підключення.

-- версія
Вивести інформацію про версію та вийти.

--пиши
Встановлює параметр конфігурації "лише для читання" на 0, змушуючи innotop записувати запущений
конфігурація до ~/.innotop/innotop.conf при виході, якщо конфігураційний файл не завантажено
при запуску.

ГОРЯЧІ КЛЮЧІ


innotop є інтерактивним, і ви керуєте ним за допомогою натискання клавіш.

· Клавіші у верхньому регістрі перемикаються між режимами.

· Клавіші малого регістру ініціюють певну дію в поточному режимі.

· Інші клавіші роблять щось особливе, наприклад змінюють конфігурацію або показують ліцензію innotop.

Натисніть "?" в будь-який час, щоб побачити активні ключі та їх функції.

РЕЖИМИ


Кожен із режимів innotop отримує та відображає певний тип даних із серверів
ви контролюєте. Ви перемикаєтеся між режимами за допомогою клавіш верхнього регістру. Нижче наведено а
короткий опис кожного режиму в алфавітному порядку. Щоб перейти в режим, натисніть
ключ, зазначений перед його заголовком у наступному списку:

B: Буфери InnoDB
Цей режим відображає інформацію про пул буферів InnoDB, статистику сторінки, вставку
буфер та адаптивний хеш-індекс. Дані надходять із SHOW INNODB STATUS.

Цей режим містить "buffer_pool", "page_statistics", "insert_buffers" і
таблиці "adaptive_hash_index" за замовчуванням.

C: Підсумок команди
Цей режим подібний до режиму зведення команд mytop. Він показує "cmd_summary"
таблиця, яка виглядає приблизно так:

Підсумок команд (? для допомоги) localhost, 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
Цей режим показує статистику вводу-виводу InnoDB, включаючи потоки вводу-виводу, очікування введення-виводу, файл
Різне введення-виведення та статистика журналів. Він відображає "io_threads", "pending_io",
таблиці "file_io_misc" і "log_statistics" за замовчуванням.

Л: Замки
Цей режим показує інформацію про поточні блокування. На даний момент є лише блокування InnoDB
підтримується, і за замовчуванням ви побачите лише блокування, на які чекають транзакції.
Ця інформація надходить з розділу TRANSACTIONS тексту статусу InnoDB. Якщо
у вас дуже зайнятий сервер, можливо, у вас часті очікування блокування; це допомагає вміти
подивіться, які таблиці та індекси є «гарячою точкою» для блокування. Якщо ваш сервер працює
добре, цей режим не повинен показувати нічого.

Ви можете налаштувати MySQL та innotop для моніторингу не тільки блокувань, для яких виконується транзакція
чекає, але й ті, що наразі утримуються. Ви можете зробити це за допомогою InnoDB Lock
Монітор (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 __________________________
CXN ID Тип Очікування Очікування Активний режим DB Table Index
localhost 12 RECORD 1 00:10 00:10 X test t1 PRIMARY
localhost 12 ТАБЛИЦЯ 0 00:10 00:10 IX тест t1
localhost 12 RECORD 1 00:10 00:10 X test t1 PRIMARY
localhost 11 ТАБЛИЦЯ 0 00:00 00:25 IX тест t1
localhost 11 RECORD 0 00:00 00:25 X test t1 PRIMARY

Ви можете побачити, що перше з’єднання, ID 12, очікує блокування ПЕРВИННОГО ключа
test.t1 і чекає 10 секунд. Друге з'єднання не чекає,
тому що стовпець Waiting дорівнює 0, але він містить блокування на тому самому індексі. Це вам говорить
з'єднання 11 блокує з'єднання 12.

M: Стан реплікації Master/Slave
Цей режим показує вихідні дані SHOW SLAVE STATUS і SHOW MASTER STATUS по три
таблиці. Перші два поділяють статус підпорядкованого на SQL і статус потоку вводу-виводу, і
останній показує статус майстра. Фільтри застосовуються для усунення непідпорядкованих серверів
підпорядковані таблиці та неголовні сервери з головної таблиці.

Цей режим відображає "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 і семафори
Цей режим показує операції з рядками InnoDB, різні операції з рядками, семафори та
інформація з масиву очікування. Він відображає "row_operations",
Таблиці "row_operation_misc", "semaphores" і "wait_array" за замовчуванням.

S: Змінні та статус
Цей режим обчислює статистичні дані, наприклад кількість запитів за секунду, і друкує їх
кілька різних стилів. Ви можете показувати абсолютні значення або додаткові значення між ними
кліщі.

Ви можете перемикатися між переглядами, натискаючи клавішу. Клавіша 's' друкує один рядок
щоразу, коли екран оновлюється, у стилі vmstat. Клавіша «g» змінює вигляд на
графік тих самих чисел, щось подібне tload. Клавіша '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 відображає своєрідний «рядок стану». Від чого вона міститься залежить
режим, у якому ви перебуваєте, і сервери, які ви відстежуєте. Перші кілька слів завжди
[RO] (якщо тільки для читання встановлено значення 1), режим innotop, наприклад "InnoDB Txns" для режиму T,
з наступним нагадуванням натиснути "?" за допомогою в будь-який час.

ONE SERVER
Найпростіший випадок - це коли ви контролюєте один сервер. В даному випадку ім'я
підключення наступне в рядку стану. Це ім’я, яке ви дали під час створення
підключення - швидше за все, ім'я хоста сервера MySQL. Далі слідує сервер
час роботи.

Якщо ви перебуваєте в режимі InnoDB, наприклад T або B, наступне слово - "InnoDB", за яким слідують деякі
інформація про вихідні дані SHOW INNODB STATUS, які використовуються для візуалізації екрана. Перше слово
це кількість секунд з моменту останнього SHOW INNODB STATUS, яку InnoDB використовує для обчислення
деякі статистичні дані за секунду. Наступним є смайлик, який вказує, чи InnoDB
вихід обрізається. Якщо смайлик :-), все добре; відсікання немає. А
:^| означає, що список транзакцій такий довгий, що InnoDB роздрукував лише деякі з них
трансакцій. Нарешті, нахмурений :-( означає, що вихід неповний, що, ймовірно, пов’язано
у тупик друку надто багато інформації про блокування (див. «D: Тупикові блокування InnoDB»).

Наступні два слова вказують на кількість запитів за секунду (QPS) і кількість потоків
(зв'язки) існують. Нарешті, номер версії сервера – це остання річ.

БАГАТО СЕРВЕРИ
Якщо ви відстежуєте декілька серверів (див. «ПІДКЛЮЧЕННЯ СЕРВЕРА»), рядок стану виконує
не показувати жодної інформації про окремі сервери. Натомість він показує назви
активні з'єднання. Знову ж таки, це вказані вами імена підключень, які є
ймовірно, це ім’я хоста сервера. Підключення, яке має помилку, має префікс
знак оклику.

Якщо ви відстежуєте групу серверів (див. «ГРУПИ СЕРВЕРОВ»), у рядку стану буде показано
назва групи. Якщо будь-яке з’єднання в групі має помилку, назва групи
далі йде частка з'єднань, які не мають помилок.

Додаткову інформацію про обробку помилок innotop див.

МОНИТОРИНГ A Фото
Якщо ви вкажете ім’я файлу в командному рядку, innotop не буде підключатися до ЖОДНОГО сервера за адресою
всі. Він буде дивитися вказаний файл для виведення статусу InnoDB і використовувати його як свої дані
джерело. Він завжди показуватиме єдине підключення під назвою «файл». А оскільки не може
підключитися до сервера, він не може визначити, як довго працює сервер, який він відстежує;
тому він обчислює час роботи сервера як час від початку роботи innotop.

SERVER УПРАВЛІННЯ


Хоча innotop – це в першу чергу монітор, який дозволяє переглядати та аналізувати ваші сервери, він може
також надсилати команди на сервери. Найбільш часто корисні команди - це знищення запитів
і зупинка або запуск рабів.

Ви можете припинити з’єднання, або в новіших версіях MySQL знищити запит, але не а
з'єднання з режимів "Q: Query List" і "T: InnoDB Transactions". Натисніть 'k', щоб видати a
Команда KILL або 'x', щоб видати команду KILL QUERY. innotop запропонує вам
сервер та/або ідентифікатор з’єднання для знищення (innotop не підказує вам, якщо є лише один
можливий вибір для будь-якого введення). innotop попередньо вибирає найтриваліший запит або
найстаріше з'єднання. Підтвердьте команду 'y'.

У «Slave Replication Status»» у «M: Master mode», ви можете запускати та зупиняти підпорядковані пристрої за допомогою
клавіші «а» і «о» відповідно. Ви можете надсилати ці команди багатьом підлеглим одночасно.
innotop заповнює команду за замовчуванням START SLAVE або STOP SLAVE для вас, але ви можете
насправді відредагуйте команду та надішліть все, що забажаєте, наприклад SET GLOBAL
SQL_SLAVE_SKIP_COUNTER=1, щоб підпорядкований пристрій пропускав одну подію binlog при його запуску.

Ви також можете попросити innotop обчислити найраніший binlog, який використовується будь-яким підпорядкованим і видати a
PURGE MASTER LOGS на головному. Використовуйте для цього клавішу «b». innotop запропонує вам a
master, щоб запустити команду, а потім запропонує вам назви підключень цього майстра
раби (іннотоп не може самостійно це достовірно визначити). innotop знайде
мінімальний binlog, який використовується цими підлеглими з'єднаннями, і запропонуйте його як аргумент
ОЧИСТИТИ ГОЛОВНІ Журнали.

SERVER ПІДКЛЮЧЕННЯ


Коли ви створюєте з’єднання з сервером за допомогою '@', 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 на системах UNIX. Ви можете використовувати це, щоб уникнути вказівки a
ім'я користувача або пароль для підключення.

Таблиця тупиків InnoDB
Цей необов’язковий елемент повідомляє innotop ім’я таблиці, яке вона може використовувати для свідомого створення a
невеликий тупик (див. «D: Тупикові блокування InnoDB»). Якщо ви вкажете цей параметр, вам просто потрібно
щоб переконатися, що таблиці не існує, і що innotop може створювати та скинути таблицю
з механізмом зберігання InnoDB. Ви можете сміливо опустити або просто прийняти значення за замовчуванням, якщо так
не мають наміру використовувати це.

ім'я користувача
innotop запитає вас, чи хочете ви вказати ім’я користувача. Якщо ви скажете «у», це буде
запропонувати ввести ім’я користувача. Якщо у вас є файл параметрів MySQL, який визначає ваш
ім’я користувача, вам не потрібно вказувати ім’я користувача.

Ім’ям користувача за замовчуванням є ваше ім’я для входу в системі, на якій ви використовуєте innotop.

Пароль
innotop запитає вас, чи хочете ви вказати пароль. Як і ім’я користувача,
пароль необов'язковий, але є додаткова підказка, яка запитує, чи хочете ви зберегти
пароль у файлі конфігурації innotop. Якщо ви не збережете його в
конфігураційний файл, innotop запитуватиме вам пароль щоразу, коли він запускається.
Паролі у файлі конфігурації innotop зберігаються у вигляді простого тексту, а не шифруються
будь-яким способом.

Після того, як ви закінчите відповідати на ці запитання, ви повинні бути підключені до сервера. Але
innotop не обмежується моніторингом окремого сервера; Ви можете визначити багато серверів
з’єднання та перемикатися між ними, натискаючи клавішу «@». Дивіться «ПЕРЕМІЩЕННЯ МІЖ
ЗВ'ЯЗКИ".

SERVER ГРУПИ


Якщо у вас є кілька екземплярів MySQL, ви можете помістити їх у іменовані групи, наприклад, «усі»,
'господарів' і 'slaves', які innotop може контролювати всі разом.

Ви можете вибрати групу для моніторингу за допомогою клавіші «#», а також натиснути клавішу TAB
перейти до наступної групи. Якщо ви зараз не контролюєте групу, натисніть TAB
вибирає першу групу.

Щоб створити групу, натисніть клавішу '#' і введіть назву нової групи, а потім введіть
назви з'єднань, які ви хочете, щоб група містила.

ПЕРЕКЛЮЧЕННЯ МІЖ ПІДКЛЮЧЕННЯ


innotop дозволяє швидко перемикати сервери, які ви відстежуєте. Найпростіший спосіб – це шляхом
натиснувши клавішу «@» та введіть назву з’єднання, яке потрібно використовувати. Це
налаштування є для кожного режиму, тому ви можете контролювати різні підключення в кожному режимі та innotop
запам'ятовує, які з'єднання ви виберете.

Ви можете швидко переключитися на «наступне» з’єднання в алфавітному порядку за допомогою клавіші «n».
Якщо ви відстежуєте групу серверів (див. «ГРУПИ СЕРВЕРОВ»), це перемикається на першу
підключення.

Ви також можете ввести багато імен підключень, і innotop отримуватиме та відображатиме дані з них
всі. Просто розділіть назви підключень пробілами, наприклад "server1 server2".
Знову ж таки, якщо ви введете ім’я неіснуючого з’єднання, innotop підкаже вам
отримати інформацію про з’єднання та створити з’єднання.

Інший спосіб відстежувати кілька з’єднань одночасно – це за допомогою груп серверів. Ви можете використовувати
клавішу TAB, щоб перейти до групи «наступна» в алфавітному порядку, або якщо ви не
контролюючи будь-які групи, TAB перейде до першої групи.

innotop не отримує дані паралельно зі з'єднань, тому якщо ви відстежуєте великий
групою або багатьма з’єднаннями, ви можете помітити збільшення затримки між галочками.

Коли ви відстежуєте більше одного з’єднання, рядок стану innotop змінюється. Дивіться «INNOTOP
СТАТУС".

ERROR HANDLING


Обробка помилок не така важлива під час моніторингу окремого з’єднання, але дуже важлива
коли у вас багато активних з’єднань. Збій сервера або втрачене з'єднання не повинно
аварійне завершення роботи innotop. В результаті innotop продовжуватиме працювати навіть у разі виникнення помилки; це
просто не відображатиме жодної інформації від підключення, у якому була помилка. Тому що
це, поведінка innotop може збити вас з пантелику. Це особливість, а не помилка!

innotop не продовжує запитувати з'єднання з помилками, оскільки вони можуть сповільнитися
innotop і ускладнюють його використання, особливо якщо помилка полягає в проблемі підключення і
викликає тривалий тайм-аут. Замість цього, innotop час від часу повторює з’єднання, щоб перевірити чи
помилка все ще існує. Якщо так, це почекає до певного моменту в майбутньому. Очікування
час збільшується так, як ряд Фібоначчі, тому він намагається рідше, ніж час
пропускає.

Оскільки помилки можуть виникати лише в певних режимах через команди SQL, видані в
у цих режимах innotop відстежує, який режим спричинив помилку. Якщо ви перейдете на a
в іншому режимі, innotop спробує встановити з’єднання, а не чекати.

За замовчуванням innotop відображатиме проблему червоним текстом внизу першої таблиці
на екрані. Ви можете вимкнути цю поведінку за допомогою "show_cxn_errors_in_tbl"
параметр конфігурації, який увімкнено за замовчуванням. Якщо ввімкнено параметр "налагодження",
innotop відображатиме помилку внизу кожної таблиці, а не лише першої. І якщо
"show_cxn_errors" увімкнено, innotop також друкуватиме текст помилки на STDOUT. Помилка
повідомлення можуть відображатися лише в режимі, який спричинив помилку, залежно від режиму та
чи уникає innotop запитувати це з'єднання.

НЕІНТЕРАКТИВНИЙ РОБОТА


Ви можете запустити innotop в неінтерактивному режимі, у цьому випадку він повністю керується з
файл конфігурації та параметри командного рядка. Щоб запустити innotop в неінтерактивному режимі
режимі, задайте параметр командного рядка L"<--nonint">. Це змінює поведінку innotop в
наступними способами:

· Деякі модулі Perl не завантажуються. Term::Readline не завантажується, оскільки innotop
не підказує інтерактивно. Модулі Term::ANSIColor і Win32::Console::ANSI
не завантажено. Термін::ReadKey все ще використовується, оскільки innotop, можливо, доведеться запросити
паролі підключення під час запуску.

· innotop не очищає екран після кожної позначки.

· innotop не зберігає жодних змін у файлі конфігурації.

· Якщо вказано «--count» і innotop перебуває в інкрементальному режимі (див. «status_inc» та
"--inc"), innotop насправді оновлюється раз більше, ніж зазначено, щоб він міг друкувати
додаткова статистика. Це пригнічує вихід під час першого тику, тому innotop може
здається, зависає.

· innotop відображає лише першу таблицю в кожному режимі. Ось таким може бути вихід
легко обробляється іншими утилітами командного рядка, такими як awk і sed. Змінювати
які таблиці відображаються в кожному режимі, див. «ТАБЛИЦІ». Оскільки режим "Q: Query List" є таким
Важливо, innotop автоматично вимикає таблицю "q_header". Це гарантує, що ви
дивіться таблицю «список процесів», навіть якщо ви налаштували innotop на показ q_header
таблицю під час інтерактивної операції. Аналогічно, у режимі "T: Transactions InnoDB", файл
Таблиця "t_header" прихована, тому ви бачите лише таблицю "innodb_transactions".

· Весь вихід розділяється символами табуляції замість вирівнювання по стовпцям за допомогою пробілів і
innotop друкує повний вміст кожної таблиці замість того, щоб друкувати лише один екран
зараз.

· innotop друкує заголовки стовпців лише один раз замість кожної позначки (див. "hide_hdr").
innotop не друкує підписи таблиць (див. "display_table_captions"). innotop гарантує
у виводі немає порожніх рядків.

· innotop не враховує "скорочене" перетворення, яке зазвичай скорочує деякі
чисел у формати, які читає людина.

· innotop не друкує рядок стану (див. «СТАТУС INNOTOP»).

НАСТРОЮВАННЯ


Майже все про innotop можна налаштувати. Більшість речей можна змінити
вбудовані команди, але ви також можете редагувати файл конфігурації.

Під час роботи innotop натисніть клавішу '$', щоб відкрити діалогове вікно редагування конфігурації.
Натисніть іншу клавішу, щоб вибрати тип даних, які потрібно відредагувати:

S: Заява Час сну
Редагує затримки сну оператора SQL, які роблять innotop паузу на вказану кількість
час після виконання оператора. Див. "ЗАЯВИ SQL" для визначення кожного
заяву і що вона робить. За замовчуванням innotop не затримує після будь-яких операторів.

Ця функція включена, щоб ви могли налаштувати побічні ефекти, викликані моніторингом
ваш сервер. Ви можете не побачити жодних ефектів, але деякі користувачі innotop це помітили
деякі версії MySQL під дуже високим навантаженням із включеною InnoDB займають більше часу, ніж зазвичай
щоб виконати SHOW GLOBAL STATUS. Якщо innotop негайно викликає SHOW FULL PROCESSLIST
потім список процесів містить більше запитів, ніж машина насправді в середньому
будь-який момент. Налаштування innotop для короткої паузи після виклику SHOW GLOBAL
STATUS пом’якшує цей ефект.

Час сну зберігається в розділі "stmt_sleep_times" файлу конфігурації.
Підтримується режим сну з частковою секундою, залежно від обмежень вашого обладнання.

c: Редагувати стовпці
Запускає редактор таблиць на одній із відображених таблиць. Дивіться «РЕДАКТОР ТАБЛИЦ». An
Альтернативний спосіб запуску редактора таблиці без входу в діалогове вікно конфігурації - це
за допомогою клавіші '^'.

g: Загальна конфігурація
Запускає редактор конфігурації для редагування глобальної та окремої конфігурації для певного режиму
змінні (див. «РЕЖИМИ»). innotop пропонує вам вибрати змінну з-поміж
глобальні та специфічні для режиму залежно від поточного режиму.

k: Правила розфарбовування рядків
Запускає редактор правил забарвлення рядків в одній із відображених таблиць. Дивіться "КОЛЬОРИ"
for details.

p: Керування плагінами
Запускає редактор конфігурації плагіна. Додаткову інформацію див. у розділі «ПЛАГІНИ».

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: змінні та стан". Подивитися
«ЗМІННІ МНОЖИНИ».

auto_wipe_dl
Інструктує innotop автоматично видаляти великі тупики, коли помічає їх.
Коли це станеться, ви можете помітити невелику затримку. При наступній галочці ви це зробите
зазвичай бачити інформацію, яка була обрізана через великий тупик.

набір
Визначає, які символи дозволити через "no_ctrl_char"
трансформація. Це не дозволяє недрукованим символам заплутати термінал
коли ви відстежуєте запити, які містять двійкові дані, наприклад зображення.

За замовчуванням є 'ascii', який вважає все, що не є нормальним ASCII, як a
контрольний персонаж. Іншими допустимими значеннями є "unicode" і "none". 'жоден'
вважає кожен символ керуючим символом, який може бути корисним для згортання
УСІ текстові поля в запитах.

cmd_filter
Це префікс, який фільтрує змінні в режимі "C: Command Summary".

color
Чи дозволено фарбування терміналів.

cxn_timeout
У MySQL версії 4.0.3 і новіших ця змінна використовується для встановлення з’єднання
тайм-аут, тому MySQL не закриває з’єднання, якщо воно деякий час не використовується.
Це може статися через те, що з’єднання не відстежується в певному режимі, для
приклад.

відлагоджувати
Ця опція включає більше докладних помилок і робить innotop більш суворим у деяких
місця. Це може допомогти в налагодженні фільтрів та іншого коду, визначеного користувачем. Він також
змушує innotop записувати багато інформації для «налагодження», коли відбувається збій.

файл налагодження
Файл, до якого innotop записуватиме інформацію у разі збою. Подивитися
«ФАЙЛИ».

відображення_записів_таблиць
innotop відображає заголовок таблиці над більшістю таблиць. Ця змінна пригнічує або
показує підписи на всіх таблицях у всьому світі. Деякі таблиці налаштовані за допомогою
hide_caption властивість, яка замінює це.

в цілому
Чи показувати ГЛОБАЛЬНІ змінні та статус. innotop намагається зробити це лише на
сервери, які підтримують опцію GLOBAL SHOW VARIABLS і SHOW STATUS. в
деякі версії MySQL, вам потрібні певні привілеї для цього; якщо у вас немає
їх, innotop не зможе отримати дані про змінні та статус. Це
змінна конфігурації дозволяє запускати innotop і отримувати дані, які можна навіть
без підвищених привілеїв.

Я більше не можу знайти чи відтворити ситуацію, коли GLOBAL не було дозволено, але я
знаю, що був один.

graph_char
Визначає символ для малювання графіків у режимі «S: змінні та стан».

header_highlight
Визначає спосіб виділення заголовків стовпців. Це працює лише в тому випадку, якщо Term::ANSIColor є
доступний. Допустимі значення «жирний» та «підкреслений».

hide_hdr
Приховує заголовки стовпців у всьому світі.

інтервал
Інтервал, через який innotop оновлюватиме свої дані (галочки). Інтервал є
реалізовано як час сну між тактами, тому справжній інтервал буде змінюватися
залежно від того, скільки часу потрібно innotop, щоб отримати та відтворити дані.

Ця змінна приймає частки секунди.

режим
Режим, в якому має запускатися innotop. Допустимі аргументи такі ж, як і
натискання клавіші для інтерактивного вибору режиму. Дивіться «РЕЖИМИ».

чісло_разрядов
Скільки цифр показати в дробових числах і відсотках. Діапазон цієї змінної
знаходиться в діапазоні від 0 до 9 і може бути встановлений безпосередньо з режиму "S: змінні та статус" за допомогою
клавіші «+» і «-». Він використовується в параметрах "set_precision", "shorten" і "percent"
трансформації.

num_status_sets
Контролює, скільки наборів змінних статусу відображати в зведеному "S: змінні та
Режим "Статус". Він також контролює кількість старих наборів змінних, які зберігає innotop
у своїй пам'яті, тому чим більше ця змінна, тим більше пам'яті використовує innotop.

плагін_каталог
Вказує, де можна знайти плагіни. За замовчуванням innotop зберігає плагіни в файлі
підкаталог 'plugins' вашого каталогу конфігурації innotop.

лише для читання
Чи є файл конфігурації лише для читання. Це неможливо встановити в інтерактивному режимі.

show_cxn_errors
Робить помилки підключення innotop друку до STDOUT. Дивіться «ОБРАБОТУ ПОМИЛКІВ».

show_cxn_errors_in_tbl
Відображає помилки підключення innotop у вигляді рядків у першій таблиці на екрані. Подивитися
«ОБРАБОТА ПОМИЛКІВ».

показати відсоток
Додає символ "%" після значення, повернутого перетворенням "відсоток".

show_statusbar
Визначає, чи відображати рядок стану на дисплеї. Дивіться «СТАТУС INNOTOP».

skip_innodb
Вимикає отримання SHOW INNODB STATUS, якщо на вашому сервері(ах) немає InnoDB
увімкнено, і ви не хочете, щоб innotop намагався отримати його. Це також може бути корисним
якщо у вас немає привілеїв SUPER, необхідно запустити SHOW INNODB STATUS.

status_inc
Показувати абсолютні чи інкрементні значення для змінних стану. Інкрементальний
значення розраховуються як зміщення від останнього значення innotop saw для цього
змінний. Це глобальне налаштування, але, ймовірно, воно стане специфічним для режиму
якийсь момент. Зараз це шанується трохи непослідовно; деякі режими не платять
увагу на це.

plugins
Цей розділ містить список назв пакетів активних плагінів. Якщо плагін існує,
innotop активує його. Додаткову інформацію див. у розділі «ПЛАГІНИ».

Фільтри
Цей розділ містить визначені користувачем фільтри (див. «ФІЛЬТРИ»). Кожен рядок у форматі
filter_name=text='filter text' tbls='список таблиць'.

Текст фільтра – це текст коду підпрограми. Список таблиць - це список
таблиці, до яких може застосовуватися фільтр. За замовчуванням визначені користувачем фільтри застосовуються до
таблиці, для якої вони були створені, але ви можете вручну змінити це, відредагувавши файл
визначення у файлі конфігурації.

активні_фільтри
У цьому розділі зберігаються фільтри, активні для кожної таблиці. Кожен рядок знаходиться в
формат table_name=filter_list.

tbl_meta
У цьому розділі зберігаються визначені користувачем або налаштовані користувачем стовпці (див. «СТОЛБЦІ»). Кожен
рядок має формат col_name=properties, де властивості a
ім'я = список значень у лапках.

зв'язку
Цей розділ містить визначені вами з’єднання з сервером. Кожен рядок знаходиться в
формат ім'я=властивості, де властивості є списком ім'я=значення. Властивості
є зрозумілими, і єдине, що розглядається спеціально, це "pass", тобто
присутній, лише якщо встановлено 'savepass'. Цей розділ файлу конфігурації буде
пропускається, якщо використовуються параметри командного рядка DSN, ім’я користувача або пароль. Дивіться «СЕРВЕР
ЗВ'ЯЗКИ".

active_connections
У цьому розділі міститься список з’єднань, активних у кожному режимі. Кожен рядок є
у форматі mode_name=connection_list.

групи_серверів
Цей розділ містить групи серверів. Кожен рядок має формат name=connection_list.
Дивіться «ГРУПИ СЕРВЕРА».

активні_групи_серверів
У цьому розділі міститься список, яка група серверів активна в кожному режимі. Кожен рядок є
у форматі mode_name=server_group.

max_values_seen
Цей розділ містить максимальні значення для змінних. Це використовується для масштабування
графіки в режимі "S: змінні та стан". Кожен рядок має формат ім’я=значення.

активні_стовпці
Цей розділ містить списки стовпців таблиці. Кожен рядок у форматі
tbl_name=список_стовпців. Дивіться «КОЛОНКИ».

сортувальні стовпці
Цей розділ містить визначення сортування. Кожен рядок у форматі
tbl_name=список_стовпців. Якщо стовпець має префікс «-», цей стовпець сортується за спаданням.
Дивіться «СОРТУВАННЯ».

видимі_таблиці
Цей розділ визначає, які таблиці відображаються в кожному режимі. Кожен рядок знаходиться в
формат mode_name=table_list. Дивіться «ТАБЛИЦІ».

варсети
У цьому розділі визначаються набори змінних для використання в режимі «S: Status & Variables». Кожен рядок
має формат ім’я=список_змінних. Дивіться «НАБІРИ ЗМІННИХ».

квітів
Цей розділ визначає правила розфарбовування. Кожен рядок у форматі
tbl_name=список_властивостей. Дивіться «КОЛЬОРИ».

stmt_sleep_times
Цей розділ містить час сну оператора. Кожен рядок у форматі
statement_name=sleep_time. Див. «S: Час сну оператора».

group_by
Цей розділ містить списки стовпців для виразів таблиць group_by. Кожен рядок в
формат tbl_name=column_list. Дивіться «ГРУПУВАННЯ».

НАЛАШТУВАННЯ


Ви можете налаштувати innotop дуже багато. Наприклад, ви можете:

· Виберіть, які таблиці відображати та в якому порядку.

· Виберіть, які стовпці в цих таблицях, і створіть нові стовпці.

· Фільтруйте, які рядки відображаються за допомогою вбудованих фільтрів, фільтрів, визначених користувачем, і швидких
фільтри

· Сортуйте рядки, щоб помістити важливі дані на перше місце, або об’єднайте пов’язані рядки.

· Виділіть рядки кольором.

· Налаштуйте вирівнювання, ширину та форматування стовпців, а також застосуйте перетворення
до стовпців, щоб витягти частини їх значень або відформатувати значення за вашим бажанням (для
наприклад, скорочення великих чисел до знайомих одиниць).

· Створюйте власні вирази, щоб витягувати та об’єднувати дані, як вам потрібно. Це дає вам
необмежена гнучкість.

Все це та багато іншого пояснюється в наступних розділах.

ТАБЛИЦІ
Таблиця – це те, чого ви очікуєте: набір стовпців. Він також має деякі інші властивості,
наприклад підпис. Фільтри, правила сортування та правила розфарбовування належать до таблиць і
розглянуті в наступних розділах.

Внутрішні метадані таблиці визначаються в структурі даних під назвою %tbl_meta. Цей хеш
містить усі вбудовані визначення таблиць, які містять багато інструкцій за замовчуванням
innotop. Метадані включають заголовок, список стовпців, які користувач налаштував, а
список стовпців, список видимих ​​стовпців, список фільтрів, колірні правила, стовпець сортування
список, напрямок сортування та деяку інформацію про джерела даних таблиці. Більшість із цього
налаштовується за допомогою редактора таблиць (див. «РЕДАКТОР ТАБЛИЦ»).

Ви можете вибрати, які таблиці відображати, натиснувши клавішу «$». Дивіться «РЕЖИМИ» та «ТАБЛИЦІ».

Життєвий цикл таблиці виглядає так:

· Кожна таблиця починається з джерела даних, який є масивом хешів. Дивіться нижче
докладні відомості про джерела даних.

· Кожен елемент джерела даних стає рядком у підсумковій таблиці.

· Для кожного елемента в джерелі даних innotop витягує значення з джерела і
створює ряд. Цей рядок є ще одним хешем, який пізніше буде називатися $set.
Значення innotop витягів визначаються стовпцями таблиці. Кожна колонка має
підпрограма вилучення, скомпільована з виразу (див. «ВИРАЗИ»). Отриманий
рядок — це хеш, ключі якого названі так само, як назва стовпця.

· innotop фільтрує рядки, видаляючи ті, які не потрібно відображати. Подивитися
«ФІЛЬТРИ».

· innotop сортує рядки. Дивіться «СОРТУВАННЯ».

· innotop групує рядки разом, якщо вказано. Дивіться «ГРУПУВАННЯ».

· innotop розфарбовує рядки. Дивіться «КОЛЬОРИ».

· innotop перетворює значення стовпців у кожному рядку. Дивіться «ТРАНСФОРМАЦІЇ».

· innotop за бажанням повертає рядки (див. «ПІВОТИНГ»), потім фільтрує та сортує їх.

· innotop форматує та вирівнює рядки у вигляді таблиці. Під час цього кроку застосовується innotop
подальше форматування значень стовпців, включаючи вирівнювання, максимум і мінімум
ширини. innotop також виконує остаточну перевірку помилок, щоб переконатися, що немає збоїв через
невизначені значення. innotop потім додає підпис, якщо вказано, і таблиця готова
друк.

Життєвий цикл дещо відрізняється, якщо таблиця повернута, як зазначено вище. Щоб уточнити,
якщо таблиця повертається, процес витягується, групується, перетворюється, зводиться, фільтрується, сортується,
створювати. Якщо він не зведений, процес витягує, фільтрує, сортує, групує, забарвлює,
перетворювати, створювати. Цей трохи заплутаний процес не дуже добре відображається на SQL, але
поворот дуже ускладнює речі. Грубо кажучи, фільтрація та сортування
відбуватися так пізно, як це необхідно для досягнення кінцевого результату, як ви могли очікувати, але якомога раніше
можливо для ефективності.

Нижче описано кожну вбудовану таблицю:

адаптивний_хеш_індекс
Відображає дані про адаптивний хеш-індекс InnoDB. Джерело даних: "STATUS_VARIABLES".

buffer_pool
Відображає дані про пул буферів InnoDB. Джерело даних: "STATUS_VARIABLES".

cmd_summary
Відображає зважені змінні стану. Джерело даних: "STATUS_VARIABLES".

тупикові блокування
Показує, які блокування утримувалися та чекали останнім виявленим тупиком. Дані
Джерело: "DEADLOCK_LOCKS".

тупикові_транзакції
Показує транзакції, залучені до останнього виявленого тупика. Джерело даних:
"DEADLOCK_TRANSACTIONS".

пояснювати
Показує результат EXPLAIN. Джерело даних: «ПОЯСНІТЬ».

file_io_misc
Відображає дані про файл InnoDB та операції введення-виводу. Джерело даних:
"STATUS_VARIABLES".

fk_error
Відображає різні дані про останню помилку зовнішнього ключа InnoDB. Джерело даних:
"STATUS_VARIABLES".

innodb_locks
Відображає блокування InnoDB. Джерело даних: "INNODB_LOCKS".

innodb_transactions
Відображає дані про поточні транзакції InnoDB. Джерело даних:
"INNODB_TRANSACTIONS".

вставні_буфери
Відображає дані про буфер вставки InnoDB. Джерело даних: "STATUS_VARIABLES".

io_threads
Відображає дані про потоки вводу-виводу InnoDB. Джерело даних: "IO_THREADS".

log_statistics
Відображає дані про систему реєстрації InnoDB. Джерело даних: "STATUS_VARIABLES".

master_status
Відображає статус головного копія реплікації. Джерело даних: "STATUS_VARIABLES".

відкриті_таблиці
Відображає відкриті таблиці. Джерело даних: "OPEN_TABLES".

page_statistics
Відображає статистику сторінки InnoDB. Джерело даних: "STATUS_VARIABLES".

pending_io
Показує операції введення-виведення InnoDB, що очікують на розгляд. Джерело даних: "STATUS_VARIABLES".

список процесів
Відображає поточні процеси MySQL (потоки/з'єднання). Джерело даних: "PROCESSLIST".

q_header
Відображає різні значення статусу. Джерело даних: "STATUS_VARIABLES".

row_operation_misc
Відображає дані про операції з рядками InnoDB. Джерело даних: "STATUS_VARIABLES".

операції_рядка
Відображає дані про операції з рядками InnoDB. Джерело даних: "STATUS_VARIABLES".

семафори
Відображає дані про семафори та мьютекси InnoDB. Джерело даних: "STATUS_VARIABLES".

slave_io_status
Відображає дані про підпорядкований потік вводу/виводу. Джерело даних: "STATUS_VARIABLES".

slave_sql_status
Відображає дані про підпорядкований потік SQL. Джерело даних: "STATUS_VARIABLES".

t_header
Відображає різні значення статусу InnoDB. Джерело даних: "STATUS_VARIABLES".

змінний_статус
Відображає дані, що налаштовуються користувачем. Джерело даних: "STATUS_VARIABLES".

масив_очікування
Відображає дані про масив очікування ОС InnoDB. Джерело даних: "OS_WAIT_ARRAY".

КОЛОНИ
Стовпці належать до таблиць. Ви можете вибрати стовпці таблиці, натиснувши клавішу '^', яка
запускає "РЕДАКТОР ТАБЛИЦ" і дозволяє вибирати та редагувати стовпці. Натискання «e» зсередини
редактор таблиці дозволяє редагувати властивості стовпця:

· hdr: заголовок стовпця. Це відображається в першому рядку таблиці.

· справедливо: виправдання. "-" означає вирівнювання по лівому краю, а "" означає вирівнювання по правому краю, як і
з кодами форматування printf (не випадково).

· dec: чи слід додатково вирівнювати стовпець за десятковою комою.

· num: чи є стовпець числовим. Це впливає на сортування значень (лексично або
чисельно).

· мітка: невелика примітка про стовпець, яка з'являється в діалогових вікнах, які допомагають користувачеві
виберіть стовпці.

· src: вираз, який innotop використовує для вилучення даних стовпця з його джерела (див
«ДЖЕРЕЛА ДАНИХ»). Додаткову інформацію про вирази див. у розділі «ВИРАЗИ».

· minw: визначає мінімальну ширину дисплея. Це допомагає стабілізувати дисплей, який
полегшує читання, якщо дані часто змінюються.

· maxw: схожий на minw.

· trans: список перетворень стовпців. Дивіться «ТРАНСФОРМАЦІЇ».

· agg: агрегатна функція. Дивіться «ГРУПУВАННЯ». За замовчуванням — «перший».

· aggonly: контролює, чи відображатиметься стовпець лише тоді, коли в таблиці ввімкнено групування
(див. «ГРУПУВАННЯ»). За замовчуванням це вимкнено. Це означає, що стовпці будуть завжди
відображається за замовчуванням, незалежно від того, увімкнено групування чи ні. Якщо встановлено aggonly стовпця
true, стовпець з’явиться, коли ви перемикаєте групування в таблиці. Кілька колон
налаштовані таким чином, наприклад стовпець підрахунку в "processlist" і "innodb_transactions",
тому ви не бачите підрахунок, коли групування не ввімкнено, але ви бачите, коли воно є.

ФІЛЬТРИ
Фільтри видаляють рядки з дисплея. Вони поводяться так само як речення WHERE в SQL.
innotop має кілька вбудованих фільтрів, які видаляють нерелевантну інформацію, наприклад неактивну
запити, але ви також можете визначити свої власні. innotop також дозволяє створювати швидкі фільтри,
які не зберігаються у файлі конфігурації, а є лише простим способом швидкого перегляду
лише деякі рядки.

Ви можете ввімкнути або вимкнути фільтр для будь-якої таблиці. Натисніть клавішу «%» (мнемоніка: % виглядає
як рядок, який фільтрується між двома колами) і виберіть, яку таблицю хочете
фільтр, якщо запитають. Після цього ви побачите список можливих фільтрів і список фільтрів
зараз увімкнено для цієї таблиці. Введіть назви фільтрів, які потрібно застосувати, і натисніть
Enter.

ВИЗНАЧЕНИЙ КОРИСТУВАЧЕМ ФІЛЬТРИ

Якщо ви введете ім’я, яке не існує, innotop запропонує вам створити фільтр.
Фільтри легко створити, якщо ви знаєте Perl, і не важко, якщо ви цього не знаєте. Що ти робиш
створює підпрограму, яка повертає true, якщо рядок має відображатися. Рядок а
хеш-посилання передається вашій підпрограмі як $set.

Наприклад, уявіть, що ви хочете відфільтрувати таблицю списку процесів, щоб бачити лише такі запити
працює більше п’яти хвилин. Введіть нову назву для свого фільтра та коли
з проханням ввести тіло підпрограми, натисніть TAB, щоб розпочати автозавершення терміналу.
Ви побачите назви стовпців у таблиці "список процесів" (innotop зазвичай намагається
допоможе вам зі списками автозаповнення). Ви хочете відфільтрувати стовпець "час". Введіть
текст "$set->{time} > 300", щоб повернути true, коли запиту більше п’яти хвилин.
Це все, що вам потрібно зробити.

Іншими словами, код, який ви вводите, оточений неявним контекстом, який виглядає
подобається це:

підфільтр {
мій ( $set ) = @_;
# ВАШ КОД ТУТ
}

Якщо ваш фільтр не працює або щось інше раптом поведе себе інакше, ви можете
зробили помилку у вашому фільтрі, і innotop мовчки фіксує помилку. Спробуйте
увімкнення "debug", щоб замість цього innotop видавати помилку.

ШВИДКІ ФІЛЬТРИ

Швидкі фільтри innotop – це ярлик для створення тимчасового фільтра, який не зберігається
при перезапуску innotop. Щоб створити швидкий фільтр, натисніть клавішу '/'. innotop буде
запитати назву стовпця та текст фільтра. Знову ж таки, ви можете використовувати автозаповнення
назви стовпців. Текстом фільтра може бути лише текст, який потрібно «шукати». Для
наприклад, щоб відфільтрувати таблицю "список процесів" за запитами, які посилаються на таблицю продуктів,
введіть «/», а потім «інформаційний продукт».

Текст фільтра насправді може бути будь-яким регулярним виразом Perl, але, звичайно, літералом
рядок, як '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 і стовпець підрахунку: "список процесів" і
"innodb_transactions". Групування здійснюється за з’єднанням і статусом, тому ви можете швидко побачити
скільки запитів або транзакцій у певному статусі на кожному сервері, який ви відстежуєте.
Стовпці часу агрегуються як сума; інші стовпці залишаються за умовчанням "перший"
агрегація.

За замовчуванням таблиця, показана в режимі «S: змінні та стан», також використовує групування, щоб ви могли
відстежувати змінні та статус на багатьох серверах. Функція агрегації за замовчуванням в
цей режим — «середній».

Допустимі функції групування визначені в хеші %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 ID Запит часу хосту користувача
localhost Запит 49 12933 webusr localhost 19:38 SELECT * FROM
localhost Відправка Da 23 2383 webusr localhost 12:43 SELECT col1,
localhost Sleep 120 140 webusr localhost 5:18:12
localhost Статистика 12 19213 webusr localhost 01:19 SELECT * FROM

Це насправді досить тривожна картина. У вас багато неактивних з'єднань (Сон),
і деякі з'єднання, що виконують запити (запит і надсилання даних). Це нормально, але ти
також мають багато в статусі статистики, разом витрачаючи більше хвилини. Це означає, що
оптимізатору запитів дуже важко оптимізувати ваші заяви. Щось є
неправильний; Зазвичай для оптимізації запитів потрібно мілісекунди. Можливо, ви не бачили
цей шаблон, якщо ви не розглядали свої зв’язки в сукупності. (Це вигадка
наприклад, але це може статися в реальному житті).

ПОВОРОТНИЙ
innotop може повертати таблицю для більш компактного відображення, подібно до зведеної таблиці в a
електронна таблиця (також відома як перехресна таблиця). Поворот таблиці перетворює стовпці на рядки. Припустимо
ви починаєте з цієї таблиці:

foo бар
=== ===
1 3
2 4

Після повороту таблиця матиме такий вигляд:

ім'я set0 set1
==== ==== ====
фу 1 2
такт 3 4

Щоб отримати розумні результати, вам може знадобитися групувати, а також повертати. innotop на даний момент
робить це для режиму "S: змінні та стан".

КВІТИ
За замовчуванням innotop виділяє рядки кольором, щоб ви могли відразу побачити, які це рядки
більш важливим. Ви можете налаштувати правила розфарбовування та додати свої власні до будь-якої таблиці.
Відкрийте редактор таблиці за допомогою клавіші «^», виберіть таблицю, якщо потрібно, і натисніть «o», щоб відкрити
діалогове вікно редактора кольорів.

У діалоговому вікні редактора кольорів відображаються правила, застосовані до таблиці, у тому порядку, в якому вони знаходяться
оцінено. Кожен рядок оцінюється відповідно до кожного правила, щоб перевірити, чи відповідає правило рядку; якщо
це так, рядок отримує вказаний колір, і ніякі подальші правила не оцінюються. Правила
виглядати так:

state eq Заблоковано чорний on_red
cmd eq Sleep white
користувач системи еквалайзера користувач білий
cmd eq Connect білий
cmd eq Binlog Dump білий
час > 600 червоних
час > 120 жовтий
час > 60 зелений
час > 30 блакитний

Це стандартний набір правил для таблиці "список процесів". У порядку пріоритету ці
правила роблять заблоковані запити чорними на червоному тлі, «сірими» з’єднання з
реплікації та сплячих запитів, а також перетворювати запити з блакитного на червоний під час виконання
довше.

(Чомусь колірний код ANSI "білий" насправді світло-сірий. Ваш термінал
дисплей може відрізнятися; експериментуйте, щоб знайти кольори, які вам подобаються).

Ви можете використовувати натискання клавіш для переміщення правил вгору і вниз, що змінює порядок їх пріоритету. ти
також можна видаляти правила та додавати нові. Якщо ви додаєте нове правило, innotop запитає вас
стовпець, оператор порівняння, значення, з яким потрібно порівнювати стовпець,
і колір, який потрібно призначити, якщо правило відповідає. У кожному є автозаповнення та підказка
крок.

Значення на третьому кроці потрібно правильно вказати. innotop не намагається цитувати
значення, тому що він не знає, чи слід розглядати значення як рядок чи a
номер. Якщо ви хочете порівняти стовпець із рядком, як, наприклад, у першому
правило вище, ви повинні ввести «Заблоковано» в лапках. Якщо ви отримуєте повідомлення про помилку
щодо голого слова, вам, мабуть, слід було щось процитувати.

ВИРАЗИ
Вирази є основою того, як працює innotop, і це те, що дає змогу розширювати
innotop за бажанням. Згадайте життєвий цикл таблиці, описаний у розділі «ТАБЛИЦІ». Вирази є
використовується на самому ранньому кроці, де він витягує значення з джерела даних для формування рядків.

Він робить це, викликаючи підпрограму для кожного стовпця, передаючи їй вихідний набір даних, a
набір поточних значень і набір попередніх значень. Все це так необхідно
підпрограма може обчислити такі речі, як різницю між цим і попереднім
галочка.

Підпрограми, які витягують дані з набору, компілюються з виразів. Це
дає значно більше можливостей, ніж просто називати значення для заповнення стовпців, тому що це
дозволяє обчислювати значення стовпця на основі будь-яких необхідних даних, але уникає
потрібно написати складний і довгий код Perl.

innotop починається з рядка тексту, який може виглядати так само просто, як ім'я значення або як
складний як повноцінний вираз Perl. Він перевіряє кожну лексему "голо слово" в
рядок і вирішує, чи він повинен бути ключем до хешу $set. Голе слово - це
значення без лапок, яке ще не оточене кодовими речами, як-от знаки долара або фігурні
дужки. Якщо innotop вирішить, що головне слово не є функцією чи іншим дійсним кодом Perl,
він перетворює його в хеш-доступ. Після того, як весь рядок оброблено, innotop компілює
підпрограма, ось така:

sub compute_column_value {
my ( $set, $cur, $pre ) = @_;
my $val = # РОЗКЛАДЕНИЙ РЯДОК Йде ТУТ
повернення $val;
}

Ось конкретний приклад, взятий із таблиці заголовків «q_header» у режимі «Q: Query List».
Цей вираз обчислює значення стовпця qps, або запитів за секунду, на основі
значення, повернуті SHOW STATUS:

Питання/Uptime_hires

innotop вирішує, що обидва слова є відкритими, і перетворює цей вираз у
наступний код Perl:

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

У оточенні решти коду підпрограми це виконуваний Perl that
обчислює значення запитів за секунду з високою роздільною здатністю.

Аргументи підпрограми мають імена $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, але змінить
згорнути рядок у лапках до [BINARY] або [TEXT], залежно від кодування.

відсотків
Перетворює число у відсоток, помножуючи його на два, форматуючи за допомогою
«кількість_цифр» цифр після десяткової коми та за бажанням додавання знаку відсотка (див
"show_percent").

secs_to_time
Форматує кількість секунд як час у форматі дні+години:хвилини:секунди.

set_precision
Форматує числа з кількістю цифр після десяткової коми "кількість_цифр".

скорочувати
Форматує число як одиницю 1024 (k/M/G/T) і з кількістю цифр "num_digits"
після десяткової коми.

ТАБЛИЦЯ РЕДАКТОР
Редактор таблиць innotop дозволяє налаштовувати таблиці за допомогою натискань клавіш. Ви починаєте стіл
редактор за допомогою клавіші '^'. Якщо на екрані є кілька таблиць, вам буде запропоновано
вибрати одну з них. Як тільки ви це зробите, innotop покаже вам щось на зразок цього:

Редагування визначення таблиці для пулу буферів. Натисніть ? за допомогою, q щоб вийти.

назва hdr label src
cxn CXN З'єднання, з якого cxn
buf_pool_size Розмір Розмір буферного пулу IB_bp_buf_poo
buf_free Безкоштовні буфери Буфери вільні в b IB_bp_buf_fre
pages_total Сторінок Загальна кількість сторінок IB_bp_pages_t
pages_modified Брудні сторінки Змінено сторінки (брудні IB_bp_pages_m
buf_pool_hit_rate Hit Rate Швидкість звернення буфера пулу IB_bp_buf_poo
total_mem_alloc Пам'ять Загальний обсяг пам'яті виділений IB_bp_total_m
add_pool_alloc Add'l Pool Додатковий пул alloca IB_bp_add_poo

Перший рядок показує, яку таблицю ви редагуєте, і нагадує вам знову натиснути "?" для
список зіставлення ключів. Решта - це табличне представлення стовпців таблиці,
тому що, ймовірно, це те, що ви намагаєтеся відредагувати. Однак ви можете редагувати більше, ніж просто
стовпці таблиці; на цьому екрані можна запускати редактор фільтрів, редактор правил кольору тощо.

Кожен рядок на дисплеї показує один стовпець у таблиці, яку ви редагуєте, разом із a
кілька його властивостей, таких як заголовок і вихідний вираз (див. «ВИРАЗИ»).

Як і в багатьох інших місцях, відображення клавіш у стилі Vim. Натискання «j» і «k» переміщує
виділення вгору або вниз. Потім ви можете (d)видалити або (e)редагувати виділений стовпець. Ти можеш
також (а) додайте стовпець до таблиці. Насправді це лише активує один із стовпців
визначено для таблиці; він запропонує вам вибрати один із наявних стовпців, але немає
на даний момент відображається. Нарешті, ви можете змінити порядок стовпців за допомогою клавіш «+» і «-».

Ви можете робити більше, ніж просто редагувати стовпці за допомогою редактора таблиці, ви також можете редагувати інші
властивості, такі як вираз сортування таблиці та вираз для групування. Натисніть "?" бачити
повний список, звичайно.

Якщо ви хочете дійсно налаштувати та створити свій власний стовпець, а не просто активувати
вбудований, який наразі не відображається, натисніть клавішу (n)new, і innotop зробить це
запропонувати вам необхідну інформацію:

· Назва стовпця: це має бути слово без кумедних символів, наприклад, просто
літери, цифри та підкреслення.

· Заголовок стовпця: це мітка, яка з'являється у верхній частині стовпця, в
заголовок таблиці. Це може містити пробіли та кумедні символи, але будьте обережні, щоб не зробити
він занадто широкий і витрачає місце на екрані.

· Джерело даних стовпця: це вираз, який визначає, які дані з
джерело (див. «ТАБЛИЦІ») innotop помістить у стовпець. Це може бути просто назва
елемент у джерелі, або це може бути більш складний вираз, як описано в
«ВИРАЗИ».

Після того, як ви введете необхідні дані, у вашій таблиці з’явиться новий стовпець. Немає
відмінність цієї колонки від вбудованих; він може мати однакові властивості
і поведінки. innotop запише визначення стовпця до конфігураційного файлу, отже
він зберігатиметься протягом сеансів.

Ось приклад: припустимо, ви хочете відстежити, скільки разів ваші раби повторили спроби
трансакцій. Відповідно до посібника MySQL, статус Slave_retried_transactions
змінна надає такі дані: "Загальна кількість разів з моменту запуску
Підпорядкований потік SQL реплікації повторив транзакції. Цю змінну було додано у версію
5.0.4." Це доречно додати до таблиці "slave_sql_status".

Щоб додати стовпець, перейдіть у режим моніторингу реплікації за допомогою клавіші «M» і натисніть
клавішу '^', щоб запустити редактор таблиці. Коли буде запропоновано, виберіть slave_sql_status як
таблиці, а потім натисніть 'n', щоб створити стовпець. Введіть "повторні спроби" як назву стовпця, "повторні спроби"
як заголовок стовпця, а "Slave_retried_transactions" як джерело. Тепер колона
створено, і ви знову побачите екран редактора таблиці. Натисніть 'q', щоб вийти з редактора таблиць,
і ви побачите свій стовпець у кінці таблиці.

ЗМІННИЙ НАБОРИ


Набори змінних використовуються в режимі "S: змінні та статус", щоб легше визначити, що
змінні, які потрібно відстежувати. За лаштунками вони складені в список
вирази, а потім у список стовпців, щоб їх можна було обробляти так само, як і стовпці в будь-якому
інша таблиця з точки зору вилучення та перетворення даних. Однак ви захищені
від нудних деталей за допомогою синтаксису, який має здаватися вам дуже природним: SQL SELECT
список

Джерелом даних для наборів змінних, як і для всього режиму S, є комбінація
ПОКАЗАТИ СТАТУС, ПОКАЗАТИ ЗМІННІ та ПОКАЗАТИ СТАТУС INNODB. Уявіть, що у вас є величезний стіл
з одним стовпцем на кожну змінну, що повертається з цих операторів. Це джерело даних для
змінні набори. Тепер ви можете запитувати це джерело даних, як і очікували. Наприклад:

Запитання, час безперервної роботи, питання/час роботи як QPS

За лаштунками innotop розділить набір змінних на три вирази, компілює
і перетворите їх у визначення таблиці, а потім витягніть, як зазвичай. Це стає a
"набір змінних" або "список змінних, які потрібно відстежувати".

innotop дозволяє вам називати та зберігати ваші набори змінних, а також записує їх у конфігурацію
файл. Ви можете вибрати, який набір змінних ви хочете бачити, за допомогою клавіші «c», або активувати
наступний і попередній набори за допомогою клавіш «>» і «<». Існує багато вбудованих наборів змінних
також, що повинно дати вам хороший початок для створення власного. Натисніть «e», щоб відредагувати
поточний набір змінних, або просто щоб побачити, як вона визначена. Щоб створити новий, просто натисніть
"c" і введіть його назву.

Ви можете скористатися деякими з функцій, перелічених у розділі "ТРАНСФОРМАЦІЇ", щоб допомогти відформатувати файл
результати. Зокрема, «set_precision» часто корисний для обмеження кількості цифр
подивитися. Розширюючи наведений вище приклад, ось як:

Questions, Uptime, set_precision(Questions/Uptime) як QPS

Насправді, це ще потребує трохи більше роботи. Якщо ваш «інтервал» менший за одиницю
по-друге, ви можете ділити на нуль, оскільки в цьому режимі час безперервної роботи збільшується на
за замовчуванням. Замість цього використовуйте Uptime_hires:

Questions, Uptime, set_precision(Questions/Uptime_hires) як QPS

Цей приклад простий, але він показує, як легко вибрати, які змінні ви хочете
монітор

плагіни


innotop має простий, але потужний механізм плагінів, за допомогою якого ви можете розширити або змінити його
наявну функціональність та додайте нову. Функціональність плагіна innotop є
на основі подій: плагіни реєструються для виклику, коли відбуваються події. Тоді вони мають
можливість вплинути на подію.

Плагін innotop — це модуль Perl, розміщений у каталозі "plugin_dir" innotop. На UNIX
системи, ви можете розмістити символічне посилання на модуль замість того, щоб розміщувати фактичний файл
там. innotop автоматично виявляє файл. Якщо є відповідний запис в
розділ файлу конфігурації «плагіни», innotop завантажує та активує плагін.

Модуль повинен відповідати інтерфейсу плагінів innotop. Крім того, вихідний код
модуль повинен бути написаний таким чином, щоб innotop міг перевірити файл і визначити
назва пакета та опис.

пакет Source Конвенція
innotop перевіряє джерело модуля плагіна, щоб визначити назву пакета Perl. Це виглядає
для рядка виду "пакет Foo;" і якщо знайдено, розглядає назву пакета плагіна до
бути Foo. Звичайно, ім’я пакета може бути дійсним ім’ям пакета Perl з подвійним
крапки з комою тощо.

Він також шукає опис у вихідному коді, щоб зробити редактор плагінів більш людським
дружній. Опис являє собою рядок коментаря у формі "# description: Foo", де "Foo"
це текст, який innotop вважатиме описом плагіна.

Підключати інтерфейс
Інтерфейс плагіна innotop досить простий: innotop очікує, що плагін буде об’єктним.
орієнтований модуль, він може викликати певні методи. Методи є

новий (%змінних)
Це конструктор плагіна. Передається хеш змінних innotop, який
ним можна маніпулювати (див. «Змінні плагіна»). Він повинен повернути посилання на newly
створений об’єкт плагіна.

Під час побудови innotop лише завантажив загальну конфігурацію та створив
вбудовані змінні за замовчуванням з їх вмістом за замовчуванням (а це досить багато).
Тому стан програми точно такий, як у вихідному коді innotop, плюс
змінні конфігурації з розділу «загальні» у файлі конфігурації.

Якщо ваш плагін маніпулює змінними, він змінює загальні дані, які є загальними
від innotop і всіх плагінів. Плагіни завантажуються в тому порядку, в якому вони вказані
файл конфігурації. Ваш плагін може завантажуватися до або після іншого плагіна, тому існує a
можливість конфлікту або взаємодії між плагінами, якщо вони змінюють інші дані
використовувати або змінювати плагіни.

register_for_events()
Цей метод повинен повернути список подій, які цікавлять плагін, якщо такі є.
Визначені події див. у розділі «Події плагіна». Якщо плагін повертає подію, яка не є
визначено, подія ігнорується.

обробники подій
Плагін повинен реалізувати метод, названий так само, як і кожна подія, для якої він має
зареєстровані. Іншими словами, якщо плагін повертає qw(foo bar) from
register_for_events(), це повинно бути foo () та бар () методи. Ці методи є
зворотні виклики для подій. Додаткову інформацію про кожну подію див. у розділі «Події плагіна».

Підключати Змінні
Конструктору плагіна передається хеш змінних innotop, якими він може маніпулювати.
Мабуть, буде гарною ідеєю, якщо об’єкт плагіна збереже його копію для подальшого використання. The
змінні визначені у змінній innotop %pluggable_vars і мають такий вигляд:

action_for
Хеш-реф зіставлення ключів. Це глобальні гарячі клавіші innotop.

agg_funcs
Хеш-реф функцій, які можна використовувати для групування. Дивіться «ГРУПУВАННЯ».

конфиг
Хеш глобальної конфігурації.

зв'язку
Хеш-реф специфікацій підключення. Це лише специфікації того, як
підключитися до сервера.

dbhs
Хеш-реф з’єднань з базою даних innotop. Це фактичні об'єкти з'єднання DBI.

Фільтри
Хеш-реф фільтрів, застосованих до рядків таблиці. Додаткову інформацію див. у розділі «ФІЛЬТРИ».

Режими
Хеш-реф режимів. Додаткову інформацію див. у розділі "РЕЖИМИ".

групи_серверів
Хеш-реф груп серверів. Дивіться «ГРУПИ СЕРВЕРА».

tbl_meta
Хеш-реф метаданих таблиці innotop з одним записом на таблицю (див. «ТАБЛИЦІ» для
більше інформації).

trans_funcs
Хеш-реф функцій перетворення. Дивіться «ТРАНСФОРМАЦІЇ».

var_sets
Хеш-реф наборів змінних. Дивіться «НАБІРИ ЗМІННИХ».

Підключати Події
Кожна подія визначена десь у вихідному коді innotop. Коли innotop запускає цей код,
він виконує функцію зворотного виклику для кожного плагіна, який виявив свій інтерес до
подія. innotop передає деякі дані для кожної події. Події визначені в
%event_listener_for змінна, і є такими:

extract_values($set, $cur, $pre, $tbl)
Ця подія відбувається всередині функції, яка витягує значення з джерела даних. The
Аргументи — це набір значень, поточні значення, попередні значення та
ім'я таблиці.

set_to_tbl
Події визначаються в багатьох місцях цієї підпрограми, яка відповідає за поворот
arrayref з хеш-refs в масив рядків, які можна надрукувати на екрані.
Усі події передають одні й ті ж дані: масив рядків і назву таблиці
створений. Події 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)
Ця подія відбувається всередині підпрограми, яка друкує рядки на екран. $lines
є масивом рядків.

простий Підключати Приклад
Найпростіший спосіб пояснити функціональність плагіна, мабуть, на простому прикладі.
Наступний модуль додає стовпець на початок кожної таблиці та встановлює для нього значення
1.

використовувати суворий;
використовувати попередження FATAL => 'всі';

пакет Innotop::Plugin::Example;
# description: додає стовпець "приклад" до кожної таблиці

під новий {
мій ( $class, %vars ) = @_;
# Зберігати посилання на змінні innotop у $self
my $self = bless { %vars }, $class;

# Створіть приклад стовпця
мій $col = {
hdr => 'Приклад',
просто => '',
спад => 0,
кількість => 1,
label => 'Приклад',
src => 'example', # Отримати дані з цього стовпця в джерелі даних
tbl => '',
транс => [],
};

# Додайте стовпець до кожної таблиці.
мій $tbl_meta = $vars{tbl_meta};
foreach my $tbl (значення %$tbl_meta ) {
# Додайте стовпець до списку визначених стовпців
$tbl->{cols}->{example} = $col;
# Додайте стовпець до списку видимих ​​стовпців
unshift @{$tbl->{видимий}}, 'приклад';
}

# Обов'язково поверніть посилання на об'єкт.
повернути $self;
}

# Я хотів би, щоб мене викликали, коли набір даних відтворюється в таблиці, будь ласка.
підреєструватися_для_подій {
мій ( $self ) = @_;
return qw(set_to_tbl_pre_filter);
}

# Цей метод буде викликано, коли запуститься подія.
sub set_to_tbl_pre_filter {
my ( $self, $rows, $tbl ) = @_;
# Встановіть джерело даних прикладу стовпця на значення 1.
foreach мій $row ( @$rows ) {
$row->{example} = 1;
}
}

1;

Підключати редактор
Редактор плагінів дає змогу переглядати плагіни, виявлені Innotop, а також активувати чи деактивувати
їх. Запустіть редактор, натиснувши $, щоб запустити редактор конфігурації з будь-якого режиму.
Натисніть клавішу 'p', щоб запустити редактор плагінів. Ви побачите список плагінів innotop
виявлено. Ви можете використовувати клавіші «j» і «k», щоб перемістити виділення до потрібного,
потім натисніть клавішу *, щоб перемкнути його активним або неактивним. Вийдіть з редактора та перезапустіть innotop
щоб зміни вступили в силу.

SQL ЗАЯВА


innotop використовує обмежений набір операторів SQL для отримання даних з MySQL для відображення. The
оператори налаштовуються залежно від версії сервера, на якому вони виконуються;
наприклад, на MySQL 5 і новіших версіях INNODB_STATUS виконує "SHOW ENGINE INNODB STATUS",
тоді як у попередніх версіях він виконує "SHOW INNODB STATUS". Заяви такі як
наступним чином:

Оператор SQL виконано
=================== ================================
INNODB_STATUS ПОКАЗАТИ [ДВИГУН] СТАТУС INNODB
KILL_CONNECTION ВБИТИ
KILL_QUERY KILL QUERY
OPEN_TABLES ПОКАЗАТИ ВІДКРИТІ ТАБЛИЦІ
СПИСОК ПРОЦЕСІВ ПОКАЗАТИ ПОВНИЙ СПИСОК ПРОЦЕСІВ
SHOW_MASTER_LOGS ПОКАЗАТИ ГОЛОВНІ ЖУРНАЛИ
SHOW_MASTER_STATUS ПОКАЗАТИ ГОЛОВНИЙ СТАТУС
SHOW_SLAVE_STATUS ПОКАЗАТИ СТАТУС СЛАВ
SHOW_STATUS ПОКАЗАТИ [ГЛОБАЛЬНИЙ] СТАТУС
SHOW_VARIABLES ПОКАЗАТИ [ГЛОБАЛЬНІ] ЗМІННІ

ДАНІ ДЖЕРЕЛА


Кожного разу, коли innotop витягує значення для створення таблиці (див. «ВИРАЗИ» та «ТАБЛИЦІ»), він
робить це з певного джерела даних. В основному через складні дані, отримані з
ПОКАЗАТИ СТАТУС INNODB, це трохи брудно. ПОКАЗАТИ СТАТУС INNODB містить суміш
поодинокі значення та повторювані значення, які утворюють вкладені набори даних.

Щоразу, коли innotop отримує дані з MySQL, він додає два додаткові біти до кожного набору: cxn і
Uptime_hires. cxn — ім'я з'єднання, з якого надходять дані. Uptime_hires
є версією з високою роздільною здатністю змінної статусу сервера, що важливо, якщо
ваш параметр "інтервал" становить менше секунди.

Ось типи джерел даних, з яких витягуються дані:

STATUS_VARIABLES
Це найширша категорія, до якої потрапляє більшість видів даних. Воно починається з
комбінація SHOW STATUS та SHOW VARIABLS, але можуть бути включені й інші джерела
за потреби, наприклад, SHOW MASTER STATUS і SHOW SLAVE STATUS, а також багато з
неповторювані значення з SHOW INNODB STATUS.

DEADLOCK_LOCKS
Ці дані витягуються зі списку транзакцій у ОСНОВНІЙ ВИЗНАЧЕНій ЗАХОДІ
розділ ПОКАЗАТИ СТАТУС INNODB. Він вкладений два рівні глибини: транзакції, потім
замки.

DEADLOCK_TRANSACTIONS
Ці дані взято зі списку трансакцій в розділі ОСТАННІЙ ВИНАКЛЕНИЙ ЗАСТУП SHOW
СТАТУС INNODB. Він вкладений в глибину одного рівня.

ПОЯСНІТЬ
Ці дані взято з набору результатів, який повертає EXPLAIN.

INNODB_TRANSACTIONS
Ці дані взято з розділу TRANSACTIONS розділу ПОКАЗАТИ СТАТУС INNODB.

IO_THREADS
Ці дані зі списку потоків у розділі FILE I/O SHOW INNODB
СТАТУС.

INNODB_LOCKS
Ці дані взято з розділу TRANSACTIONS розділу SHOW INNODB STATUS і вкладені два
рівні глибокі.

OPEN_TABLES
Ці дані взято з ПОКАЗАТИ ВІДКРИТІ ТАБЛИЦІ.

СПИСОК ПРОЦЕСІВ
Ці дані взято з ПОКАЗАТИ ПОВНИЙ СПИСОК ПРОЦЕСІВ.

OS_WAIT_ARRAY
Ці дані взяті з розділу СЕМАФОРИ SHOW INNODB STATUS і вкладені на один рівень
глибокий. Це походить із рядків, які виглядають так:

--Потік 1568861104 чекав у рядку 0 btr424cur.c ....

MYSQL ПІВЛЕГІЇ


· Ви повинні підключитися до MySQL як користувач, який має привілеї SUPER для багатьох із них
функції.

· Якщо у вас немає привілеїв SUPER, ви все одно можете запускати деякі функції, але ви цього не зможете
обов'язково бачити всі ті самі дані.

· Вам потрібен привілей PROCESS, щоб побачити список запитів, які зараз виконуються в режимі Q.

· Для запуску та зупинки підлеглих серверів потрібні спеціальні привілеї.

· Вам потрібні відповідні привілеї для створення та видалення таблиць тупиків, якщо це необхідно (див
«ПІДКЛЮЧЕННЯ СЕРВЕРА»).

SYSTEM ВИМОГИ


Звичайно, вам потрібен Perl для запуску innotop. Вам також знадобиться кілька модулів Perl: DBI,
DBD::mysql, Term::ReadKey і Time::HiRes. Вони повинні бути включені в більшість Perl
дистрибутивів, але якщо це не так, я рекомендую використовувати версії, розповсюджені разом із вашим
операційної системи або дистрибутива Perl, а не з CPAN. Term::ReadKey зокрема має
Відомо, що він викликає проблеми, якщо встановлено з CPAN.

Якщо у вас є Term::ANSIColor, innotop використовуватиме його для більш зручного форматування заголовків і
компактно. (У Microsoft Windows вам також потрібен Win32::Console::ANSI для терміналу
коди форматування, які слід дотримуватися). Якщо ви встановлюєте Term::ReadLine, бажано
Term::ReadLine::Gnu, ви отримаєте гарну підтримку автозавершення.

Я використовую innotop на Gentoo GNU/Linux, Debian та Ubuntu, і я отримав відгуки від людей
успішно запустити його на Red Hat, CentOS, Solaris і Mac OSX. Я не бачу жодної причини
чому він не працюватиме в інших операційних системах UNIX, але я точно не знаю. Він також
працює в Windows під ActivePerl без проблем.

innotop використовувався у версіях MySQL 3.23.58, 4.0.27, 4.1.0, 4.1.22, 5.0.26, 5.1.15,
та 5.2.3. Якщо він не працює належним чином для вас, це помилка, про яку слід повідомити.

Використовуйте innotop онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

  • 1
    Phaser
    Phaser
    Phaser — це швидке, безкоштовне та веселе відкриття
    вихідний ігровий фреймворк HTML5, який пропонує
    Взаємовідображення WebGL і Canvas
    настільні та мобільні веб-браузери. Ігри
    можна спільно...
    Завантажити Phaser
  • 2
    Двигун ВАССАЛ
    Двигун ВАССАЛ
    VASSAL — ігровий движок для створення
    електронні версії традиційної дошки
    і карткові ігри. Він забезпечує підтримку для
    рендеринг і взаємодія ігрових елементів,
    і ...
    Завантажити VASSAL Engine
  • 3
    OpenPDF - форк iText
    OpenPDF - форк iText
    OpenPDF - це бібліотека Java для створення
    і редагування файлів PDF за допомогою LGPL і
    Ліцензія з відкритим кодом MPL. OpenPDF - це
    LGPL/MPL з відкритим кодом наступник iText,
    має ...
    Завантажте OpenPDF - Fork of iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Система для автоматизації
    Географічні аналізи - це географічні
    Програмне забезпечення інформаційної системи (ГІС) с
    величезні можливості для геоданих
    обробка та ана...
    Завантажити SAGA GIS
  • 5
    Панель інструментів для Java/JTOpen
    Панель інструментів для Java/JTOpen
    IBM Toolbox для Java / JTOpen є a
    бібліотека класів Java, що підтримують
    програмування клієнт/сервер та Інтернет
    моделі до системи під керуванням OS/400,
    i5/OS, o...
    Завантажте Toolbox для Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (або D3 для документів, керованих даними)
    це бібліотека JavaScript, яка дозволяє вам
    створювати динамічні інтерактивні дані
    візуалізації у веб-браузерах. З D3
    ти ...
    Завантажити D3.js
  • Детальніше »

Команди Linux

  • 1
    abidiff
    abidiff
    abidiff - порівняння ABI файлів ELF
    abidiff порівнює двійковий файл програми
    Інтерфейси (ABI) двох спільних бібліотек
    у форматі ELF. Воно випромінює змістовне
    звіт...
    Запустіть abidiff
  • 2
    abidw
    abidw
    abidw - серіалізує ABI ELF
    файл abidw читає спільну бібліотеку в ELF
    форматує та створює представлення XML
    свого ABI до стандартного виводу. The
    випущений ...
    Запустіть abidw
  • 3
    copac2xml
    copac2xml
    bibutils - перетворення бібліографії
    комунальні послуги ...
    Запустіть copac2xml
  • 4
    копт
    копт
    copt - оптимізатор вічка SYSNOPIS:
    файл copt.. ОПИС: copt - це a
    оптимізатор вічко загального призначення. Це
    читає код зі свого стандартного вводу та
    пише...
    Біг копт
  • 5
    gather_stx_titles
    gather_stx_titles
    gather_stx_titles - заголовок збірки
    декларації з документів Stx ...
    Запустіть gather_stx_titles
  • 6
    гатлінг-бенч
    гатлінг-бенч
    bench - http benchmark ...
    Лава для бігу Гатлінга
  • Детальніше »

Ad