Referência de insights de consulta avançados

Selecione uma versão da documentação:

Este documento descreve os parâmetros de configuração, as dimensões de telemetria e as visualizações e funções de observabilidade para insights de consultas avançados no AlloyDB Omni.

Para mais informações sobre como ativar e consultar insights de consultas avançados, consulte Monitorar o desempenho de consultas usando insights de consultas avançados.

Parâmetros de configuração

Para aplicar mudanças de parâmetros que não exigem a reinicialização do banco de dados, execute ALTER SYSTEM SET seguido por SELECT pg_reload_conf(). A tabela a seguir descreve os parâmetros de configuração para Query Insights avançado:

Parâmetro Tipo Valor padrão É necessário reiniciar o navegador Descrição
google_insights_v2.enabled boolean off Sim para a ativação inicial com shared_preload_libraries. Não para uma recarga subsequente com pg_reload_conf(). Ativa ou desativa a coleta de telemetria de Query Insights avançados na instância.
google_insights_v2.qi_max_query_string_length integer 10240 Não (recarregar com pg_reload_conf()) Define o comprimento máximo de bytes (1024 a 102400) registrado para modelos SQL normalizados, em que os valores literais são mascarados como parâmetros posicionais, como $1 e $2.
google_insights_v2.qi_preserve_comments boolean off Não (recarregar com pg_reload_conf()) Controla se os comentários SQL são preservados em strings de consulta normalizadas.
google_insights_v2.qi_track_wait_event_types boolean on Não (recarregar com pg_reload_conf()) Registra categorias de gargalo wait_class de alto nível, como CPU, IO, Lock, Timeout, e IPC.
google_insights_v2.qi_track_wait_events boolean on Não (recarregar com pg_reload_conf()) Registra nomes de wait_event do PostgreSQL granulares, como DataFileExtend, transactionid e WALWrite.
google_insights_v2.qi_track_client_address boolean off Não (recarregar com pg_reload_conf()) Registra endereços IP de clientes conectados em visualizações de estatísticas de consulta e endereço do cliente.
google_insights_v2.qi_track_tag boolean off Não (recarregar com pg_reload_conf()) Permite o monitoramento de tags, como SQLCommenter tags, em comentários SQL.
google_insights_v2.qi_track_active_queries boolean off Não (recarregar com pg_reload_conf()) Permite o monitoramento em tempo real de consultas ativas e transações abertas.

Visualizações e métricas de observabilidade por dimensão

As seções a seguir listam as visualizações de observabilidade e as colunas de métricas disponíveis no esquema google_insights_v2 para cada dimensão de telemetria.

Consultas

A dimensão de consultas acompanha as estatísticas de execução e o texto SQL normalizado para consultas na instância. Para preservar os comentários SQL no texto de consulta normalizado, defina google_insights_v2.qi_preserve_comments como on.

As seguintes visualizações e colunas estão disponíveis para essa dimensão:

  • Visualizações de observabilidade:
    • observability_service_query_view
    • observability_service_query_coarse_1_view
    • observability_service_query_coarse_2_view
  • Colunas relacionadas:
    • query_id: identificador de hash da consulta SQL normalizada.
    • query: texto de consulta SQL normalizado.
    • database: banco de dados lógico em que a consulta foi executada.
    • username: função de banco de dados que executou a consulta.
    • total_execution_time: tempo de execução cumulativo em microssegundos.
    • total_wait_time: tempo de espera cumulativo em microssegundos.
    • total_read_time: tempo de leitura cumulativo do disco em microssegundos.
    • total_write_time: tempo de gravação cumulativo do disco em microssegundos.
    • total_rows: número total de linhas retornadas ou afetadas pela consulta.
    • total_shared_blocks_hit: número total de hits de buffer compartilhado.
    • total_shared_blocks_read: número total de blocos compartilhados lidos do disco.
    • count: número total de vezes que a consulta foi executada.
    • recorded_on: carimbo de data/hora em que o intervalo de telemetria foi registrado.

