Query Monitor – O painel de ferramentas do desenvolvedor para WordPress

Descrição

O Query Monitor é o painel de ferramentas para desenvolvedores do WordPress. Ele permite a depuração de consultas ao banco de dados, erros de PHP, ganchos e ações, blocos do editor de blocos, scripts e folhas de estilo enfileirados, chamadas de API HTTP e muito mais.

Ele inclui alguns recursos avançados, como depuração de chamadas Ajax, chamadas de API REST, verificações de capacidade de usuário e suporte completo para temas de bloco e edição completa do site. Possui a capacidade de filtrar grande parte de sua saída por plugin ou tema, permitindo que você identifique rapidamente plugins, temas ou funções com desempenho insatisfatório.

O Query Monitor concentra-se fortemente em apresentar suas informações de maneira útil, por exemplo, mostrando consultas agregadas ao banco de dados agrupadas por plugins, temas ou funções responsáveis ​​por elas. Ele adiciona um menu da barra de ferramentas do administrador mostrando uma visão geral da página atual, com informações completas de depuração mostradas em painéis assim que você seleciona um item de menu.

O Query Monitor é compatível com versões do WordPress de até três anos atrás e a versão do PHP 7.4 ou superior.

Para informações completas, consulte o site do Query Monitor.

Aqui está uma visão geral do que é mostrado para cada carregamento de página:

  • Consultas ao banco de dados, incluindo notificações para consultas lentas, duplicadas ou errôneas. Permite filtragem por tipo de consulta (SELECT, UPDATE, DELETE, etc), componente responsável (plugin, tema, arquivos básicos do WordPress) e função de chamada, e fornece visualizações agregadas separadas para cada um.
  • O nome de arquivo do modelo, a hierarquia completa do modelo e os nomes de todas as partes do modelo que foram carregadas ou não carregadas (para temas de bloco e temas clássicos).
  • Erros de PHP apresentados de forma clara, juntamente com seu componente responsável e pilha de chamadas, além de um aviso visível na barra de ferramentas do administrador.
  • Uso da funcionalidades “Fazendo errado” ou “Obsoleto” no código do seu site.
  • Blocos e propriedades associadas no conteúdo do post e na edição completa do site (FSE).
  • Regras de reescrita correspondentes, strings de consulta associadas e variáveis ​​de consulta.
  • Scripts e folhas de estilo enfileirados, juntamente com suas dependências, dependentes e alertas para dependências quebradas.
  • Configurações de idioma e arquivos de tradução carregados (arquivos MO e arquivos JSON) para cada domínio de texto.
  • Solicitações de API HTTP, com código de resposta, componente responsável e tempo gasto, com alertas para solicitações com falhas ou erros.
  • Verificações de capacidade do usuário, juntamente com o resultado e quaisquer parâmetros passados para a verificação de capacidade.
  • Informações sobre o ambiente, incluindo informações detalhadas sobre o PHP, o banco de dados, o WordPress e o servidor Web.
  • Os valores de todas as funções condicionais do WordPress, como is_single(), is_home(), etc.
  • Transientes que foram atualizados.
  • Uso do switch_to_blog() e restore_current_blog() em instalações Multisite.

Além disso:

  • Sempre que ocorre um redirecionamento, o Query Monitor adiciona um cabeçalho HTTP contendo a pilha de chamadas, para que você possa usar seu inspetor HTTP favorito ou as ferramentas de desenvolvimento do navegador para rastrear o que acionou o redirecionamento.
  • A resposta de qualquer solicitação Ajax iniciada pelo jQuery na página conterá várias informações de depuração em seus cabeçalhos. Erros de PHP também são exibidos no console do desenvolvedor do navegador.
  • A resposta de uma solicitação autenticada da API REST do WordPress conterá uma visão geral das informações de desempenho e erros de PHP em seus cabeçalhos, desde que o usuário autenticado tenha permissão para visualizar a saída do Query Monitor. Uma solicitação de API REST encapsulada incluirá ainda mais informações de depuração na propriedade qm da resposta.

Por padrão, a saída do Query Monitor é mostrada apenas para administradores em instalações de site único e super administradores em instalações multisite.

