Clockwork é uma ferramenta de desenvolvimento para PHP disponível diretamente no seu navegador. Clockwork oferece uma visão do tempo de execução do seu aplicativo - incluindo dados de solicitação, métricas de desempenho, entradas de log, consultas de banco de dados, consultas de cache, comandos redis, eventos despachados, trabalhos em fila, visualizações renderizadas e muito mais - para solicitações HTTP, comandos, trabalhos em fila e testes .
Este repositório contém o componente do lado do servidor do Clockwork.
Confira no site Clockwork para obter detalhes.
Instale a biblioteca Clockwork via Composer.
composer require itsgoingd/clockwork
Parabéns, você terminou! Para habilitar mais recursos, como comandos ou criação de perfil de trabalhos de fila, publique o arquivo de configuração por meio do comando vendor:publish
Artisan.
Nota: Se você estiver usando o cache de rota do Laravel, você precisará atualizá-lo usando o comando route:cache Artisan.
Leia as instruções completas de instalação no site Clockwork.
O componente do lado do servidor Clockwork coleta e armazena dados sobre seu aplicativo.
O Clockwork só está ativo quando seu aplicativo está no modo de depuração por padrão. Você pode optar por ativar ou desativar explicitamente o Clockwork, ou até mesmo configurar o Clockwork para sempre coletar dados sem expô-los para análise posterior.
Coletamos vários dados úteis por padrão, mas você pode ativar mais recursos ou desativar recursos desnecessários no arquivo de configuração.
Alguns recursos podem permitir opções avançadas, por exemplo. para consultas de banco de dados, você pode definir um limite de consulta lento ou ativar a detecção de consultas duplicadas (N+1). Confira o arquivo de configuração para ver tudo o que o Clockwork pode fazer.
Existem diversas opções que permitem escolher para quais solicitações o Clockwork está ativo.
O modo sob demanda coletará dados somente quando o aplicativo Clockwork estiver aberto. Você pode até especificar um segredo a ser definido nas configurações do aplicativo para coletar a solicitação. Somente erros registrarão apenas solicitações que terminam com respostas 4xx e 5xx. Somente lento coletará apenas solicitações com respostas acima do limite de lentidão definido. Você também pode filtrar as solicitações coletadas e registradas por um encerramento personalizado. As solicitações pré-voo do CORS não serão coletadas por padrão.
Novidade no Clockwork 4.1, comandos artesanais, trabalhos de fila e testes agora também podem ser coletados, você precisa habilitar isso no arquivo de configuração.
Clockwork também coleta rastreamentos de pilha para dados como mensagens de log ou consultas de banco de dados. Os últimos 10 quadros do rastreamento são coletados por padrão. Você pode alterar o limite de frames ou desabilitar este recurso no arquivo de configuração.
Visite /clockwork
route para visualizar e interagir com os dados coletados.
O aplicativo mostrará todas as solicitações executadas, o que é útil quando a solicitação não é feita pelo navegador, mas por exemplo por um aplicativo móvel para o qual você está desenvolvendo uma API.
Uma extensão de ferramentas de desenvolvimento de navegador também está disponível para Chrome e Firefox:
Clockwork agora oferece a opção de mostrar informações básicas de solicitação na forma de uma barra de ferramentas em seu aplicativo.
A barra de ferramentas é totalmente renderizada no lado do cliente e requer a instalação de uma pequena biblioteca javascript.
Saiba mais no site da Clockwork.
Você pode registrar qualquer variável por meio do auxiliar clock(), desde uma string simples até um array ou objeto, até mesmo valores múltiplos:
clock (User:: first (), auth ()-> user (), $ username )
A função auxiliar clock()
retorna seu primeiro argumento, para que você possa adicionar facilmente instruções de depuração embutidas ao seu código:
User:: create ( clock ( $ request -> all ()))
Se quiser especificar um nível de log, você pode usar a chamada de formato longo:
clock ()-> info ( " User { $ username } logged in! " )
A linha do tempo fornece uma representação visual do tempo de execução do seu aplicativo.
Para adicionar um evento à linha do tempo - inicie-o com uma descrição, execute o código rastreado e finalize o evento. Uma API fluente está disponível para configurar ainda mais o evento.
// using timeline api with begin / end and fluent configuration
clock ()-> event ( ' Importing tweets ' )-> color ( ' purple ' )-> begin ();
. . .
clock ()-> event ( ' Importing tweets ' )-> end ();
Alternativamente, você pode executar o bloco de código rastreado como um fechamento. Você também pode optar por usar uma configuração baseada em array em vez da API fluente.
// using timeline api with run and array - based configuration
clock ()-> event ( ' Updating cache ' , [ ' color ' => ' green ' ])-> run ( function () {
. . .
});
Leia mais sobre os recursos disponíveis no site Clockwork.