Tipos de evento de espera

A dimensão de tipos de eventos de espera registra categorias de gargalo wait_class de alto nível quando google_insights_v2.qi_track_wait_event_types está definido como on (ativado por padrão).

As seguintes visualizações e colunas estão disponíveis para essa dimensão:

  • Visualizações de observabilidade:
    • observability_service_wait_event_no_query_view
    • observability_service_wait_event_stats_by_query_view
  • Colunas relacionadas:
    • wait_class: categoria de evento de espera, como IO, Lock, LWLock, CPU ou Internal wait event.
    • wait_event: nome do evento de espera granular do PostgreSQL na classe de espera.
    • time_spent: tempo de espera cumulativo para o tipo de evento de espera em microssegundos.
    • count: número total de vezes que o tipo de evento de espera ocorreu.
    • database: banco de dados lógico em que o evento de espera ocorreu.
    • username: função de banco de dados associada ao evento de espera.
    • tag_id: identificador numérico do conjunto de tags SQLCommenter associado.
    • tag_string: string de comentário SQL bruta que contém as tags do aplicativo.
    • recorded_on: carimbo de data/hora em que o intervalo de telemetria foi registrado.
    • query_id: identificador de hash da consulta (em observability_service_wait_event_stats_by_query_view).

Eventos de espera

A dimensão de eventos de espera registra nomes de wait_event do PostgreSQL granulares quando google_insights_v2.qi_track_wait_events está definido como on (ativado por padrão).

As seguintes visualizações e colunas estão disponíveis para essa dimensão:

  • Visualizações de observabilidade:
    • observability_service_wait_event_no_query_view
    • observability_service_wait_event_stats_by_query_view
  • Colunas relacionadas:
    • wait_event: nome específico do evento de espera do PostgreSQL, como DataFileExtend, DataFileRead, WALWrite ou Internal wait event.
    • wait_class: categoria de evento de espera a que o evento de espera pertence.
    • time_spent: tempo de espera cumulativo para o evento de espera em microssegundos.
    • count: número total de vezes que o evento de espera ocorreu.
    • database: banco de dados lógico em que o evento de espera ocorreu.
    • username: função de banco de dados associada ao evento de espera.
    • tag_id: identificador numérico do conjunto de tags SQLCommenter associado.
    • tag_string: string de comentário SQL bruta que contém as tags do aplicativo.
    • recorded_on: carimbo de data/hora em que o intervalo de telemetria foi registrado.
    • query_id: identificador de hash da consulta (em observability_service_wait_event_stats_by_query_view).

Bancos de dados

A dimensão de bancos de dados acompanha o consumo de recursos e o volume de consultas por banco de dados lógico quando google_insights_v2.enabled está definido como on.

As seguintes visualizações e colunas estão disponíveis para essa dimensão:

  • Visualizações de observabilidade:
    • observability_service_db_load_conn_view
    • observability_service_query_view
    • observability_service_wait_event_no_query_view
  • Colunas relacionadas:
    • database: nome do banco de dados lógico.
    • username: função de banco de dados que executou consultas no banco de dados.
    • total_execution_time: tempo de execução de consultas cumulativo no banco de dados em microssegundos.
    • total_wait_time: tempo de espera cumulativo no banco de dados em microssegundos.
    • count: número total de execuções de consultas no banco de dados.
    • recorded_on: carimbo de data/hora em que o intervalo de telemetria foi registrado.

Usuários e endereços IP do cliente

A dimensão de usuários e endereços IP do cliente acompanha a carga por função de banco de dados (username) por padrão. Para também coletar endereços IP do cliente (client_address), defina google_insights_v2.qi_track_client_address como on (off por padrão).