Além disso, você pode definir um cookie de autenticação que permite visualizar a saída do Query Monitor quando você não estiver conectado (ou se estiver conectado como um não administrador). Consulte o painel de Configurações para detalhes.

Outros plugins

Mantenho vários outros plugins para desenvolvedores. Confira-os:

  • O User Switching oferece alternância instantânea entre contas de usuário no WordPress.
  • O WP Crontrol permite visualizar e controlar o que está acontecendo no sistema WP-Cron

Declaração de privacidade

O Query Monitor é privado por padrão e sempre será. Ele não armazena permanentemente nenhum dos dados que coleta. Ele não envia dados a terceiros, nem inclui recursos de terceiros. A declaração de privacidade completa do Query Monitor pode ser encontrada aqui.

Declaração de acessibilidade

O Query Monitor visa ser completamente acessível a todos os seus usuários. A declaração de acessibilidade completa do Query Monitor pode ser encontrada aqui.

Imagens de tela

  • Menu de barra de ferramentas do administrador
  • Consultas agregadas ao banco de dados por componente
  • Verificações de capacidade
  • Consultas ao banco de dados
  • Ganchos e ações
  • Solicitações de API HTTP
  • Agregue consultas ao banco de dados chamando a função

FAQ

Esse plugin funciona com o PHP 8?

Sim, ele foi testado ativamente e está funcionando até o PHP 8.2.

Quem pode ver o resultado do Query Monitor?

Por padrão, a saída do Query Monitor é mostrada apenas para administradores em instalações de site único e super administradores em instalações multisite.

Além disso, você pode definir um cookie de autenticação que permite visualizar a saída do Query Monitor quando você não estiver conectado ou quando estiver conectado como um usuário que normalmente não pode ver a saída do Query Monitor. Consulte o painel de Configurações para mais detalhes.

O Query Monitor em si afeta o tempo de geração da página ou no uso de memória?

Resposta curta: Sim, mas só um pouco.

Resposta longa: O Query Monitor tem um pequeno impacto no tempo de geração da página porque se conecta a alguns recursos do WordPress da mesma forma que outros plugins. O impacto é insignificante.

Em páginas que têm um número especialmente alto de consultas ao banco de dados (na casa de centenas), o Query Monitor atualmente usa mais memória do que eu gostaria. Isso se deve à quantidade de dados que é capturada no rastreamento de pilha para cada consulta. Tenho trabalhado e continuarei trabalhando para reduzir isso continuamente.

Posso impedir que o Query Monitor colete dados durante solicitações de longa duração?

Sim, você pode chamar do_action( 'qm/cease' ) para instruir o Query Monitor a parar de operar durante o restante da geração da página. Ele se desvinculará da coleta de dados adicionais, descartará todos os dados coletados até o momento e ignorará a saída de suas informações.

Isso é útil para operações de longa duração que executam um número muito alto de consultas ao banco de dados, consomem muita memória ou não são de interesse do Query Monitor, por exemplo:

  • Fazendo backup ou restaurando seu site
  • Importação ou exportação de uma grande quantidade de dados
  • Executando varreduras de segurança

Existem plugins complementares para o Query Monitor?

Uma lista de plugins complementares para o Query Monitor pode ser encontrada aqui.

Além disso, o Query Monitor oferece suporte transparente a complementos para o plugin Debug Bar. Se você tiver algum complemento do Debug Bar instalado, desative o Debug Bar e os complementos serão mostrados no menu do Query Monitor.

Onde posso sugerir um novo recurso ou relatar um erro?

Use o rastreador de problemas no repositório GitHub do Query Monitor, pois é mais fácil acompanhar os problemas lá do que nos fóruns de suporte do wordpress.org.

O Query Monitor está disponível no Altis?

Sim, as Ferramentas de desenvolvedor Altis são construídas com base no Query Monitor.

O Query Monitor está disponível no WordPress VIP?

Sim, mas um usuário precisa receber a capacidade view_query_monitor para ver o Query Monitor, mesmo que seja um administrador. Consulte a documentação do WordPress VIP para mais detalhes.

