Описание
Содержит информацию о узлах планировщика, находящихся на локальном сервере, и их статусе. Эту таблицу можно использовать для мониторинга. Таблица содержит по одной строке для каждого узла планировщика.
Столбцы
resource(String) — Имя ресурсаpath(String) — Путь к узлу планировщика в иерархии планирования этого ресурсаtype(String) — Тип узла планировщика.weight(Float64) — Вес узла, используемый родительским узлом типаfair.priority(Int64) — Приоритет узла, используемый родительским узлом типа 'priority' (меньшее значение означает более высокий приоритет).precedence(Int64) — Старшинство узла, используемое родительскими узлами с разделением по пространству (память) для определения порядка допуска и вытеснения (меньшее значение означает более высокое старшинство).is_active(Nullable(UInt8)) — Активен ли этот узел в данный момент: есть ли запросы ресурсов для извлечения из очереди и выполнены ли ограничения.active_children(Nullable(UInt64)) — Количество дочерних узлов в активном состоянии.dequeued_requests(Nullable(UInt64)) — Общее количество запросов ресурсов, извлечённых из очереди этого узла.canceled_requests(Nullable(UInt64)) — Общее количество отменённых запросов ресурсов этого узла.rejected_requests(Nullable(UInt64)) — Общее количество отклонённых запросов ресурсов этого узла.dequeued_cost(Nullable(Int64)) — Сумма стоимостей (например, размера в байтах) всех запросов, извлечённых из очереди этого узла.canceled_cost(Nullable(Int64)) — Сумма стоимостей (например, размера в байтах) всех отменённых запросов этого узла.rejected_cost(Nullable(Int64)) — Сумма стоимостей (например, размера в байтах) всех отклонённых запросов этого узла.busy_periods(Nullable(UInt64)) — Общее количество деактиваций этого узла.throughput(Nullable(Float64)) — Текущая средняя пропускная способность (стоимость извлечённых из очереди запросов в секунду).vruntime(Nullable(Float64)) — Только для дочерних узловfair. Виртуальное время выполнения узла, используемое алгоритмом SFQ для выбора следующего дочернего узла для обработки с соблюдением максиминной справедливости.system_vruntime(Nullable(Float64)) — Только для узловfair. Виртуальное время выполнения, соответствующееvruntimeпоследнего обработанного запроса ресурса. Используется при активации дочернего узла как новое значениеvruntime.queue_length(Nullable(UInt64)) — Только для узловfifo. Текущее количество запросов ресурсов в очереди.queue_cost(Nullable(Int64)) — Только для узловfifo. Сумма стоимостей (например, размера в байтах) всех запросов в очереди.budget(Nullable(Int64)) — Только для узловfifo. Количество доступных 'единиц стоимости' для новых запросов ресурсов. Может появляться при расхождении между расчётной и фактической стоимостью запросов ресурсов (например, после сбоя чтения/записи)is_satisfied(Nullable(UInt8)) — Только для узлов ограничений (например,inflight_limit). Равно1, если все ограничения этого узла выполнены.inflight_requests(Nullable(Int64)) — Только для узловinflight_limit. Количество запросов ресурсов, извлечённых из очереди этого узла и находящихся в состоянии использования.inflight_cost(Nullable(Int64)) — Только для узловinflight_limit. Сумма стоимостей (например, в байтах) всех запросов ресурсов, извлечённых из очереди этого узла и находящихся в состоянии использования.max_requests(Nullable(Int64)) — Только для узловinflight_limit. Верхний пределinflight_requests, при котором происходит нарушение ограничения.max_cost(Nullable(Int64)) — Только для узловinflight_limit. Верхний предел inflight_cost, при превышении которого нарушается ограничение.max_speed(Nullable(Float64)) — Только для узловbandwidth_limit. Верхний предел пропускной способности в токенах в секунду.max_burst(Nullable(Float64)) — Только для узловbandwidth_limit. Верхний предел количества токенов, доступных в ограничителе token-bucket.throttling_us(Nullable(Int64)) — Только для узловbandwidth_limit. Общее количество микросекунд, в течение которых этот узел находился в состоянии ограничения скорости.tokens(Nullable(Float64)) — Только для узловbandwidth_limit. Количество токенов, доступных в данный момент в ограничителе token-bucket.allocated(Nullable(Int64)) — Только для узлов с разделением по пространству. Текущий объём ресурса, выделенный в этом узле.allocations(Nullable(UInt64)) — Только для узлов с разделением по пространству. Текущее число активных выделений ресурса в этом узле.updates(Nullable(UInt64)) — Только для узлов с разделением по пространству. Общее число обновлений, переданных через этот узел.increases(Nullable(UInt64)) — Только для узлов с разделением по пространству. Общее число запросов на увеличение, одобренных этим узлом.decreases(Nullable(UInt64)) — Только для узлов с разделением по пространству. Общее число запросов на уменьшение, одобренных этим узлом.admits(Nullable(UInt64)) — Только для узлов с разделением по пространству. Общее число выделений, одобренных этим узлом.removes(Nullable(UInt64)) — Только для узлов с разделением по пространству. Общее число выделений, удалённых из этого узла.killers(Nullable(UInt64)) — Только для узлов с разделением по пространству. Общее число вытеснений, инициированных этим узлом в связи с запросами на увеличение.victims(Nullable(UInt64)) — Только для узлов с разделением по пространству. Общее число выделений, вытесненных из этого узла.rejects(Nullable(UInt64)) — Только для узловallocation_queue. Общее число выделений ресурса, отклонённых этим узлом.pending(Nullable(UInt64)) — Только для узловallocation_queue. Текущее число ожидающих выделений ресурса в этом узле.
Пример:
SELECT *
FROM system.scheduler
WHERE resource = 'network_read' AND path = '/prio/fair/prod'
FORMAT VerticalRow 1:
──────
resource: network_read
path: /prio/fair/prod
type: fifo
weight: 5
priority: 0
is_active: 0
active_children: 0
dequeued_requests: 67
canceled_requests: 0
dequeued_cost: 4692272
canceled_cost: 0
busy_periods: 63
vruntime: 938454.1999999989
system_vruntime: ᴺᵁᴸᴸ
queue_length: 0
queue_cost: 0
budget: -60524
is_satisfied: ᴺᵁᴸᴸ
inflight_requests: ᴺᵁᴸᴸ
inflight_cost: ᴺᵁᴸᴸ
max_requests: ᴺᵁᴸᴸ
max_cost: ᴺᵁᴸᴸ
max_speed: ᴺᵁᴸᴸ
max_burst: ᴺᵁᴸᴸ
throttling_us: ᴺᵁᴸᴸ
tokens: ᴺᵁᴸᴸ