As seguintes visualizações e colunas estão disponíveis para essa dimensão:

  • Visualizações de observabilidade:
    • observability_service_query_view
    • observability_service_client_address_stats_by_query_view
  • Colunas relacionadas:
    • client_address: endereço IP do cliente conectado (quando google_insights_v2.qi_track_client_address é on).
    • username: nome da função do banco de dados.
    • database: nome do banco de dados lógico.
    • query_id: identificador de hash da consulta SQL normalizada.
    • time_spent: tempo de execução de consultas cumulativo para o endereço do cliente em microssegundos.
    • count: número total de execuções de consultas para o usuário ou endereço IP do cliente.
    • recorded_on: carimbo de data/hora em que o intervalo de telemetria foi registrado.

Tags

A dimensão de tags acompanha as estatísticas de execução de consultas por metadados de tags de aplicativos. Para coletar métricas de tags, defina google_insights_v2.qi_track_tag como on (off por padrão). Quando definido como off, essas visualizações não retornam linhas.

As seguintes visualizações e colunas estão disponíveis para essa dimensão:

  • Visualizações de observabilidade:
    • observability_service_db_load_tag_view
    • observability_service_tag_view
  • Colunas relacionadas:
    • tag_id: identificador numérico da combinação de tags do aplicativo.
    • tag_string: string de comentário SQL bruta que contém as tags do aplicativo.
    • application: nome do aplicativo extraído de tags SQLCommenter.
    • db_driver: driver de banco de dados extraído de tags SQLCommenter.
    • framework_name: nome do framework do aplicativo extraído de tags SQLCommenter.
    • framework_controller: controlador de framework extraído de tags SQLCommenter.
    • framework_action: ação de framework extraída de tags SQLCommenter.
    • framework_route: rota de framework extraída de tags SQLCommenter.
    • traceparent: contexto de traces W3C extraído de tags SQLCommenter.
    • database: nome do banco de dados lógico em que a consulta marcada foi executada.
    • username: função de banco de dados que executou a consulta marcada.
    • total_execution_time: tempo de execução de consultas cumulativo para a combinação de tags em microssegundos.
    • count: número total de execuções de consultas para a combinação de tags.
    • recorded_on: carimbo de data/hora em que o intervalo de telemetria foi registrado.

Consultas ativas

A dimensão de consultas ativas acompanha as consultas em execução e as transações abertas em tempo real. Para consultar sessões ativas, defina google_insights_v2.qi_track_active_queries como on. Quando definido como off, a consulta dessas visualizações retorna um erro.

As seguintes visualizações e colunas estão disponíveis para essa dimensão:

  • Visualizações de observabilidade:
    • stat_activity
    • stat_activity_v3
  • Colunas relacionadas:
    • pid: ID de processo de back-end. Para encerrar uma sessão, transmita o ID de processo para a função do sistema pg_terminate_backend(pid) do PostgreSQL.
    • normalized_query_hash: identificador de hash da consulta SQL normalizada.
    • normalized_query: texto SQL normalizado da consulta ativa.
    • state: estado atual do back-end, como active ou idle in transaction.
    • backend_start: carimbo de data/hora em que a sessão atual foi iniciada. Para calcular a duração da sessão em segundos, calcule EXTRACT(EPOCH FROM (clock_timestamp() - backend_start)).
    • xact_start: carimbo de data/hora em que a transação atual foi iniciada. Para calcular a duração da transação em segundos, calcule EXTRACT(EPOCH FROM (clock_timestamp() - xact_start)).
    • query_start: carimbo de data/hora em que a consulta atual foi iniciada. Para calcular a duração da consulta em segundos, calcule EXTRACT(EPOCH FROM (clock_timestamp() - query_start)).
    • wait_event_type: categoria de evento de espera se o back-end estiver aguardando.
    • wait_event: nome do evento de espera se o back-end estiver aguardando.
    • database: nome do banco de dados lógico para a sessão ativa.
    • username: nome da função do banco de dados para a sessão ativa.
    • application_name: nome do aplicativo de conexão.
    • client_addr: endereço IP do cliente conectado.