Перейти к основному содержимому
Версия: 2.0.x

API деталей запроса

API query detail возвращает детали выполнения недавних запросов, которые кэшируются в памяти FE.

примечание

Записи деталей запросов собираются только когда параметр конфигурации FE enable_collect_query_detail_info установлен в true.

Конечные точки

  • GET /api/query_detail (v1)
  • GET /api/v2/query_detail (v2, поддерживает is_request_all_frontend и возвращает обёрнутый результат)

Параметры

ИмяОбязательныйПо умолчаниюОписание
event_timeДа-Фильтр нижней границы. Возвращает элементы, чей eventTime больше этого значения. Вы можете передать 0, чтобы получить все кэшированные элементы.
userНет-Фильтр по полю user. Регистронезависимое сопоставление.
is_request_all_frontendНет (только v2)falseКогда true, текущий FE запрашивает другие активные FE и объединяет их результаты.

Ответ

  • v1 возвращает JSON-массив объектов QueryDetail.
  • v2 возвращает { "code": "0", "message": "OK", "result": [ ... ] }, где result — это список QueryDetail.

Аутентификация и авторизация

Этот API требует HTTP Basic аутентификации. Помимо успешного входа, дополнительная проверка привилегий не выполняется. Любой аутентифицированный пользователь может получить доступ к конечной точке и просматривать все кэшированные детали запросов, если не применён фильтр user.

Поля QueryDetail

ПолеТипОписание
queryIdstringID запроса.
eventTimelongВнутренняя временная метка для фильтрации. Монотонная временная метка в наносекундах.
isQuerybooleanЯвляется ли команда запросом.
remoteIPstringIP-адрес клиента или System.
connIdintID соединения.
startTimelongВремя начала запроса в миллисекундах с начала эпохи.
endTimelongВремя окончания запроса в миллисекундах с начала эпохи. -1, если не завершён.
latencylongЗадержка запроса в миллисекундах. -1, если не завершён.
pendingTimelongВремя ожидания в миллисекундах.
netTimelongЧистое время выполнения в миллисекундах.
netComputeTimelongЧистое время вычислений в миллисекундах.
statestringОдно из: RUNNING, FINISHED, FAILED, CANCELLED.
databasestringТекущая база данных.
sqlstringТекст SQL (может быть обезличен при соответствующей настройке).
userstringПользователь входа (полное имя пользователя).
impersonatedUserstringЦелевой пользователь EXECUTE AS. null, если не выполняется от имени другого пользователя.
errorMessagestringСообщение об ошибке при сбое.
explainstringПлан выполнения (уровень контролируется параметром query_detail_explain_level).
profilestringТекст profile, если собран.
resourceGroupNamestringИмя resource group.
scanRowslongКоличество просканированных строк.
scanByteslongКоличество просканированных байт.
returnRowslongКоличество возвращённых строк.
cpuCostNslongСтоимость CPU в наносекундах.
memCostByteslongСтоимость памяти в байтах.
spillByteslongБайты, сброшенные на диск.
cacheMissRatiofloatКоэффициент промахов кэша в процентах (0-100).
warehousestringИмя warehouse.
digeststringДайджест SQL.
catalogstringИмя каталога.
commandstringИмя команды MySQL.
preparedStmtIdstringID подготовленного выражения.
queryFeMemorylongПамять FE, выделенная запросом, в байтах.
querySourcestringИсточник запроса: EXTERNAL, INTERNAL, MV или TASK.

Примеры

v1

curl -u root: "http://<fe_host>:<fe_http_port>/api/query_detail?event_time=0"

v2

curl -u root: "http://<fe_host>:<fe_http_port>/api/v2/query_detail?event_time=0&is_request_all_frontend=true"