Skip to content

Trace ​

Eu lembro das coisas. O Trace ajuda.

O Trace é o monitor de atividade do Lily. Abra por Ferramentas › Atividade na barra lateral, no PostgreSQL, MySQL, SQL Server, ClickHouse e Trino.

Ao vivo ​

A aba Ao vivo lista as queries rodando agora, atualizadas a cada dois segundos: sessão, usuário, estado, há quanto tempo está rodando e a query. Queries rodando há mais de 30 segundos ficam laranja.

Cada linha abre o plano visual ou Matar esta query.

Queries que terminam em menos de dois segundos podem passar entre uma amostra e outra. A aba Top pega essas.

O que dá para ver ​

Ver as queries de outros usuários pede um privilégio:

BancoPrecisa de
PostgreSQLsuperusuário ou pg_read_all_stats
MySQLPROCESS
SQL ServerVIEW SERVER STATE

Sem ele, você vê as suas sessões e o Lily diz quantas não conseguiu mostrar. No ClickHouse e no Trino ele não consegue saber, e avisa.

Gravando ​

Clique em Gravar e o Trace guarda uma linha do tempo dos últimos 15 minutos. Arraste o controle de volta até o momento em que tudo ficou lento e veja o que estava rodando. Voltar ao vivo retorna.

A aba Capturadas guarda toda query que a gravação pegou, mesmo depois de terminar, com Explicar, Abrir no editor e Copiar SQL.

A gravação só roda com a janela do Trace aberta. Em Ajustes › Espaço de trabalho:

  • Lembrar histórico do Trace no disco guarda a linha do tempo por 24 horas, com os valores tirados das queries, para sobreviver ao fechar o Lily. O Investigar usa como evidência.
  • Me avisar enquanto o Trace estiver gravando avisa de queries mais lentas que um limite (30 segundos por padrão) e de novas esperas por lock. As notificações nunca trazem o texto da query.
  • Continuar gravando com o Lily em segundo plano segue amostrando quando o Lily não é o app ativo. Um ícone na barra de menus aparece enquanto ele grava.

Bloqueios ​

No PostgreSQL, MySQL 8 e SQL Server, Bloqueios desenha quem está bloqueando quem: cada sessão que bloqueia, as que esperam por ela e há quanto tempo. No menu de uma sessão:

  • Explicar por que está lento pede a causa para a sua ferramenta de IA, a partir da query e do plano sem os valores, da cadeia de bloqueios e do schema.
  • Matar esta sessão.

Top ​

Top ranqueia os 50 comandos mais pesados pelo tempo total, com chamadas, tempo médio e total.

  • O PostgreSQL lê o pg_stat_statements. Se ele não estiver instalado, Ativar roda CREATE EXTENSION pg_stat_statements; ele também precisa estar em shared_preload_libraries no servidor.
  • O MySQL lê o performance_schema.
  • O SQL Server lê o sys.dm_exec_query_stats, e os totais dele são tempo de CPU.

Matando ​

Antes de matar, o Lily confere se a sessão ainda está rodando a mesma query, e pede confirmação.

BancoComando
PostgreSQLpg_terminate_backend, que encerra a sessão inteira
MySQL, SQL ServerKILL
ClickHouseKILL QUERY
Trinosystem.runtime.kill_query

Matar não está disponível em conexões somente leitura.

MongoDB e Redis ​

Eles têm um painel de Atividade mais simples no espaço de trabalho: operações rodando, com matar, no MongoDB, e comandos lentos e clientes no Redis. Veja as páginas deles.

O Lily DB é gratuito para uso pessoal e comercial.