АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

innotop - Интернет в облаке

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

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

ПРОГРАММА:

ИМЯ


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

СИНТАКСИС


Чтобы нормально контролировать серверы:

Innotop

Чтобы отслеживать информацию о состоянии InnoDB из файла:

innotop /var/log/mysql/mysqld.err

Чтобы запустить innotop в неинтерактивном режиме в конфигурации конвейера и фильтра:

innotop --count 5 -d 1 -n

Чтобы контролировать базу данных в другой системе с использованием определенного имени пользователя и пароля:

innotop -u -п -час

ОПИСАНИЕ


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
localhost Всего 0.00 1.07 тыс. 697 0.00% 98.17% 476.83 тыс. 242.83 тыс.

CXN Cmd ID пользователя Хост БД Запрос времени
localhost Запрос 766446598 test 10.0.0.1 foo 00:02 INSERT INTO table (

(Этот образец усечен справа, поэтому он поместится на терминале при запуске 'man
innotop ')

Если ваш сервер занят, вы увидите больше результатов. Обратите внимание на первую строку на экране,
который сообщает вам, что для readonly установлено значение true ([RO]), в каком режиме вы находитесь и на каком сервере
вы подключены к. Вы можете перейти в другой режим нажатием клавиш; нажмите 'T' для переключения
к списку транзакций InnoDB, например.

Нажмите '?' клавишу, чтобы увидеть, какие клавиши активны в текущем режиме. Вы можете нажать любую из
эти клавиши и innotop либо выполнят запрошенное действие, либо предложат вам ввести дополнительные данные.
Если ваша система поддерживает Term :: ReadLine, вы можете использовать TAB и другие клавиши для автозаполнения.
и отредактируйте ввод.

Чтобы выйти из innotop, нажмите клавишу «q».

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


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

Вы можете отменить некоторые параметры, добавив к имени параметра префикс --no. Например, --noinc
(или --no-inc) отменяет "--inc".

--цвет
Включение или отключение окраски терминала. Соответствует настройке файла конфигурации "цвет".

--config
Задает файл конфигурации для чтения. Этот вариант нелипкий, то есть
не сохраняется в самом файле конфигурации.

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

--задерживать
Задает интервал времени для паузы между отметками (обновлениями). Соответствует
вариант конфигурации «интервал».

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

--хозяин
Хост для подключения.

--вкл.
Указывает, должен ли innotop отображать абсолютные числа или относительные числа (смещения
от их предыдущих значений). Соответствует параметру конфигурации status_inc.

--Режим
Задает режим, в котором должен запускаться innotop. Соответствует комплектации
вариант "режим".

--нонинт
Разрешить неинтерактивную работу. См. "НЕИНТЕРАКТИВНАЯ РАБОТА" для получения дополнительной информации.

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

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

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

--Пользователь
Пользователь, который будет использоваться для подключения.

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

--записывать
Устанавливает параметр конфигурации "только для чтения" в 0, заставляя innotop записывать
конфигурация для ~ / .innotop / innotop.conf при выходе, если файл конфигурации не был загружен
при запуске.

Горячие клавиши


innotop интерактивен, и вы управляете им нажатием клавиш.

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

· Строчные клавиши инициируют некоторые действия в текущем режиме.

· Другие ключи делают что-то особенное, например, изменяют конфигурацию или показывают лицензию innotop.

Нажмите '?' в любое время, чтобы увидеть активные в данный момент ключи и то, что они делают.

РЕЖИМЫ


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

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

Этот режим содержит "буфер_пул", "статистика_страниц", "вставки_буферов" и
Таблицы "adaptive_hash_index" по умолчанию.

C: Сводка команд
Этот режим аналогичен режиму сводки команд mytop. Он показывает "cmd_summary"
table, который выглядит примерно так:

Сводка команд (? Для справки) localhost, 25 + 07: 16: 43, 2.45 QPS, 3 thd, 5.0.40
_____________________ Сводка команд _____________________
Имя Значение Pct Последний Incr Pct
Select_scan 3244858 69.89% 2%
Диапазон выбора 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
СТАТУС вывод. Если блокировок много, информация о тупиках может очень сильно увеличиться.
большой, и есть ограничение на размер вывода SHOW INNODB STATUS. Большой
взаимоблокировка может заполнить весь вывод или даже быть усечена, и вы не увидите
другая информация вообще. Если вы используете innotop в другом режиме, например T
режиме, и вдруг вы ничего не видите, вы можете проверить и посмотреть, есть ли
взаимоблокировка уничтожила нужные вам данные.

Если это так, вы можете создать небольшой тупик, чтобы заменить большой. Используйте клавишу '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 по умолчанию.

L: замки
В этом режиме отображается информация о текущих блокировках. На данный момент доступны только блокировки InnoDB.
поддерживается, и по умолчанию вы увидите только те блокировки, которые ожидают транзакции.
Эта информация поступает из раздела TRANSACTIONS в тексте статуса InnoDB. Если
у вас очень загруженный сервер, у вас могут быть частые ожидания блокировки; это помогает уметь
посмотрите, какие таблицы и индексы являются «горячей точкой» для блокировок. Если ваш сервер запущен
ну, этот режим ничего не должен показывать.

Вы можете настроить MySQL и innotop для отслеживания не только блокировок, для которых транзакция
ждет, но и те на данный момент тоже проходят. Вы можете сделать это с помощью InnoDB Lock
Монитор (http://dev.mysql.com/doc/en/innodb-monitor.html>). Это не задокументировано в
руководство по MySQL, но создание монитора блокировки с помощью следующего оператора также
влияет на вывод SHOW INNODB STATUS, который innotop использует:

СОЗДАТЬ ТАБЛИЦУ innodb_lock_monitor (int) ENGINE = INNODB;

Это заставляет InnoDB печатать свой вывод в файл MySQL каждые 16 секунд или около того, как
указано в руководстве, но при этом обычный вывод SHOW INNODB STATUS включает
информация о блокировке, которую innotop может анализировать и отображать (это недокументированные
особенность).

Это означает, что вы можете делать то, что казалось невозможным: в ограниченной степени (InnoDB
усекает некоторую информацию в выводе), вы можете увидеть, какая транзакция содержит
блокирует что-то еще ждет. Вы также можете включать и отключать блокировку InnoDB.
Монитор с отображением клавиш в этом режиме.

В этом режиме по умолчанию отображается таблица innodb_locks. Вот образец экрана
когда одно соединение ожидает блокировок, другое соединение удерживается:

_________________________________ Блокировки InnoDB __________________________
CXN ID Тип Ожидание Ожидание Индекс таблицы базы данных активного режима
localhost 12 ЗАПИСЬ 1 00:10 00:10 X test t1 PRIMARY
localhost 12 ТАБЛИЦА 0 00:10 00:10 IX test t1
localhost 12 ЗАПИСЬ 1 00:10 00:10 X test t1 PRIMARY
localhost 11 ТАБЛИЦА 0 00:00 00:25 IX test t1
localhost 11 ЗАПИСЬ 0 00:00 00:25 X test t1 PRIMARY

Вы можете видеть, что первое соединение с ID 12 ожидает блокировки ПЕРВИЧНОЙ клавиши на
test.t1 и ждал 10 секунд. Второе соединение не ждет,
потому что столбец Ожидание равен 0, но он содержит блокировки по тому же индексу. Это говорит вам
соединение 11 блокирует соединение 12.

M: состояние репликации ведущего / ведомого устройства
Этот режим показывает вывод SHOW SLAVE STATUS и SHOW MASTER STATUS в трех
столы. Первые два делят статус ведомого на SQL и статус потока ввода-вывода, и
последний показывает статус мастера. Фильтры применяются для исключения не подчиненных серверов из
подчиненные таблицы и не главные серверы из главной таблицы.

В этом режиме отображаются «slave_sql_status», «slave_io_status» и «master_status».
таблицы по умолчанию.

O: Открытые таблицы
Этот раздел взят из команды MySQL SHOW OPEN TABLES. По умолчанию фильтруется
чтобы показать таблицы, которые используются одним или несколькими запросами, чтобы вы могли быстро взглянуть на
какие столы «горячие». Вы можете использовать это, чтобы угадать, какие таблицы могут быть заблокированы
неявно.

В этом режиме по умолчанию отображается режим «open_tables».

Q: Список запросов
Этот режим отображает вывод SHOW FULL PROCESSLIST, как и Mytopсписок запросов
режим. Этот режим делает не показать информацию, относящуюся к InnoDB. Это наверное один из
наиболее полезные режимы для общего пользования.

Есть информативный заголовок, который показывает общую информацию о статусе вашего
сервер. Вы можете включать и выключать его с помощью клавиши «h». По умолчанию innotop скрывает
неактивные процессы и собственный процесс. Вы можете включать и выключать их с помощью 'i'
и клавиши "а".

Вы можете ОБЪЯСНЯТЬ запрос из этого режима с помощью клавиши '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' изменяет вид на
график одинаковых чисел, вроде как загружать. Клавиша "v" изменяет вид на
сводная таблица имен переменных слева, с последовательными обновлениями, прокручивающимися по
экран слева направо. Вы можете выбрать, сколько обновлений выводить на экран
с переменной конфигурации "num_status_sets".

Заголовки могут быть сокращены, чтобы соответствовать экрану в интерактивном режиме. Твой выбор
какие переменные отображать с помощью клавиши 'c', которая выбирается из предопределенных наборов, или
позволяет создавать свои собственные наборы. Вы можете редактировать текущий набор с помощью клавиши «e».

В этом режиме не отображаются таблицы, как в других режимах. Вместо этого он использует
определение таблицы для извлечения и форматирования данных, но затем преобразует результат в
специальные способы перед его выводом. Он использует определение таблицы "var_status" для
.

T: транзакции InnoDB
Этот режим показывает транзакции из вывода монитора InnoDB в топ-подобный формат.
Этот режим - причина, по которой я написал innotop.

Вы можете уничтожать запросы или процессы с помощью клавиш 'k' и 'x', а ОБЪЯСНЯТЬ запрос с помощью
клавиши "е" или "f". InnoDB не печатает полный запрос в транзакциях, поэтому
объяснение может не сработать, если запрос усечен.

Информационный заголовок можно включать и выключать с помощью клавиши «h». По умолчанию,
innotop скрывает неактивные транзакции и свою собственную транзакцию. Вы можете включить это
и выключить клавишами «i» и «a».

В этом режиме по умолчанию отображаются таблицы «t_header» и «innodb_transactions».

ИННОТОП статус


Первая строка, отображаемая innotop, представляет собой своего рода «строку состояния». Что в нем содержится, зависит от
в каком режиме вы находитесь и какие серверы вы отслеживаете. Первые несколько слов всегда
[RO] (если readonly установлен в 1), режим innotop, такой как "InnoDB Txns" для режима T,
с последующим напоминанием нажать "?" за помощью в любое время.

ONE SERVER
Самый простой случай - это когда вы отслеживаете один сервер. В этом случае имя
следующее соединение в строке состояния. Это имя, которое вы дали при создании
соединение - скорее всего, имя хоста сервера MySQL. Далее следует серверный
время безотказной работы.

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

Следующие два слова указывают количество запросов сервера в секунду (QPS) и количество потоков.
(связи) существуют. И, наконец, номер версии сервера - это последнее, что нужно сказать.

НЕСКОЛЬКО СЕРВЕРЫ
Если вы отслеживаете несколько серверов (см. «ПОДКЛЮЧЕНИЯ СЕРВЕРА»), в строке состояния отображается
не показывать никаких подробностей об отдельных серверах. Вместо этого отображаются имена
подключений, которые активны. Опять же, это указанные вами имена подключений,
скорее всего, это имя хоста сервера. Соединение с ошибкой имеет префикс
восклицательный знак.

Если вы отслеживаете группу серверов (см. «ГРУППЫ СЕРВЕРОВ»), в строке состояния отображается
название группы. Если какое-либо соединение в группе имеет ошибку, название группы будет
за которым следует доля соединений, в которых нет ошибок.

См. «ОБРАБОТКА ОШИБОК» для получения более подробной информации об обработке ошибок innotop.

МОНИТОРИНГ A ФАЙЛОВ
Если вы укажете имя файла в командной строке, innotop не будет подключаться к ЛЮБЫМ серверам в
все. Он будет следить за указанным файлом для вывода статуса InnoDB и использовать его в качестве своих данных.
источник. Он всегда будет показывать одно соединение под названием «файл». И так как это не может
подключиться к серверу, он не может определить, как долго отслеживаемый сервер работает;
поэтому он рассчитывает время безотказной работы сервера как время с момента запуска innotop.

SERVER АДМИНИСТРАЦИЯ


Хотя innotop - это в первую очередь монитор, который позволяет вам наблюдать и анализировать ваши серверы, он может
также отправляйте команды на серверы. Наиболее часто используемые команды убивают запросы
и остановка или запуск рабов.

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

В «Статус репликации ведомого» в «M: ведущем режиме» вы можете запускать и останавливать ведомые устройства с помощью
Клавиши «а» и «о» соответственно. Вы можете отправить эти команды сразу нескольким подчиненным.
innotop заполняет для вас команду по умолчанию START SLAVE или STOP SLAVE, но вы можете
на самом деле отредактируйте команду и отправьте все, что хотите, например SET GLOBAL
SQL_SLAVE_SKIP_COUNTER = 1, чтобы ведомое устройство пропустило одно событие binlog при запуске.

Вы также можете попросить innotop вычислить самый ранний бинлог, используемый любым ведомым устройством, и выдать
ПРОДУВКА МАСТЕР ЖУРНАЛЫ на мастере. Для этого используйте клавишу «b». innotop предложит вам
master для запуска команды, затем запросит имена подключений этого мастера
ведомые устройства (innotop не может сам надежно определить это). innotop найдет
минимальный бинлог, используемый этими подчиненными соединениями, и предложить его в качестве аргумента для
ПРОДУВКА ГЛАВНЫХ ЖУРНАЛОВ.

SERVER ПОДКЛЮЧЕНИЕ


Когда вы создаете соединение с сервером, используя '@', innotop запрашивает у вас ряд входных данных, как
следующим образом:

DSN DSN - это имя источника данных, которое является начальным аргументом, передаваемым модулю DBI.
для подключения к серверу. Обычно это форма

DBI: mysql:; mysql_read_default_group = mysql; хост = ИМЯ ХОСТА

Поскольку этот 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-подобных системах. Вы можете использовать это, чтобы не указывать
имя пользователя или пароль для подключения.

Таблица тупиков InnoDB
Этот необязательный элемент сообщает innotop имя таблицы, которое он может использовать для преднамеренного создания
небольшой тупик (см. «D: тупики InnoDB»). Если вы укажете эту опцию, вам просто нужно
чтобы убедиться, что таблица не существует, и что innotop может создавать и удалять таблицу
с механизмом хранения InnoDB. Вы можете смело опустить или просто принять значение по умолчанию, если вы
не собираюсь использовать это.

Имя пользователя
innotop спросит вас, хотите ли вы указать имя пользователя. Если вы скажете «у», он будет
запросить имя пользователя. Если у вас есть файл опций MySQL, в котором указан ваш
имя пользователя, вам не нужно указывать имя пользователя.

По умолчанию в качестве имени пользователя используется ваше имя для входа в систему, в которой вы работаете с innotop.

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

Как только вы ответите на эти вопросы, вы должны подключиться к серверу. Но
innotop не ограничивается мониторингом одного сервера; вы можете определить много серверов
соединения и переключаться между ними, нажимая клавишу '@'. См. «ПЕРЕКЛЮЧЕНИЕ МЕЖДУ
СОЕДИНЕНИЯ ».

SERVER ГРУППЫ


Если у вас несколько экземпляров MySQL, вы можете поместить их в именованные группы, такие как 'all',
«мастера» и «подчиненные», которые innotop может контролировать все вместе.

Вы можете выбрать группу для мониторинга с помощью клавиши '#', и вы можете нажать клавишу TAB, чтобы
перейти к следующей группе. Если вы в настоящее время не наблюдаете за группой, нажмите клавишу TAB
выбирает первую группу.

Чтобы создать группу, нажмите клавишу '#' и введите имя вашей новой группы, затем введите
имена подключений, которые должна содержать группа.

ПЕРЕКЛЮЧЕНИЕ МЕЖДУ ПОДКЛЮЧЕНИЕ


innotop позволяет быстро переключать отслеживаемые серверы. Самый простой способ -
нажатие клавиши '@' и ввод имени (имен) соединения (й), которое вы хотите использовать. Этот
настройка для каждого режима, поэтому вы можете отслеживать разные соединения в каждом режиме, а innotop
запоминает, какие соединения вы выбираете.

Вы можете быстро переключиться на «следующее» соединение в алфавитном порядке с помощью клавиши «n».
Если вы отслеживаете группу серверов (см. «ГРУППЫ СЕРВЕРОВ»), это переключится на первую
подключение.

Вы также можете ввести много имен подключений, и innotop будет извлекать и отображать данные из них.
все. Просто разделите имена подключений пробелами, например «server1 server2».
Опять же, если вы введете имя несуществующего соединения, innotop предложит вам
для получения информации о подключении и создайте подключение.

Другой способ одновременного отслеживания нескольких подключений - это группы серверов. Ты можешь использовать
нажмите клавишу TAB, чтобы перейти к следующей группе в алфавитном порядке, или, если вы не
наблюдая за любыми группами, TAB переключится на первую группу.

innotop не извлекает данные из подключений параллельно, поэтому, если вы отслеживаете большой
группа или много соединений, вы можете заметить увеличенную задержку между тиками.

Когда вы отслеживаете более одного соединения, строка состояния innotop изменяется. См. «ИННОТОП
СТАТУС".

ОШИБКА ОБРАЩЕНИЕ


Обработка ошибок не так важна при мониторинге отдельного соединения, но имеет решающее значение.
когда у вас много активных подключений. Неисправный сервер или потеря соединения не должны
сбой innotop. В результате innotop продолжит работу даже в случае ошибки; Это
просто не будет отображать информацию о соединении, в котором произошла ошибка. Потому что
это поведение innotop может вас смутить. Это особенность, а не ошибка!

innotop не продолжает опрашивать соединения, в которых есть ошибки, потому что они могут замедлить
innotop и затруднить его использование, особенно если ошибка связана с проблемой подключения и
вызывает длительный перерыв. Вместо этого innotop время от времени пытается установить соединение, чтобы проверить,
ошибка все еще существует. Если так, он подождет до определенного момента в будущем. Ожидание
время увеличивается в тиках, как ряд Фибоначчи, поэтому он пытается реже, чем время
проходит.

Поскольку ошибки могут возникать только в определенных режимах из-за команд SQL, введенных в
В этих режимах innotop отслеживает, какой режим вызвал ошибку. Если вы переключитесь на
В другом режиме 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 являются
не загружен. 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 не выводит строку состояния (см. «СТАТУС INNOTOP»).

НАСТРОЙКА


Почти все в innotop можно настроить. Большинство вещей можно изменить с помощью
встроенные команды, но вы также можете редактировать файл конфигурации.

При запуске innotop нажмите клавишу «$», чтобы открыть диалоговое окно редактирования конфигурации.
Нажмите другую клавишу, чтобы выбрать тип данных, которые вы хотите редактировать:

S: Заявление о времени сна
Изменяет задержки ожидания для операторов SQL, которые делают паузу innotop на указанное количество
время после выполнения заявления. См. «ЗАЯВЛЕНИЯ SQL» для определения каждого
заявление и что он делает. По умолчанию innotop не задерживается после каких-либо операторов.

Эта функция включена, поэтому вы можете настроить побочные эффекты, вызванные мониторингом.
ваш сервер. Вы можете не увидеть никаких эффектов, но некоторые пользователи innotop заметили, что
определенные версии MySQL при очень высокой нагрузке с включенным InnoDB занимают больше времени, чем обычно
выполнить ПОКАЗАТЬ ГЛОБАЛЬНЫЙ СТАТУС. Если innotop немедленно вызывает SHOW FULL PROCESSLIST
после этого список процессов будет содержать больше запросов, чем машина фактически усредняет на
в любой момент. Настройка innotop на короткую паузу после вызова SHOW GLOBAL
СТАТУС смягчает этот эффект.

Время ожидания хранится в разделе «stmt_sleep_times» файла конфигурации.
Поддерживаются режимы сна с долей секунды, в зависимости от ограничений вашего оборудования.

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

g: Общая конфигурация
Запускает редактор конфигурации для редактирования глобальной конфигурации и конфигурации для конкретного режима.
переменные (см. «РЕЖИМЫ»). innotop предложит вам выбрать переменную из числа
глобальные и специфичные для режима в зависимости от текущего режима.

k: Правила раскраски строк
Запускает редактор правил раскраски строк для одной из отображаемых таблиц. См. «ЦВЕТА»
для получения информации.

p: Управление плагинами
Запускает редактор конфигурации плагина. Подробнее см. «ПЛАГИНЫ».

s: Группы серверов
Позволяет создавать и редактировать группы серверов. См. «ГРУППЫ СЕРВЕРОВ».

t: выбрать отображаемые таблицы
Позволяет выбрать, какие таблицы отображать в этом режиме. См. «РЕЖИМЫ» и «ТАБЛИЦЫ».

КОНФИГУРАЦИЯ ФАЙЛОВ


Расположение файлов конфигурации innotop по умолчанию: $ HOME / .innotop и
/etc/innotop/innotop.conf, и они ищутся в этом порядке. Если первый
файл конфигурации существует, второй обрабатываться не будет. Их можно переопределить с помощью
параметр командной строки "--config". Вы можете безопасно редактировать его вручную, однако innotop читает
файл конфигурации, когда он запускается, и, если readonly установлен в 0, записывает его снова
когда он выходит. Таким образом, если readonly установлен в 0, любые изменения, которые вы вносите вручную, пока innotop
работает будет потеряно.

innotop не сохраняет всю свою конфигурацию в файле конфигурации. Имеет огромное
набор значений конфигурации по умолчанию, которые он хранит только в памяти, а конфигурация
файл только отменяет эти значения по умолчанию. Когда вы изменяете настройку по умолчанию, innotop
уведомлений, а затем сохраняет настройки в файл. Это уменьшает размер файла,
упрощает редактирование и упрощает обновление.

По умолчанию файл конфигурации доступен только для чтения. Вы можете изменить это с помощью "--write". Видеть
"только для чтения".

Файл конфигурации разбит на разделы, как файл INI. Каждый раздел начинается
на [имя-раздела] и заканчивается на [/ имя-раздела]. В записях каждого раздела есть
различный синтаксис в зависимости от данных, которые им нужно хранить. Вы можете оставлять комментарии в
файл; любая строка, начинающаяся с символа #, является комментарием. innotop не будет читать
комментарии, поэтому он не будет записывать их обратно в файл при выходе. Комментарии в прочтении-
однако по-прежнему полезны только файлы конфигурации.

Первая строка в файле - это номер версии innotop. Это позволяет innotop заметить, когда
формат файла не имеет обратной совместимости, и обновление выполняется плавно, не разрушая
индивидуальная конфигурация.

В следующем списке описан каждый раздел файла конфигурации и данные в нем.
содержит:

Генеральная
«Общий» раздел содержит глобальные переменные конфигурации и переменные, которые могут
быть зависимым от режима, но не принадлежать ни к какому другому разделу. Синтаксис простой
ключ = список значений. innotop пишет комментарий над каждым значением, чтобы помочь вам отредактировать файл
рукой.

S_func
Управляет представлением в S-режиме (см. «S: переменные и статус»). Если g, значения равны
в виде графика; если s, значения похожи на vmstat; если p, значения находятся в сводной таблице.

S_set
Задает набор переменных для отображения в режиме «S: переменные и состояние». Видеть
«ПЕРЕМЕННЫЕ НАБОРЫ».

auto_wipe_dl
Инструктирует innotop автоматически стирать большие тупиковые ситуации, когда замечает их.
Когда это произойдет, вы можете заметить небольшую задержку. При следующем тике вы
обычно видят информацию, которая усекалась из-за большого тупика.

кодировок
Указывает, какие символы разрешить через "no_ctrl_char"
трансформация. Это не позволяет непечатаемым символам сбивать терминал с толку.
при отслеживании запросов, содержащих двоичные данные, например изображения.

По умолчанию используется ascii, при котором все, что выходит за рамки обычного ASCII, считается
управляющий персонаж. Другие допустимые значения - unicode и none. 'никто'
считает каждый символ управляющим символом, который может быть полезен для свертывания
ВСЕ текстовые поля в запросах.

cmd_filter
Это префикс, который фильтрует переменные в режиме «C: сводка команд».

цвет
Разрешена ли окраска выводов.

cxn_timeout
В MySQL версии 4.0.3 и новее эта переменная используется для установки соединения
тайм-аут, поэтому MySQL не закрывает соединение, если оно не используется какое-то время.
Это может произойти из-за того, что соединение не отслеживается в определенном режиме для
пример.

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

файл отладки
Файл, в который innotop будет записывать информацию при сбое. Видеть
«ФАЙЛЫ».

display_table_captions
innotop отображает заголовок таблицы над большинством таблиц. Эта переменная подавляет или
показывает подписи ко всем таблицам во всем мире. Некоторые таблицы настроены с
hide_caption, которое переопределяет это.

Глобальный
Показывать ли ГЛОБАЛЬНЫЕ переменные и статус. innotop пытается сделать это только на
серверы, которые поддерживают параметр GLOBAL, чтобы ПОКАЗАТЬ ПЕРЕМЕННЫЕ и ПОКАЗАТЬ СТАТУС. В
в некоторых версиях MySQL для этого требуются определенные привилегии; если у тебя нет
их, innotop не сможет получить какие-либо переменные и данные о состоянии. Этот
переменная конфигурации позволяет запускать innotop и получать данные, которые вы можете даже
без повышенных привилегий.

Я больше не могу найти или воспроизвести ситуацию, когда ГЛОБАЛЬНОЕ было запрещено, но я
знаю, что был один.

граф_чар
Определяет символ, который будет использоваться при рисовании графиков в режиме «S: переменные и статус».

header_highlight
Определяет, как выделять заголовки столбцов. Это работает, только если Term :: ANSIColor имеет значение
доступный. Допустимые значения: «жирный» и «подчеркнутый».

скрыть_hdr
Глобально скрывает заголовки столбцов.

интервал
Интервал, с которым innotop будет обновлять свои данные (тики). Интервал
реализовано как время сна между тиками, поэтому истинный интервал будет варьироваться
в зависимости от того, сколько времени у innotop уходит на выборку и рендеринг данных.

Эта переменная принимает доли секунды.

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

число_разрядов
Сколько цифр отображать в дробных числах и процентах. Диапазон этой переменной
находится между 0 и 9 и может быть установлен непосредственно из режима «S: переменные и статус» с помощью
клавиши «+» и «-». Он используется в «set_precision», «сокращение» и «процент».
преобразования.

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 для этого
Переменная. Это глобальная настройка, но, вероятно, она станет зависимой от режима в
какой-то момент. Сейчас это почитается несколько непоследовательно; некоторые режимы не платят
внимание на это.

плагины
В этом разделе содержится список имен пакетов активных плагинов. Если плагин существует,
innotop активирует его. См. «ПЛАГИНЫ» для получения дополнительной информации.

фильтры
В этом разделе содержатся пользовательские фильтры (см. «ФИЛЬТРЫ»). Каждая строка имеет формат
filter_name = text = 'filter text' tbls = 'table list'.

Текст фильтра - это текст кода подпрограммы. Список таблиц представляет собой список
таблицы, к которым может применяться фильтр. По умолчанию пользовательские фильтры применяются к
таблицу, для которой они были созданы, но вы можете вручную переопределить это, отредактировав
определение в файле конфигурации.

активные_фильтры
В этом разделе хранятся активные фильтры для каждой таблицы. Каждая строка находится в
формат имя_таблицы = список_фильтров.

tbl_meta
В этом разделе хранятся определенные пользователем или настроенные пользователем столбцы (см. «СТОЛБЦЫ»). Каждый
строка имеет формат имя_столбца = свойства, где свойства являются
name = список значений в кавычках.

связи
В этом разделе содержатся определенные вами подключения к серверу. Каждая строка находится в
формат name = properties, где свойства представляют собой список name = value. Свойства
говорят сами за себя, и единственное, что рассматривается специально, - это "пройден",
присутствует только если установлен savepass. Этот раздел файла конфигурации будет
пропускается, если используются какие-либо параметры командной строки DSN, имени пользователя или пароля. См. "СЕРВЕР
СОЕДИНЕНИЯ ».

active_connections
В этом разделе содержится список активных подключений в каждом режиме. Каждая строка
в формате имя_режима = список_подключений.

группы_серверов
В этом разделе содержатся группы серверов. Каждая строка имеет формат имя = список_соединений.
См. «ГРУППЫ СЕРВЕРОВ».

active_server_groups
В этом разделе содержится список групп серверов, активных в каждом режиме. Каждая строка
в формате имя_режима = группа_серверов.

max_values_seen
В этом разделе содержатся максимальные значения переменных. Используется для масштабирования
графики в режиме «S: переменные и статус». Каждая строка имеет формат имя = значение.

активные_столбцы
В этом разделе хранятся списки столбцов таблицы. Каждая строка имеет формат
tbl_name = список_столбцов. См. «КОЛОННЫ».

сортировка_столбцы
В этом разделе содержится определение сортировки. Каждая строка имеет формат
tbl_name = список_столбцов. Если столбец имеет префикс «-», этот столбец сортируется по убыванию.
См. «СОРТИРОВКА».

видимые_таблицы
В этом разделе определяется, какие таблицы видны в каждом режиме. Каждая строка находится в
формат имя_режима = список_таблиц. См. «ТАБЛИЦЫ».

варианты
В этом разделе определяются наборы переменных для использования в режиме «S: статус и переменные». Каждая строка
имеет формат имя = список_переменных. См. «НАБОРЫ ПЕРЕМЕННЫХ».

цвета
В этом разделе определены правила раскраски. Каждая строка имеет формат
tbl_name = список_свойств. См. «ЦВЕТА».

stmt_sleep_times
Этот раздел содержит время сна для операторов. Каждая строка имеет формат
имя_оператора = время сна. См. «S: Заявление о времени сна».

группа по
Этот раздел содержит списки столбцов для выражений group_by таблицы. Каждая строка находится в
формат tbl_name = column_list. См. «ГРУППИРОВКА».

НАСТРОЙКА


Вы можете многое настроить в innotop. Например, вы можете:

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

· Выберите, какие столбцы находятся в этих таблицах, и создайте новые столбцы.

· Фильтр отображаемых строк с помощью встроенных фильтров, пользовательских фильтров и быстрых
фильтры.

· Отсортируйте строки, чтобы на первом месте были важные данные, или сгруппируйте связанные строки.

· Выделите строки цветом.

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

· Создавайте собственные выражения для извлечения и комбинирования данных по мере необходимости. Это дает вам
неограниченная гибкость.

Все это и многое другое объясняется в следующих разделах.

ТАБЛИЦЫ
Таблица - это то, что вы ожидаете: набор столбцов. У него также есть некоторые другие свойства,
например, заголовок. Фильтры, правила сортировки и правила раскраски принадлежат таблицам и
рассматриваются в следующих разделах.

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

Вы можете выбрать, какие таблицы показывать, нажав клавишу «$». См. «РЕЖИМЫ» и «ТАБЛИЦЫ».

Жизненный цикл таблицы следующий:

· Каждая таблица начинается с источника данных, который представляет собой массив хешей. См. Ниже для
подробности об источниках данных.

· Каждый элемент источника данных становится строкой в ​​итоговой таблице.

· Для каждого элемента в источнике данных innotop извлекает значения из источника и
создает строку. Эта строка представляет собой еще один хэш, который на последующих этапах будет называться $ set.
Значения, извлекаемые innotop, определяются столбцами таблицы. В каждом столбце есть
подпрограмма извлечения, составленная из выражения (см. «ВЫРАЖЕНИЯ»). Результирующий
row - это хэш, ключи которого названы так же, как имя столбца.

· Innotop фильтрует строки, удаляя те, которые не нужно отображать. Видеть
«ФИЛЬТРЫ».

· Innotop сортирует строки. См. «СОРТИРОВКА».

· Innotop группирует строки вместе, если указано. См. «ГРУППИРОВКА».

· Innotop раскрашивает строки. См. «ЦВЕТА».

· Innotop преобразует значения столбцов в каждой строке. См. «ПРЕОБРАЗОВАНИЯ».

· Innotop необязательно разворачивает строки (см. «ПОВОРОТ»), затем фильтрует и сортирует их.

· Innotop форматирует и выравнивает строки в виде таблицы. На этом этапе innotop применяет
дальнейшее форматирование значений столбца, включая выравнивание, максимум и минимум
ширины. innotop также выполняет окончательную проверку ошибок, чтобы гарантировать отсутствие сбоев из-за
неопределенные значения. innotop затем добавляет заголовок, если он указан, и таблица готова к
Распечатать.

Жизненный цикл немного отличается, если таблица поворачивается, как указано выше. Чтобы уточнить,
если таблица вращается, выполняется извлечение, группировка, преобразование, сводка, фильтрация, сортировка,
Создайте. Если он не повернут, выполняется извлечение, фильтрация, сортировка, группировка, цвет,
преобразовывать, создавать. Этот слегка запутанный процесс не очень хорошо отображает SQL, но
поворот довольно сильно усложняет ситуацию. Грубо говоря, фильтрация и сортировка
происходят так поздно, как это необходимо для достижения конечного результата, как вы могли ожидать, но уже
возможно для эффективности.

Каждая встроенная таблица описана ниже:

адаптивный_хэш_индекс
Отображает данные об адаптивном хэш-индексе InnoDB. Источник данных: «STATUS_VARIABLES».

буфер_пул
Отображает данные о буферном пуле InnoDB. Источник данных: «STATUS_VARIABLES».

cmd_summary
Отображает взвешенные переменные состояния. Источник данных: «STATUS_VARIABLES».

Deadlock_locks
Показывает, какие блокировки были удержаны и ожидали последнего обнаруженного тупика. Данные
источник: "DEADLOCK_LOCKS".

Deadlock_transactions
Показывает транзакции, вовлеченные в последний обнаруженный тупик. Источник данных:
«DEADLOCK_TRANSACTIONS».

объяснять
Показывает результат EXPLAIN. Источник данных: «EXPLAIN».

file_io_misc
Отображает данные о файлах InnoDB и операциях ввода-вывода. Источник данных:
«СТАТУС_ПЕРЕМЕННЫЕ».

fk_error
Отображает различные данные о последней ошибке внешнего ключа InnoDB. Источник данных:
«СТАТУС_ПЕРЕМЕННЫЕ».

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
Отображает открытые таблицы. Источник данных: «OPEN_TABLES».

страница_статистика
Отображает статистику страницы 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».

семафоры
Отображает данные о семафорах и мьютексах InnoDB. Источник данных: «STATUS_VARIABLES».

раб_io_status
Отображает данные о подчиненном потоке ввода-вывода. Источник данных: «STATUS_VARIABLES».

раб_sql_status
Отображает данные о подчиненном потоке SQL. Источник данных: «STATUS_VARIABLES».

t_header
Отображает различные значения статуса InnoDB. Источник данных: «STATUS_VARIABLES».

var_status
Отображает данные, настраиваемые пользователем. Источник данных: «STATUS_VARIABLES».

массив ожидания
Отображает данные о массиве ожидания ОС InnoDB. Источник данных: «OS_WAIT_ARRAY».

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

· Hdr: заголовок столбца. Это отображается в первой строке таблицы.

· Справедливо: оправдание. '-' означает выравнивание по левому краю, а '' означает выравнивание по правому краю, так же как
с кодами форматирования printf (не случайно).

· Dec: следует ли дополнительно выровнять столбец по десятичной запятой.

· Num: является ли столбец числовым. Это влияет на то, как значения сортируются (лексически или
численно).

· Метка: небольшое примечание о столбце, которое появляется в диалоговых окнах, которые помогают пользователю
выберите столбцы.

· Src: выражение, которое innotop использует для извлечения данных столбца из источника (см.
"ИСТОЧНИКИ ДАННЫХ"). См. «ВЫРАЖЕНИЯ» для получения дополнительной информации о выражениях.

· Minw: определяет минимальную ширину отображения. Это помогает стабилизировать изображение, что
облегчает чтение, если данные часто меняются.

· Maxw: аналогично minw.

· Trans: список преобразований столбцов. См. «ПРЕОБРАЗОВАНИЯ».

· Agg: агрегатная функция. См. «ГРУППИРОВКА». По умолчанию - «первый».

· Aggonly: определяет, будет ли столбец отображаться только тогда, когда в таблице включена группировка.
(см. «ГРУППИРОВКА»). По умолчанию это отключено. Это означает, что столбцы всегда будут
отображается по умолчанию независимо от того, включена ли группировка. Если установлен аггонизм столбца
true, столбец появится, когда вы переключите группировку в таблице. Несколько столбцов
устанавливаются таким образом, например, столбец счетчика в "processlist" и "innodb_transactions",
поэтому вы не видите счетчик, когда группировка не включена, но видите, когда она включена.

ФИЛЬТРЫ
Фильтры удаляют строки с дисплея. Они ведут себя так же, как предложение WHERE в SQL.
innotop имеет несколько встроенных фильтров, которые удаляют нерелевантную информацию, например, неактивные
запросы, но вы также можете определить свои собственные. innotop также позволяет создавать быстрые фильтры,
которые не сохраняются в файле конфигурации и представляют собой простой способ быстро просмотреть
только несколько строк.

Вы можете включить или отключить фильтр для любой таблицы. Нажмите клавишу '%' (мнемоника:% выглядит
вроде как фильтруемая линия между двумя кругами) и выберите, какую таблицу вы хотите
фильтр, если спросят. Затем вы увидите список возможных фильтров и список фильтров.
в настоящее время включен для этой таблицы. Введите названия фильтров, которые вы хотите применить, и нажмите
Enter.

ОПРЕДЕЛЯЕМЫЕ ПОЛЬЗОВАТЕЛЕМ ФИЛЬТРЫ

Если вы введете имя, которого не существует, innotop предложит вам создать фильтр.
Фильтры легко создавать, если вы знаете Perl, и не сложно, если вы не знаете. Что ты делаешь
создает подпрограмму, которая возвращает истину, если строка должна отображаться. Строка - это
ссылка на хэш, переданная вашей подпрограмме как $ set.

Например, представьте, что вы хотите отфильтровать таблицу списка процессов, чтобы видеть только те запросы, которые
бегали более пяти минут. Введите новое имя для вашего фильтра и когда
После запроса тела подпрограммы нажмите TAB, чтобы запустить автозаполнение терминала.
Вы увидите имена столбцов в таблице "processlist" (innotop обычно пытается
помочь вам со списками автозаполнения). Вы хотите выполнить фильтрацию по столбцу «время». Введите
текст "$ set -> {time}> 300", чтобы вернуть истину, если запрос старше пяти минут.
Это все, что вам нужно сделать.

Другими словами, код, который вы вводите, окружен неявным контекстом, который выглядит
как это:

дополнительный фильтр {
мой ($ set) = @_;
# ВАШ КОД ЗДЕСЬ
}

Если ваш фильтр не работает или что-то другое внезапно ведет себя иначе, вы можете
допустили ошибку в вашем фильтре, и innotop незаметно перехватывает ошибку. Пытаться
включение «отладки», чтобы вместо этого innotop выдавал ошибку.

БЫСТРЫЕ ФИЛЬТРЫ

быстрые фильтры innotop - это ярлык для создания временного фильтра, который не сохраняется
при перезапуске innotop. Чтобы создать быстрый фильтр, нажмите клавишу «/». Innotop будет
запросит у вас имя столбца и текст фильтра. Опять же, вы можете использовать автозаполнение на
имена столбцов. Текст фильтра может быть просто текстом, который вы хотите «искать». За
Например, чтобы отфильтровать таблицу "список процессов" по запросам, которые относятся к таблице продуктов,
введите "/", а затем "информационный продукт".

Текст фильтра может быть любым регулярным выражением Perl, но, конечно, буквальным
Строка вроде 'product' отлично работает как регулярное выражение.

За кулисами innotop компилирует быстрый фильтр в специально помеченный фильтр, который
в остальном, как и любой другой фильтр. Он просто не сохраняется в файле конфигурации.

Чтобы очистить быстрые фильтры, нажмите клавишу '\', и innotop очистит их все сразу.

СОРТИРОВКА
innotop имеет разумные встроенные настройки по умолчанию для сортировки наиболее важных строк в верхней части
Таблица. Как и все остальное в innotop, вы можете настроить сортировку любой таблицы.

Чтобы начать диалог сортировки, запустите «РЕДАКТОР ТАБЛИЦ» с помощью клавиши '^', выберите таблицу, если
необходимо, и нажмите клавишу 's'. Вы увидите список столбцов, которые можно использовать при сортировке
выражение и текущее выражение сортировки, если есть. Введите список столбцов, по которым вы
хотите отсортировать и нажмите Enter. Если вы хотите изменить сортировку, поставьте перед именем столбца префикс
знак минус. Например, если вы хотите отсортировать по столбцу a по возрастанию, тогда столбец b
по убыванию, введите 'a -b'. Вы также можете явно добавить + перед столбцами, которые хотите
сортировка по возрастанию, но это не обязательно.

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

GROUPING
innotop может группировать или агрегировать строки вместе (термины взаимозаменяемы). Этот
очень похоже на предложение SQL GROUP BY. Вы можете указать группировку по определенным столбцам,
или, если вы не укажете ни одного, весь набор строк рассматривается как одна группа. Это
пока что очень похоже на SQL, но, в отличие от SQL, вы также можете выбирать несгруппированные столбцы. Innotop
фактически агрегирует каждый столбец. Если вы явно не укажете функцию группировки,
по умолчанию - «первый». Это в основном удобство, поэтому вам не нужно указывать
агрегатная функция для каждого столбца, который вы хотите получить в результате.

Вы можете быстро переключать группировку в таблице с помощью клавиши '=', которая переключает ее совокупное
имущество. Это свойство не сохраняется в файле конфигурации.

Столбцы, по которым сгруппирована таблица, указываются в ее свойстве group_by. Когда
вы включаете группировку, innotop помещает столбцы group_by в крайний левый угол таблицы,
даже если они не должны быть видны. Остальные видимые столбцы появятся в
порядок после них.

Две таблицы имеют списки group_by по умолчанию и встроенный столбец счетчика: "processlist" и
"innodb_transactions". Группировка осуществляется по подключению и статусу, поэтому вы можете быстро увидеть
сколько запросов или транзакций находится в заданном состоянии на каждом отслеживаемом сервере.
Столбцы времени агрегируются в виде суммы; для остальных столбцов остается значение по умолчанию «первый»
агрегация.

По умолчанию таблица, показанная в режиме «S: переменные и статус», также использует группировку, поэтому вы можете
отслеживать переменные и статус на многих серверах. Функция агрегирования по умолчанию в
этот режим - «средний».

Допустимые группирующие функции определены в хэше% agg_funcs. Они включают

первый
Возвращает первый элемент в группе.

считать
Возвращает количество элементов в группе, включая неопределенные элементы, как и
СЧЕТЧИК SQL (*).

avg Возвращает среднее значение определенных элементов в группе.

sum Возвращает сумму элементов в группе.

Вот пример группировки на работе. Предположим, у вас очень загруженный сервер с сотнями
открытых подключений, и вы хотите узнать, сколько подключений в каком состоянии. С использованием
встроенных правил группировки, вы можете нажать «Q», чтобы войти в режим «Q: Список запросов». Нажмите '='
для переключения группировки (при необходимости выберите таблицу «список процессов» при появлении запроса).

Теперь ваш дисплей может выглядеть следующим образом:

Список запросов (? Для справки) localhost, 32:33, 0.11 QPS, 1 thd, 5.0.38-log

CXN Cmd Cnt ID Пользовательский запрос времени хоста
localhost Запрос 49 12933 webusr localhost 19:38 ВЫБРАТЬ * ИЗ
localhost Отправка Da 23 2383 webusr localhost 12:43 SELECT col1,
localhost Sleep 120 webusr localhost 140:5:18
localhost Статистика 12 19213 webusr localhost 01:19 ВЫБРАТЬ * ИЗ

Это на самом деле довольно тревожная картина. У вас много незанятых соединений (Сон),
и некоторые соединения, выполняющие запросы (запросы и отправка данных). Это нормально, но ты
также много в статусе статистики, все вместе тратят больше минуты. Это означает
оптимизатору запросов очень трудно оптимизировать ваши операторы. Что-то есть
неправильный; Обычно оптимизация запросов занимает миллисекунды. Вы, возможно, не видели
этот шаблон, если вы не смотрели на свои связи в совокупности. (Это выдуманный
пример, но это может случиться в реальной жизни).

ПИВОТ
innotop может поворачивать таблицу для более компактного отображения, подобно сводной таблице в
электронная таблица (также известная как кросс-таблица). При повороте таблицы столбцы превращаются в строки. Предполагать
вы начинаете с этой таблицы:

фу бар
=== ===
1 3
2 4

После поворота таблица будет выглядеть так:

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

Чтобы получить разумные результаты, вам может потребоваться группировка, а также поворот. innotop в настоящее время
делает это для режима «S: переменные и статус».

ЦВЕТЫ
По умолчанию innotop выделяет строки цветом, чтобы вы могли сразу увидеть, какие строки
более важный. Вы можете настроить правила раскраски и добавить свои в любую таблицу.
Откройте редактор таблиц с помощью клавиши '^', при необходимости выберите таблицу и нажмите 'o', чтобы открыть
диалоговое окно редактора цвета.

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

состояние эквалайзер Заблокировано черный on_red
cmd eq спящий белый
пользователь системы эквалайзер пользователь белый
cmd eq Connect белый
cmd eq Binlog Dump белый
время> 600 красный
время> 120 желтый
время> 60 зеленый
время> 30 голубой

Это набор правил по умолчанию для таблицы «список процессов». В порядке приоритета эти
правила делают заблокированные запросы черным на красном фоне, а соединения из
репликация и спящие запросы, и заставлять запросы менять цвет с голубого на красный по мере их выполнения
дольше.

(По какой-то причине "белый" цветовой код ANSI на самом деле является светло-серым. Ваш терминал
дисплей может отличаться; экспериментируйте, чтобы найти понравившиеся цвета).

Вы можете использовать нажатия клавиш для перемещения правил вверх и вниз, что изменяет их приоритет. Ты
также можно удалять правила и добавлять новые. Если вы добавите новое правило, innotop предложит вам ввести
столбец, оператор для сравнения, значение, с которым сравнивается столбец,
и цвет, который назначается, если правило соответствует. Есть автозаполнение и подсказки на каждом
шаг.

Необходимо правильно указать значение на третьем шаге. innotop не пытается цитировать
значение, потому что он не знает, следует ли рассматривать значение как строку или
номер. Если вы хотите сравнить столбец со строкой, как, например, в первом
Правило выше, вы должны ввести «Заблокировано» в кавычках. Если вы получили сообщение об ошибке
насчет голого слова, вам, наверное, следовало что-то процитировать.

ВЫРАЖЕНИЯ
Выражения лежат в основе работы innotop и позволяют расширять
innotop по своему усмотрению. Вспомните жизненный цикл таблицы, описанный в разделе «ТАБЛИЦЫ». Выражения
используется на самом раннем этапе, когда он извлекает значения из источника данных для формирования строк.

Он делает это, вызывая подпрограмму для каждого столбца, передавая ему исходный набор данных,
набор текущих значений и набор предыдущих значений. Все это необходимо, поэтому
подпрограмма может вычислять такие вещи, как разницу между этим тиком и предыдущим
поставить галочку.

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

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

подвычислить_column_value {
мой ($ set, $ cur, $ pre) = @_;
my $ val = # РАСШИРЕННАЯ СТРОКА ИДЕТ ЗДЕСЬ
return $ val;
}

Вот конкретный пример, взятый из таблицы заголовков «q_header» в режиме «Q: Query List».
Это выражение вычисляет значения столбца qps или запросов в секунду на основе
значения, возвращаемые SHOW STATUS:

Вопросы / Uptime_hires

innotop решает, что оба слова являются голыми, и преобразует это выражение в
следующий код Perl:

$ 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
Принимает два целых числа без знака и преобразует их в одно длинное число. Это
полезно для определенных операций с InnoDB, который использует два целых числа в качестве транзакции
идентификаторы, например.

no_ctrl_char
Удаляет из значения управляющие символы в кавычках. На это влияет "кодировка"
переменная конфигурация.

Это преобразование работает только в строках в кавычках, например, значениях в SET.
предложение в операторе UPDATE. Это не изменит оператор UPDATE, но будет
свернуть строку в кавычках до [BINARY] или [TEXT], в зависимости от кодировки.

процент
Преобразует число в процент, умножая его на два и форматируя
цифры "num_digits" после десятичной точки и, при необходимости, добавление знака процента (см.
"show_percent").

secs_to_time
Форматирует количество секунд как время в формате дни + часы: минуты: секунды.

set_precision
Форматирует числа с количеством цифр "num_digits" после десятичной точки.

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

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

Редактирование определения таблицы для Buffer Pool. Нажмите ? для получения помощи q, чтобы выйти.

имя hdr метка src
cxn CXN Соединение, из которого cxn
buf_pool_size Размер Размер пула буферов IB_bp_buf_poo
buf_free Free Bufs Буферы бесплатно в 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 Добавить пул Распределение дополнительного пула IB_bp_add_poo

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

Каждая строка на дисплее показывает один столбец в таблице, которую вы редактируете, а также
пара его свойств, таких как заголовок и исходное выражение (см. «ВЫРАЖЕНИЯ»).

Отображение клавиш выполнено в стиле Vim, как и во многих других местах. Нажатие «j» и «k» перемещает
выделите вверх или вниз. Затем вы можете (г) удалить или (д) удалить выделенный столбец. Ты сможешь
также (а) добавить столбец в таблицу. На самом деле это просто активирует уже один из столбцов.
определяется для таблицы; он предлагает вам выбрать один из доступных столбцов, но не
отображается в настоящее время. Наконец, вы можете изменить порядок столбцов с помощью клавиш «+» и «-».

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

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

· Название столбца: это должно быть слово без забавных символов, например просто
буквы, цифры и символы подчеркивания.

· Заголовок столбца: это метка, которая отображается в верхней части столбца в
заголовок таблицы. В нем могут быть пробелы и забавные символы, но будьте осторожны, чтобы не сделать
оно слишком велико и тратит впустую место на экране.

· Источник данных столбца: это выражение, которое определяет, какие данные из
источник (см. «ТАБЛИЦЫ») innotop поместит в столбец. Это может быть просто имя
элемент в источнике, или это может быть более сложное выражение, как описано в
«ВЫРАЖЕНИЯ».

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

Вот пример: предположим, вы хотите отслеживать, сколько раз ваши подчиненные повторили попытку.
сделки. Согласно руководству MySQL, статус Slave_retried_transactions
переменная дает вам следующие данные: "Общее количество раз с момента запуска, когда
Ведомый поток SQL репликации повторил транзакции. Эта переменная была добавлена ​​в версии
5.0.4. "Это уместно добавить в таблицу" slave_sql_status ".

Чтобы добавить столбец, переключитесь в режим мониторинга репликации с помощью клавиши «M» и нажмите
клавишу '^', чтобы запустить редактор таблиц. При появлении запроса выберите slave_sql_status в качестве
table, затем нажмите 'n', чтобы создать столбец. Введите "retries" в качестве имени столбца, "Retries"
в качестве заголовка столбца и «Slave_retried_transactions» в качестве источника. Теперь столбец
создан, и вы снова увидите экран редактора таблиц. Нажмите 'q', чтобы выйти из редактора таблиц,
и вы увидите свой столбец в конце таблицы.

ПЕРЕМЕННЫЕ НАБОРЫ


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

Источником данных для наборов переменных, да и вообще для всего S-режима, является комбинация
ПОКАЗАТЬ СТАТУС, ПОКАЗАТЬ ПЕРЕМЕННЫЕ и ПОКАЗАТЬ СТАТУС INNODB. Представьте, что у вас огромный стол
с одним столбцом на переменную, возвращаемую из этих операторов. Это источник данных для
наборы переменных. Теперь вы можете запросить этот источник данных, как и ожидали. Например:

Вопросы, время работы, вопросы / время работы в виде QPS

За кулисами innotop разделит этот набор переменных на три выражения, скомпилирует
их и превратите в определение таблицы, а затем извлеките как обычно. Это становится
«набор переменных» или «список переменных, которые вы хотите отслеживать».

innotop позволяет вам давать имена и сохранять наборы переменных и записывать их в конфигурацию.
файл. Вы можете выбрать, какой набор переменных вы хотите видеть, с помощью клавиши 'c' или активировать
следующий и предыдущий наборы с помощью клавиш '>' и '<'. Есть много встроенных наборов переменных
также, что должно дать вам хороший старт для создания своего собственного. Нажмите 'e', ​​чтобы отредактировать
текущий набор переменных или просто посмотреть, как он определен. Чтобы создать новый, просто нажмите
'c' и введите его имя.

Вы можете использовать некоторые из функций, перечисленных в разделе «ПРЕОБРАЗОВАНИЯ», чтобы помочь отформатировать
Результаты. В частности, "set_precision" часто бывает полезно для ограничения количества цифр, которые вы
видеть. Расширяя приведенный выше пример, вот как:

Вопросы, Время работы, set_precision (Вопросы / Время работы) как QPS

На самом деле, над этим нужно еще немного поработать. Если ваш "интервал" меньше единицы
во-вторых, вы можете разделить на ноль, потому что время работы в этом режиме увеличивается на
дефолт. Вместо этого используйте Uptime_hires:

Вопросы, время безотказной работы, set_precision (Questions / Uptime_hires) как QPS

Этот пример прост, но он показывает, насколько легко выбрать, какие переменные вы хотите
монитор.

PLUGINS


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

Плагин innotop - это модуль Perl, размещенный в каталоге "plugin_dir" innotop. В UNIX
систем, вы можете разместить символическую ссылку на модуль вместо фактического файла
там. innotop автоматически обнаруживает файл. Если есть соответствующая запись в
раздел файла конфигурации "plugins", innotop загружает и активирует плагин.

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

Упаковка Источник Соглашение
innotop проверяет исходный код подключаемого модуля, чтобы определить имя пакета Perl. Это выглядит
для строки вида «пакет Foo;» и если найден, считает, что имя пакета плагина
будь Фу. Конечно, имя пакета может быть действительным именем пакета Perl с двойным
точки с запятой и так далее.

Он также ищет описание в исходном коде, чтобы сделать редактор плагинов более человечным.
дружелюбно. Описание представляет собой строку комментария вида «# description: Foo», где «Foo».
текст, который innotop будет рассматривать как описание плагина.

Плагин Интерфейс
Интерфейс плагина innotop довольно прост: innotop ожидает, что плагин будет объектом -
ориентированный модуль, для которого он может вызывать определенные методы. Методы

новый (% переменных)
Это конструктор плагина. Ему передается хэш переменных innotop, которые
он может манипулировать (см. «Переменные плагина»). Он должен возвращать ссылку на новый
создан объект плагина.

Во время создания innotop загрузил только общую конфигурацию и создал
встроенные переменные по умолчанию с их содержимым по умолчанию (что довольно много).
Следовательно, состояние программы такое же, как в исходном коде innotop, плюс
переменные конфигурации из "общего" раздела в файле конфигурации.

Если ваш плагин манипулирует переменными, он изменяет глобальные данные, которые являются общими
от innotop и всех плагинов. Плагины загружаются в том порядке, в котором они перечислены в
конфигурационный файл. Ваш плагин может загружаться до или после другого плагина, поэтому есть
возможность конфликта или взаимодействия между плагинами, если они изменяют данные, другие
плагины используют или изменяют.

register_for_events ()
Этот метод должен возвращать список событий, в которых заинтересован плагин, если таковые имеются.
См. «События плагина» для определенных событий. Если плагин возвращает событие, которое не
определено, событие игнорируется.

обработчики событий
Плагин должен реализовать метод, названный так же, как каждое событие, для которого он имеет
зарегистрирован. Другими словами, если плагин возвращает qw (foo bar) из
register_for_events (), он должен иметь foo () и бар() методы. Эти методы
обратные вызовы для событий. См. «События плагина» для получения более подробной информации о каждом событии.

Плагин Переменные
Конструктору плагина передается хэш переменных innotop, которыми он может манипулировать.
Вероятно, будет хорошей идеей, если объект плагина сохранит его копию для дальнейшего использования. В
переменные определены в переменной innotop% pluggable_vars и выглядят следующим образом:

action_for
Хэш-ссылка сопоставлений клавиш. Это глобальные горячие клавиши innotop.

ag_funcs
Хэш-ссылка функций, которые можно использовать для группировки. См. «ГРУППИРОВКА».

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

связи
Хэш-ссылка на спецификации подключения. Это просто спецификации того, как
подключиться к серверу.

дбх
Хэш-ссылка соединений с базой данных innotop. Это фактические объекты подключения DBI.

фильтры
Хэш-ссылка фильтров, применяемых к строкам таблицы. См. «ФИЛЬТРЫ» для получения дополнительной информации.

Режимы
Хешреф режимов. См. «РЕЖИМЫ» для получения дополнительной информации.

группы_серверов
Хешрейф групп серверов. См. «ГРУППЫ СЕРВЕРОВ».

tbl_meta
Хэш-ссылка метаданных таблицы innotop, с одной записью для каждой таблицы (см. "ТАБЛИЦЫ" для
больше информации).

trans_funcs
Хэш-ссылка функций преобразования. См. «ПРЕОБРАЗОВАНИЯ».

var_sets
Хешрейф наборов переменных. См. «НАБОРЫ ПЕРЕМЕННЫХ».

Плагин Мероприятия
Каждое событие определяется где-то в исходном коде innotop. Когда innotop запускает этот код,
он выполняет функцию обратного вызова для каждого плагина, который проявил интерес к
событие. innotop передает некоторые данные для каждого события. События определены в
% event_listener_for и следующие:

extract_values ​​($ set, $ cur, $ pre, $ tbl)
Это событие происходит внутри функции, извлекающей значения из источника данных. В
аргументы - это набор значений, текущие значения, предыдущие значения и
имя таблицы.

set_to_tbl
События определены во многих местах этой подпрограммы, которая отвечает за включение
ссылка на массив хэш-ссылок в ссылку на массив строк, которые могут быть выведены на экран.
Все события передают одни и те же данные: ссылку на массив строк и имя таблицы.
созданный. События 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 => 'all';

пакет Innotop :: Plugin :: Example;
# description: Добавляет столбец "пример" в каждую таблицу.

новый {
мой ($ класс,% vars) = @_;
# Сохранить ссылку на переменные innotop в $ self
мой $ self = bless {% vars}, $ class;

# Создайте пример столбца
my $ col = {
hdr => 'Пример',
просто => '',
dec => 0,
число => 1,
label => 'Пример',
src => 'example', # Получить данные из этого столбца в источнике данных
tbl => '',
транс => [],
};

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

# Обязательно верните ссылку на объект.
return $ self;
}

# Я бы хотел, чтобы меня вызвали, когда набор данных преобразуется в таблицу, пожалуйста.
субрегистр_для_событий {
мой ($ self) = @_;
вернуть qw (set_to_tbl_pre_filter);
}

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

1;

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

SQL ОТЧЕТНОСТЬ


innotop использует ограниченный набор операторов SQL для извлечения данных из MySQL для отображения. В
операторы настраиваются в зависимости от версии сервера, на которой они выполняются;
например, в MySQL 5 и новее INNODB_STATUS выполняет «SHOW ENGINE INNODB STATUS»,
в то время как в более ранних версиях он выполняет «ПОКАЗАТЬ СТАТУС INNODB». Заявления таковы
следующим образом:

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

ДАННЫЕ ИСТОЧНИКИ


Каждый раз, когда innotop извлекает значения для создания таблицы (см. «ВЫРАЖЕНИЯ» и «ТАБЛИЦЫ»), он
делает это из определенного источника данных. Во многом из-за сложных данных, извлеченных из
ПОКАЗАТЬ СТАТУС INNODB, это немного беспорядочно. SHOW INNODB STATUS содержит смесь
одиночные значения и повторяющиеся значения, которые образуют вложенные наборы данных.

Всякий раз, когда innotop извлекает данные из MySQL, он добавляет два дополнительных бита к каждому набору: cxn и
Uptime_hires. cxn - это имя соединения, из которого пришли данные. Uptime_hires
- это версия переменной состояния Uptime сервера с высоким разрешением, которая важна, если
ваша настройка «интервала» составляет менее секунды.

Вот типы источников данных, из которых извлекаются данные:

СТАТУС_ПЕРЕМЫЕ
Это самая широкая категория, в которую попадает большинство видов данных. Это начинается с
комбинация SHOW STATUS и SHOW VARIABLES, но могут быть включены и другие источники
по мере необходимости, например, SHOW MASTER STATUS и SHOW SLAVE STATUS, а также многие из
неповторяющиеся значения из SHOW INNODB STATUS.

DEADLOCK_LOCKS
Эти данные извлекаются из списка транзакций в ПОСЛЕДНИЙ ОБНАРУЖЕННОЙ БЛОКИРОВКЕ.
раздел ПОКАЗАТЬ СТАТУС INNODB. Он вложен в два уровня: транзакции, затем
замки.

DEADLOCK_TRANSACTIONS
Эти данные взяты из списка транзакций в разделе ПОСЛЕДНИЙ ОБНАРУЖЕННЫЙ DEADLOCK в SHOW.
СТАТУС INNODB. Он вложен на один уровень в глубину.

ОБЪЯСНИТЕ
Эти данные взяты из набора результатов, возвращенного EXPLAIN.

ИННОДБ_ТРАНЗАКЦИИ
Эти данные взяты из раздела TRANSACTIONS в SHOW INNODB STATUS.

IO_THREADS
Эти данные взяты из списка потоков в разделе FILE I / O SHOW INNODB.
СТАТУС.

ИННОДБ_ЛОКСС
Эти данные взяты из раздела TRANSACTIONS в SHOW INNODB STATUS и вложены в два
уровни глубокие.

OPEN_TABLES
Эти данные взяты из ПОКАЗАТЬ ОТКРЫТЫЕ ТАБЛИЦЫ.

СПИСОК ПРОЦЕССОВ
Эти данные взяты из SHOW FULL PROCESSLIST.

OS_WAIT_ARRAY
Эти данные взяты из раздела SEMAPHORES SHOW INNODB STATUS и вложены на один уровень.
глубокий. Это происходит из строк, которые выглядят так:

- Нить 1568861104 ожидала на строке 0 btr424cur.c ....

MYSQL ПРИВИЛЕГИИ


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

· Если у вас нет привилегии SUPER, вы все равно можете запускать некоторые функции, но не
обязательно увидеть все те же данные.

· Вам нужна привилегия PROCESS, чтобы увидеть список текущих запросов в Q-режиме.

· Вам нужны особые привилегии для запуска и остановки подчиненных серверов.

· Вам потребуются соответствующие привилегии для создания и удаления таблиц взаимоблокировок, если это необходимо (см.
«СЕРВЕРНЫЕ СОЕДИНЕНИЯ»).

СИСТЕМА ТРЕБОВАНИЯ


Конечно, для запуска innotop вам понадобится Perl. Вам также понадобится несколько модулей 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
    Кронштейны
    Кронштейны
    Brackets — это бесплатная современная программа с открытым исходным кодом.
    текстовый редактор, созданный специально для Интернета
    Разработка. Написано на HTML, CSS и
    JavaScript с целенаправленными визуальными инструментами и
    подготовка ...
    Загрузить скобки
  • 2
    Бесплатный компилятор Pascal
    Бесплатный компилятор Pascal
    32/64/16-битный компилятор Паскаля для
    Win32/64/CE, Linux, Mac OS X/iOS,
    Android, FreeBSD, OS/2, Game Boy
    Advance, Nintendo NDS и DOS;
    семантически совместимый с...
    Скачать бесплатный компилятор Pascal
  • 3
    Информация о Canon EOS DIGITAL
    Информация о Canon EOS DIGITAL
    У Canon нет счетчика выдержек
    включены в EXIF-информацию
    файл изображения, в отличие от Nikon и
    Пентакс. Нет официального Canon на основе
    заявление ...
    Загрузить информацию о Canon EOS DIGITAL
  • 4
    REFInd
    REFInd
    rEFInd - это форк загрузки rEFIt
    менеджер. Как и rEFIt, rEFInd может
    автоматическое определение установленной загрузки EFI
    загрузчики, и он представляет собой красивый графический интерфейс
    меню варианта загрузки ...
    Скачать REFInd
  • 5
    ЭкспрессЛюк GSI
    ЭкспрессЛюк GSI
    Эта страница загрузки SourceForge должна была
    разрешить пользователям загружать мой исходный код
    GSI, основанные на великом опыте Фхуссона.
    работай. Я собираю Android Pie и
    Android 1 ...
    Скачать ExpressLuke GSI
  • 6
    Музыкальный Кастер
    Музыкальный Кастер
    Music Caster - музыкальный проигрыватель для лотков
    что позволяет транслировать местную музыку на
    Устройство Google Cast. При первом запуске
    вам нужно будет щелкнуть стрелку в вашем
    тас ...
    Скачать Music Caster
  • Больше »

Команды Linux

Ad