Работа с запросами в ADQM Control

Страница Queries в web-интерфейсе ADQM Control предназначена для вывода SQL-запросов, выполняемых в кластерах ADQM, которые подключены для мониторинга. На этой странице можно получить общую информацию о запросах к базам данных кластера и посмотреть различные показатели выполнения запросов — например, чтобы проанализировать производительность запросов, объемы считываемых/записываемых данных, использование ресурсов, возникшие в ходе выполнения запросов ошибки.

Страница Queries
Страница Queries

В верхней части экрана можно настроить следующие фильтры для отбора данных, которые требуется вывести на странице Queries:

  • Cluster — кластер ADQM, в котором выполнялись запросы.

  • Time — временной период, в течение которого были запущены запросы. При нажатии на поле открывается окно, в котором можно выбрать интервал из предложенных вариантов на вкладке Range либо самостоятельно установить границы временного диапазона (не менее 1 часа) на вкладке Calendar.

  • Refresh — частота обновления данных.

История запросов на странице Queries всегда показывается в соответствии с этими фильтрами, то есть включает все запросы, запущенные в выбранном кластере ADQM за указанный промежуток времени. Для каждого DDL-запроса (с использованием ON CLUSTER) также отдельно выводятся запросы, выполненные на каждом хосте кластера — перед основным текстом таких запросов используется префикс /* ddl_entry=query-num */.

 
Получить список самых долгих по времени выполнения запросов или запросов, использовавших наибольшее количество памяти, можно также на странице Dashboard в секции Top 10 queries.

Поля таблицы Queries

Таблица запросов на странице Queries может включать следующие поля.

Поле Описание

Query ID

Уникальный идентификатор запроса.

В столбце также показывается иконка-индикатор статуса запроса:

statuses good dark statuses good light — запрос успешно выполнен (статус Query finished);

statuses active dark statuses active light — запрос выполняется в текущий момент времени (статус Query started);

statuses aborted dark statuses aborted light — перед началом выполнения запроса произошла ошибка (статус Exception before start);

statuses failed dark statuses failed light — во время выполнения запроса произошла ошибка (статус Exception while processing).

statuses unfinished — выполнение запроса не было завершено по какой-либо причине (статус Uncompleted).

Статус запроса дополнительно можно вывести в отдельном столбце Status, по которому доступна фильтрация и сортировка

Query text

Текст запроса. Текст длинных запросов обрезается, а при наведении курсора мыши на ячейку столбца показывается в виде [query start] <…​> [query end]. Полный текст запроса можно посмотреть на отдельной странице, которая открывается при клике по идентификатору запроса в столбце Query ID

Status

Текущий статус запроса. Возможные значения:

  • Query started — запрос в процессе выполнения;

  • Query finished — запрос успешно выполнен;

  • Exception before start — перед началом выполнения запроса произошла ошибка;

  • Exception while processing — во время выполнения запроса произошла ошибка;

  • Uncompleted — выполнение запроса не было завершено по какой-либо причине, то есть в логе нет записи об успешном завершении или ошибке выполнения запроса (например, если во время выполнения запроса был перезапущен хост).

Host

Хост, на котором выполнялся запрос

Exception

Текст ошибки, произошедшей до или во время выполнения запроса

Exception code

Код ошибки, произошедшей до или во время выполнения запроса

Frequency

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

Databases

Названия баз данных (может быть несколько — например, для запросов с JOIN), к которым обращается запрос

Tables

Названия таблиц (может быть несколько — например, для запросов с JOIN), к которым обращается запрос

Used memory

Объем памяти, используемой запросом

User

Имя пользователя ADQM, запустившего выполнение запроса

Time started

Время начала выполнения запроса

Time elapsed

Длительность выполнения завершенного запроса или время выполнения на текущий момент (now - time_started) для запроса, который еще не завершен (когда запрос завершится, при очередном поступлении информации о запросах ADQM в ADQM Control значение в столбце Time elapsed будет заменено на фактическое время выполнения запроса)

Average execution time

Среднее время выполнения запроса. Статистика считается по запросам, текст которых полностью совпадает (то есть для параметризованных запросов учитываются конкретные значения параметров)

Read bytes

Общий объем данных, считанных из всех таблиц и табличных функций, участвующих в запросе. Для распределенных запросов это количество байтов, прочитанных на всех репликах — каждая реплика передает собственное значение Read bytes, а сервер-инициатор запроса суммирует все полученные и локальные значения

Result bytes

Объем памяти для хранения результата запроса

Result rows

Количество строк в результате запроса SELECT или количество строк в запросе INSERT

Read rows

Общее количество строк, считанных из всех таблиц и табличных функций, участвующих в запросе. Для распределенных запросов это общее количество строк, прочитанных на всех репликах — каждая реплика передает собственное значение Read rows, а сервер-инициатор запроса суммирует все полученные и локальные значения

Written rows

Количество строк, записанных запросом INSERT (для других запросов значение поля — 0)

Written bytes

Объем данных, записанных запросом INSERT (для других запросов значение поля — 0)

Type

Тип запроса. Возможные значения:

  • Read — запрос на чтение;

  • Write — запрос на запись.

Чтобы вывести/скрыть поля таблицы Queries, нажмите Customize table и отметьте нужные поля в выпадающем списке. Поля Query ID и Query text всегда присутствуют в таблице запросов, их скрыть нельзя.

Управление полями таблицы Queries
Управление полями таблицы Queries

Сортировка и фильтрация данных

Для отбора необходимых данных на странице Queries можно использовать фильтры, расположенные в заголовках столбцов таблицы запросов. Чтобы открыть фильтр, кликните по иконке open filter default dark open filter default light. Фильтры доступны в следующих столбцах:

  • Host, Databases, Tables — нужно ввести название хоста, базы данных или таблицы соответственно (для строк, где в столбце Databases или Tables через запятую перечислены названия нескольких баз данных или таблиц, фильтрация работает только если поиск выполняется по одному значению из списка баз данных или таблиц в ячейке);

  • Exception code — нужно ввести числовой код ошибки;

  • User — можно ввести имя или фрагмент имени пользователя;

  • Status, Type — можно выбрать значение (статус или тип запроса) из выпадающего списка.

Иконка filter dark focus filter light focus означает, что применен фильтр по значениям столбца. Для сброса всех условий фильтрации нажмите reset btn dark reset btn light.

Сортировка данных возможна по столбцам Exception (фактически сортировка выполняется по коду ошибки), Exception code, Used memory, Time started, Time elapsed, Read bytes, Result bytes, Result rows, Read rows, Written rows, Written bytes. Для изменения порядка сортировки данных по значениям столбца используйте иконку asc dark active default asc light active default или desc dark active default desc light active default в его заголовке.

Над таблицей с запросами расположена панель с индикаторами применяемых в настоящий момент условий сортировки (Sorted by) и фильтрации (Filtered by) данных.

Текущие условия сортировки и фильтрации данных
Текущие условия сортировки и фильтрации данных

Детали запроса

Чтобы просмотреть детальную информацию о запросе, нажмите на его идентификатор в поле Query ID таблицы запросов на странице Queries.

Выбор запроса
Выбор запроса

Открывшаяся страница Query details содержит полный текст запроса, а также текст сообщения об ошибке в случае ее возникновения при обработке запроса. В верхней части страницы также выводятся метрики запроса в столбцах, выбранных на странице Queries через Customize table.

Страница Query details
Страница Query details
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней