Use as consultas e métricas deste tópico para monitorar o Hologres Serverless Computing. Verifique quais tarefas estão em execução ou na fila, investigue logs históricos de tarefas e visualize o consumo total de recursos em seus bancos de dados.
Visualizar métricas de monitoramento
Faça login no console do Hologres para visualizar as métricas do Serverless Computing da sua instância. Para mais informações, consulte Observabilidade de instâncias com CloudMonitor.
Visualizar status das tarefas
Consulte a visualização hg_stat_activity para ver as tarefas em execução ou aguardando em recursos serverless.
Estágios de execução da tarefa
|
Estágio |
Descrição |
|
|
A tarefa está em execução ativa nos recursos serverless |
|
|
A tarefa aguarda a disponibilidade de recursos serverless |
Visualizar tarefas em execução
SELECT
*,
(running_info::json) ->> 'computing_resource' AS computing_resource,
(running_info::json) ->> 'current_stage' AS current_stage
FROM
hg_stat_activity
WHERE (running_info::json) ->> 'computing_resource' = 'Serverless'
AND (running_info::json) -> 'current_stage'->>'stage_name' = 'EXECUTE'
Visualizar tarefas na fila
SELECT
*,
(running_info::json) ->> 'computing_resource' AS computing_resource,
(running_info::json) ->> 'current_stage' AS current_stage
FROM
hg_stat_activity
WHERE (running_info::json) ->> 'computing_resource' = 'Serverless'
AND (running_info::json) -> 'current_stage'->>'stage_name' = 'QUEUE'
Visualizar uma tarefa específica
Substitua <query_id> pelo ID da tarefa que deseja consultar.
SELECT
*,
(running_info::json) ->> 'computing_resource' AS computing_resource,
(running_info::json) ->> 'current_stage' AS current_stage
FROM
hg_stat_activity
WHERE
query_id = '<query_id>';
Consultar tarefas históricas
Os dados emhologres.hg_query_logehologres.hg_serverless_computing_query_logsão retidos por um mês.
A partir do Hologres V2.1.18, use a visualização hologres.hg_serverless_computing_query_log para consultar tarefas executadas em recursos serverless.
SELECT
*
FROM
hologres.hg_serverless_computing_query_log;
Campos adicionais em relação aos logs de consulta lenta
Esta visualização adiciona os seguintes campos além dos fornecidos pelos logs de consulta lenta:
|
Campo |
Descrição |
|
|
Tempo (ms) de espera da consulta por recursos serverless |
|
|
Quantidade de CUs alocadas para a consulta |
|
|
Número de workers alocados para a consulta |
|
|
Tempo (ms) de uso ativo de recursos serverless pela consulta |
Origem da consulta: serverless_computing_source
O campo extended_info inclui um valor serverless_computing_source que identifica como a consulta foi direcionada aos recursos serverless:
|
Valor |
Descrição |
|
|
Consulta enviada explicitamente pelo usuário para execução serverless |
|
|
Consulta originada de uma fila de consultas configurada para execução serverless. Consulte Executar consultas da fila usando recursos do Serverless Computing. |
|
|
Consulta que usou recursos serverless via Adaptive Serverless Computing. Consulte Computação serverless adaptativa. |
|
|
Consulta grande reexecutada automaticamente em recursos serverless. Consulte Gerenciamento de consultas grandes. |
Quando serverless_computing_source é query_queue_rerun, o campo query_id_of_triggered_rerun contém o ID original da consulta reexecutada.
Comportamento por versão
Antes da V2.2.7: a visualização inclui apenas consultas bem-sucedidas com duração de execução superior a 100 ms, além de todas as consultas com falha.
V2.2.7 e posteriores: a visualização inclui todas as consultas executadas no Serverless Computing.
Vincular tarefas de múltiplos registros ao SQL original
Tarefas como COPY, CTAS e INSERT OVERWRITE geram vários registros nos logs de consulta lenta: um para o SQL original e registros adicionais para as instruções INSERT criadas durante a execução. Os registros de INSERT são os que realmente consomem recursos serverless.
Para vincular os registros de INSERT à tarefa original, use o trans_id do registro da tarefa original como filtro source_trx:
SELECT
query_id,
query,
extended_info
FROM
hologres.hg_query_log
WHERE
extended_info ->> 'source_trx' = '<transaction_id>' -- Obtain the transaction_id from the trans_id field of the record for tasks like COPY, CTAS, or RESHARDING.
-- extended_info ->> 'src_query_id' = 'query_id' -- Stored procedures are not transactions, so you need to link them using the query_id field.
-- query like '%<transaction_id>%' -- RESHARDING tasks cannot be linked using the extended_info field. You must link them using the query field.
ORDER BY
query_start
;
Visualizar uso de recursos
Consulte o consumo total de CUs serverless em todas as tarefas ativas, agrupado por banco de dados e estágio de execução:
SELECT
datname::text as db_name,
(running_info::json) -> 'current_stage' ->> 'stage_name' AS current_stage,
SUM(((running_info::json) -> 'current_stage' ->> 'serverless_allocated_cores')::int) AS total_computing_resource,
count(1) as query_qty
FROM
hg_stat_activity
WHERE (running_info::json) ->> 'computing_resource' = 'Serverless'
GROUP BY
1,
2;
O conjunto de resultados inclui as seguintes colunas:
|
Coluna |
Descrição |
|
|
Nome do banco de dados |
|
|
Estágio de execução: |
|
|
Total de CUs consumidas pelas consultas neste banco de dados e estágio |
|
|
Quantidade de consultas SQL |