Pular para o conteúdo principal
O ClickStack oferece suporte a visualizações baseadas em consultas SQL puras. Isso dá a você controle total sobre a lógica da consulta, sem perder a integração com intervalos de tempo no nível do dashboard, filtros e renderização de gráficos. As visualizações baseadas em SQL são úteis quando você precisa ir além do Chart Explorer integrado — por exemplo, para fazer JOIN entre tabelas ou criar agregações complexas que não são compatíveis com o construtor de gráficos.

Criando uma visualização baseada em SQL

Para criar uma visualização baseada em SQL, abra o editor de tile do dashboard e selecione a aba SQL. A partir daí:
  1. Selecione uma conexão do ClickHouse para executar a consulta.
  2. Opcionalmente, selecione uma Source — isso permite aplicar filtros no nível do dashboard ao seu gráfico por meio da macro $__filters.
  3. Escreva sua consulta SQL no editor, usando parâmetros de consulta e macros para integrá-la ao intervalo de tempo e aos filtros do dashboard.
  4. Clique no botão play para visualizar os resultados e depois em Save.

Parâmetros de consulta

Parâmetros de consulta permitem que seu SQL faça referência ao intervalo de tempo e à granularidade atuais do dashboard. Eles usam a sintaxe de consultas parametrizadas do ClickHouse: {paramName:Type}.

Parâmetros disponíveis

Os parâmetros disponíveis dependem do tipo de gráfico: Gráficos de Linha e Barra Empilhada: Gráficos de Tabela, Pizza e Número:

Macros

Macros são atalhos que se expandem em expressões comuns do ClickHouse SQL. Elas são precedidas por $__ e substituídas antes de a consulta ser enviada ao ClickHouse.

Macros de limite de tempo

Essas macros retornam uma expressão do ClickHouse que representa a hora de início ou de término do dashboard. Elas não recebem argumentos.

Macros de filtro de tempo

Essas macros geram um fragmento de cláusula WHERE que filtra uma coluna com base no intervalo de tempo do dashboard. Exemplo de expansão de $__timeFilter(TimestampTime):

Macros de intervalo de tempo

Essas macros agrupam uma coluna de timestamp em intervalos que correspondem à granularidade do dashboard. Elas geralmente são usadas nas cláusulas SELECT e GROUP BY para gráficos de séries temporais. Estão disponíveis apenas para visualizações de linha e de barras empilhadas. Expansão de exemplo de $__timeInterval(TimestampTime):

Macro de filtro do dashboard

Quando uma Source é selecionada no gráfico e os filtros do dashboard estão ativos, $__filters se expande para as condições SQL WHERE correspondentes. Quando nenhuma Source é selecionada ou nenhum filtro é aplicado, ele se expande para (1=1), portanto é sempre seguro incluí-lo em uma cláusula WHERE.

Como os resultados da consulta são exibidos nos gráficos

O ClickStack mapeia automaticamente as colunas do resultado para elementos do gráfico com base nos tipos de coluna. As regras de mapeamento variam conforme o tipo de gráfico.

Gráficos de linha e de barras empilhadas

Gráfico de pizza

Gráfico numérico

Tabela

Todas as colunas do resultado são exibidas diretamente como colunas da tabela.

Exemplos

Acesso obrigatório à tabela do sistemaVocê precisará especificar otel_v2.otel_logs ou otel_v2.otel_traces se executar os exemplos a seguir em play-clickstack.clickhouse.com.

Gráfico de linhas — contagem de logs ao longo do tempo por serviço

Esta consulta conta eventos de log por serviço, agrupando-os em intervalos de tempo de acordo com a granularidade do dashboard.
  • ts (DateTime) é usado como timestamp do eixo X.
  • count (numérico) é exibido como o valor da série.
  • ServiceName (string) cria uma linha separada para cada serviço.

Gráfico de linhas — usando macros

A mesma consulta escrita com macros, para ficar mais concisa:

Gráfico de barras empilhadas — contagem de erros por nível de severidade

Gráfico de tabela — 10 endpoints mais lentos

gráfico de pizza — distribuição de solicitações por serviço

  • request_count (numérico) determina o tamanho de cada segmento.
  • ServiceName (string) identifica cada segmento.

Gráfico numérico — contagem total de erros

O único valor numérico total_errors da primeira linha é exibido.

Observações

  • As visualizações baseadas em SQL são executadas com o modo readonly ativado — somente consultas SELECT são permitidas.
  • As visualizações baseadas em SQL devem conter exatamente uma única consulta SQL - várias consultas não são compatíveis.
  • O editor SQL fornece sugestões de preenchimento automático tanto para parâmetros de consulta quanto para macros.
  • É necessário selecionar uma source para aplicar os filtros do dashboard às visualizações baseadas em SQL. A source deve corresponder à tabela consultada, para garantir uma filtragem precisa.
Última modificação em 19 de junho de 2026