Estou usando várias instâncias do `wpdb`. Como faço para que minhas instâncias adicionais apareçam no Query Monitor?

Esse recurso foi removido na versão 3.12, já que era raramente usado e aumentava consideravelmente a carga de manutenção do Query Monitor. Sinta-se à vontade para continuar usando a versão 3.11 se precisar usar esse recurso.

Posso clicar nos rastreamentos de pilha para abrir o arquivo em meu editor?

Sim, você pode ativar isso no painel de Configurações.

Como posso relatar um erro de segurança?

Você pode relatar erros de segurança através do Programa de Divulgação de Vulnerabilidades da Patchstack. A equipe do Patchstack ajuda a validar, fazer a triagem e lidar com todas as vulnerabilidades de segurança. Relate uma vulnerabilidade de segurança aqui.

Você aceita doações?

Estou aceitando patrocínios pelo programa GitHub Sponsors. Se você trabalha em uma agência que desenvolve com o WordPress, peça à sua empresa para patrocinar a fim de investir em sua cadeia de suprimentos. As ferramentas que mantenho provavelmente economizam tempo e dinheiro para sua empresa, e o patrocínio no GitHub agora pode ser feito em nível organizacional.

Além disso, se você gostar do plugin, adoraria que você deixasse uma avaliação. Conte a todos os seus amigos sobre ele também!

Avaliações

Leia todas as 443 avaliações

Colaboradores e desenvolvedores

“Query Monitor – O painel de ferramentas do desenvolvedor para WordPress” é um software com código aberto. As seguintes pessoas contribuíram para este plugin.

Colaboradores

“Query Monitor – O painel de ferramentas do desenvolvedor para WordPress” foi traduzido para 23 localizações. Agradecemos aos tradutores por suas contribuições.

Traduzir “Query Monitor – O painel de ferramentas do desenvolvedor para WordPress” para o seu idioma.

Interessado no desenvolvimento?

Navegue pelo código, dê uma olhada no repositório SVN ou assine o registro de desenvolvimento via RSS.

Registro de alterações

3.16.2 (22 April 2024)

  • Correção de outro problema com o carregador automático de PHP nas versões 3.16.0 e 3.16.1 que estava causando falhas em alguns sites

3.16.1 (22 April 2024)

  • Correção de um problema com o carregador automático de PHP na versão 3.16.0 que estava causando falhas em alguns sites

3.16.0 (22 April 2024)

  • Adicionado suporte total para depuração de novos recursos no WordPress 6.5: módulos JavaScript e arquivos de tradução PHP

3.15.0 (10 November 2023)

3.14.1 (21 October 2023)

  • Melhora a compatibilidade com o WordPress Playground

3.14.0 (18 October 2023)

  • Corrige o tratamento do número da porta ao exibir URLs para scripts e estilos
  • Melhora o tratamento do db.php ao ativar e desativar o Query Monitor em um único site dentro de uma rede multisite, e quando DISALLOW_FILE_MODS está em uso
  • Melhora a verificação da existência da barra de depuração
  • Identifica plugins de substituição como um componente específico em vez de “outros”
  • Simplifica parte da estrutura de dados usada ao registrar consultas
  • Especifica que o Query Monitor é compatível com versões do WordPress com até três anos de idade

3.13.1 (15 July 2023)

  • Evita um erro fatal se um alerta obsoleto for acionado no início do processo de inicialização
  • Evita um alerta do PHP que pode ser acionado durante determinadas solicitações da API HTTP quando o Curl não está em uso
  • Ignora o carregamento do QM durante o processo de atualização do plugin

3.13.0 (9 July 2023)

  • Adiciona um painel dedicado para “Fazendo errado” e uso de funcionalidade obsoleta
  • Permite que os dados no painel de solicitações da API HTTP sejam filtrados pelo nome do host
  • Adiciona uma coluna “Tipo” onde uma lista de ganchos pode mostrar tanto ações quanto filtros
  • Melhora vários aspectos da configuração do “Editor”
  • Aumenta a versão mínima suportada do PHP para 7.4
  • Muito obrigado a @crstauf pela maioria dos novos recursos desta versão

3.12.3 (17 May 2023)

  • Melhora a coleta de dados das partes do modelo do tema quando o plugin Gutenberg está em uso com um tema de bloco
  • Ignora a tentativa de resolver um modelo de bloco se o tema não suportar modelos de bloco
  • Remove o fallback para $EZSQL_ERROR para erros de consulta de banco de dados, pois não é possível determinar se o erro deve ser ignorado

3.12.2 (27 April 2023)

  • Adiciona a contagem total ao rodapé da tabela no painel de erros de PHP
  • Melhora o URL de destino para links que apontam para o editor do site
  • Implementa algumas melhorias visuais menores
  • Remove informações não confiáveis sobre o transporte para solicitações da API HTTP
  • Remove a saída do Query Monitor do modal de acesso provisório

3.12.1 (24 March 2023)

  • Corrige alguns links entre painéis que apontam para o painel e os subpainéis de Consultas
  • Muda para sessionStorage para os filtros de coluna da tabela selecionada para que eles não persistam entre abas ou sessões
  • Remove o prefixo “Barra de depuração:” nos menus para painéis herdados do plugin Debug Bar

3.12.0 (16 March 2023)

  • Esclarece e melhora as informações no painel de modelo quando um tema de bloco ou edição completa do site (FSE) está em uso
  • Evita alertas do PHP se um plugin de terceiros fizer alterações inesperadas nos caminhos dos arquivos de idioma
  • Implementa algumas pequenas melhorias de desempenho
  • Remove informações enganosas sobre os limites de memória do WordPress
  • Remove o suporte a várias instâncias do wpdb (consulte as perguntas frequentes para mais informações)

3.11.2 (23 February 2023)

  • Implementa várias melhorias de acessibilidade
  • Corrige um problema onde nem todos os scripts do rodapé da área administrativa eram exibidos no painel de scripts
  • Melhora a saída quando o recurso SQLite do plugin Performance Labs está em uso
  • Remove completamente a saída do QM do personalizador
  • Garante que wp-content/db.php de outro plugin não seja removido ao desativar o QM

3.11.1 (3 January 2023)

  • Evita um erro fatal no PHP 8 quando posix_getpwuid() ou posix_getgrgid() não retorna um valor esperado.

3.11.0 (30 December 2022)

  • Adiciona um novo painel “Multisite” que mostra o uso de switch_to_blog() e restore_current_blog() em instalações multisite
  • Melhora a saída exibida para blocos e partes de modelos quando temas de bloco ou edição completa do site estão em uso
  • Introduz novas classes QM_Data e QM_Component para tornar a coleta de dados mais estruturada e confiável
  • Aumenta a versão mínima suportada do PHP para 7.2
  • Melhora o desempenho dos ícones SVG
  • Remove a capacidade de ocultar completamente erros PHP silenciados
  • Evita alguns alertas obsoletos no PHP 8.2
  • Melhora o desempenho do carregador automático de classe PHP

3.10.1 (9 September 2022)

  • Evita o registro de entradas duplicadas para chamadas múltiplas para carregar o mesmo arquivo de tradução
  • Reduz a prioridade do controlador de volta para 9 para máxima compatibilidade com outros plugins que usam um manipulador de desligamento

3.10.0 (8 September 2022)

  • Adiciona informações sobre o idioma atual no painel Idiomas
  • Reduz a chance de que o Query Monitor se responsabilize por erros de PHP que não têm um rastreamento de pilha
  • Substitui o uso de dashicons por SVGs embutidos e remove a dependência de dashicons
  • Alterna para o carregamento automático de classe via Composer para reduzir o uso de memória
  • Altera a prioridade do controlador de desligamento de 0 para PHP_INT_MAX para garantir que o máximo de dados possível seja coletado
  • Melhora o estilo dos complementos da barra de depuração
  • Corrige algumas localizações errôneas de valores float na saída da API REST
  • Aumenta a versão mínima suportada do PHP para 5.6
  • Melhora vários outros aspectos

Earlier versions

Para acessar o registro de alterações de versões anteriores, consulte a página de versões no GitHub.